2019-04-22_day6_字符串_总结

1.什么是字符串(str)

字符串是容器型数据类型(序列),不可变,有序

不可变 - 不支持增删改;有序 - 支持下表操作

容器型数据类型即能保存多个值的数据类型

python中的字符串是用单引号或者双引号引起来的字符级;引号里面的基本单元叫字符

str1 = ‘hello’

2.字符

python中只有字符概念,没有字符类型

str2 = ‘a' 字符串类型

1)普通字符:数字、字母、中文、普通符号(标点符号,计算机键盘上的符号)等

2)转义字符:

在特定的符号前加\来表示特殊功能或者特殊意义的字符:

\n - 换行

引号前加\表示引号本身不是字符串开头或结尾的标志, ' - 单引号字符, " - 双引号本身

\ - 反斜杠本身(让一个反斜杠失去转义的功能)

\t - 制表符

阻止转义:

在字符串的最前面加r/R,能阻止字符串中所有的转义字符转义

3)编码字符:在字符串中用\u四位的十六进制数来表示一个字符

\u字符编码值得16进制数

字符编码:

计算机本身只有直接存储数字的能力(村数字的二进制的补码),为了能够存储数字以外的符号,开发人员给每个字符对应一个固定的数字用来对字符进行存储。每个字符对应的固定的数字就是字符的编码值。每个字符和数字的一一对应关系就是字符编码表,常见的编码表:ACSII编码表,Unicode编码表

Unicode编码表采用2个字节对字符进行编码,包含了ASCII编码表

chr函数:chr(编码值) - 获取编码值对应的字符

ord函数:ord(字符) - 获取指定字符对应的编码

注意: 字符串切片的结果都是字符串
如果步长是正数,那么开始下标对应字符要在结束下标对应的字符的前面,才能取到值;
如果步长是负数,那么开始下标对应的字符要在结束下标对应的字符后面,才能取到值
切片的时候下标可以越界
'''
str2 = "abc+123"
print(str2[0:3:2])
print(str2[-1:1:-2])
print(str2[-100:100:2])
'''
1、省略步长
语法: 字符串[开始下标:结束下标] <==> 字符串[开始下标:结束下标:1]
'''
str3 = "hello world"
print(str3[3:-2])
'''

  1. 省略开始下标 - 步长为正从字符串开头往后获取;步长为负从字符串最后往前获取
    语法: 字符串[:结束下标:步长]、字符串[:结束下标]
    '''
    print(str3[:5]) #hello
    print(str3[:5:-1]) #dlrow
    '''
    3.省略结束下标 - 步长为证,取到字符串最后一个字符为止;步长为负取到第一个字符为止
    语法: 字符串[:结束下标:步长]、字符串[开始下标:]
    '''
    print(str3[1:]) #ello world
    print(str3[1::-1]) #eh
    print(str3[::-1]) #倒序 dlrow olleh
    '''
    4.遍历字符串 - 将字符串中的字符一个一个的取出来
    for 变量 in 字符串:
    循环体
    '''
    for i in str3:
    print(i)

倒序遍历

for i in range(-1, -12, -1):
print(str3[i])

联系:统计输入的字符串中,字母’a'出现的次数

str_4 = input("str:")
count = 0
for i in str_4:
if i == 'a':
count += 1
print(count)

字符串的相关操作:

1.字符串的运算:

数学运算符:+, *

字符串1 + 字符串2: 两个字符串相加 -> 将两个字符串拼接产生一个新的字符串

str1 = 'abc' + 'hello' # 字符串拼接
print(str1) # abc123

字符串正整数 / 正整数字符串: 字符串重复制定次数产生一个新的字符串

str2 = 'abc' * 3
print(str2)

2) 比较运算:>, <, >=, <=, ==,!=

针对两个字符串进行比较

字符串比较大小:从前往后逐个比,找出第一对不相等的字符,看它们的编码值谁大,哪个字符串就大

print('bbz' > 'abaa')# True
'''
应用:
判断一个字符是否是小写字母:'a' <= char <= 'z'
判断一个字符是否是大写字母:'A' <= char <= 'Z'
判断一个字符是否是字母字符:'a' <= char <= 'z' or 'A' <= char <= 'Z'
判断一个字符是否是数字字符:'0' <= char <= '9'
判断一个字符是否是中文(4e00-9fa5):'\u4e00' <= char <= '\u9fa5'
'''

统计一个字符串中大写字母的个数

str3 = "How Are You"
count = 0
for i in str3:
if 'A' <= i <= 'Z':
count += 1
print(count)

赋值运算: =,+=, *=

2. in 和 not in

字符串1 in 字符串2 - 判断字符串2中是否包含字符串1

print('abc' in '123abc') #True
print('abc' in '123ab1c') #False
print('A' in 'hell A') #True
print('A' not in 'hell A') #Flase

3. len()

len(字符串) - 获取字符串长度(字符串中字符的个数)

4.str

str(数据)- 将其他类型数据转换成字符串

所有类型的数据都可以转换成字符串

5.格式字符串:在字符串中用格式占位符代替字符串中变化的部分,然后再使用数据对变化的部分进行赋值

'''
语法: 包含格式占位符的字符串 %(数据1,数据2,...)
注意:数据的个数和类型要和前面字符串中格式占位符的个数和类型保持一致
格式占位符:
%s - 字符串
%d - 整数
%.Nf - 浮点数(N控制小数点后小数的位数)
%c - 字符
'''
name = input("请输入姓名:")
age = int(input('请输入年龄:'))
money = 3.5
B ='B'
message = "我是%s,今年%d岁,薪资:%.2fK,等级:%c"%(name,age,money,B)# 类型一一对应
print(message)

字符的对象方法

字符串.函数名()

1. 字符串.capitalize() - 将字符串中的第一个字符转换成大写字母

str1 = 'abc'
print(str1.capitalize())

2.设置对齐方式

'''
字符串.center(width, fillchar) - 让字符串在新字符串中居中,width控制新子串的宽度,fillchar是填充字符
字符串.ljust(width, fillchar) - 让字符串在新字符串中靠左,width控制新子串的宽度,fillchar是填充字符
字符串.rjust(width, fillchar) - 让字符串在新字符串中靠右,width控制新子串的宽度,fillchar是填充字符
'''
str2 = 'abc'
print(str2.center(7,'+'))
print(str2.ljust(7,'+'))
print(str2.rjust(7,'+'))
num = 5
print(str(num).rjust(3,'0'))
print(str(num).zfill(3))# 左侧填充0字符串长度为3

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341