Day4
一、 获取字符
1、 获取单个字符
字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符在字符串中的位置。
下标是从0开始一次增加, 0对应的是一个字符;也可以从-1开始一次减少,-1代表最后一个字符。
a. 获取单个字符的语法:
字符串[下标(索引)] = 获取字符串中指定下标对应的字符。
b. 说明:
字符串 - 符合字符串定义的都行。
[] - 固定写法
下标 - 需要获取的字符对应的下标。下标不能越界。
qw = 'python'
print(qw[0],qw[-1])
#p n
2、 获取部分字符(字符串切片)
方法一
a. 语法:
字符串[开始下标:结束下标:步长] - 从开始下标开始,获取到结束下标前为止。
每次下标值加上步长去获取下一个。
b. 说明:
字符串 - 只要符合字符串定义即可
[] - 固定写法
开始下标、结束下标 - 下标值(此处的下标可越界)
步长 - 必须是整数。如果步长是正,就是从开始下标从前往后获取;
如果是负,就是从开始下标从后往前获取。
c. 注意:
当步长为正,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的前面,否则结果是空串
当步长为负,要求开始下标对应的字符的位置必须在结束下标对应的字符的位置的后面,否则结果是空串
qw = 'one world one dreeam'
print(qw[0:6:2], qw[-1:0:-2])
#获取字符串中所有下标是奇数的字符
print(qw[1:100:2])
#oew mer n lo n
#n ol n rem
字符串[开始下标:结束下标] - 步长默认为1
方法三:
字符串[::] 当步长为正,开始下标默认为从字符串第一个开始;
当步长为负,开始下标默认为从字符串最后一个开始
结束下标同上。
qw = '1234556'
print(qw[0:2], qw[1:], qw[:3], qw[::-1])
#12 234556 123 6554321
二、字符串相关运算
1、 字符串支持的运算符
数学运算符“+”和“ * ”,所有比较运算符
“+”是加将两个字符串拼接在一起,字符串不能和数字混合相加
“*”字符串和数字相乘,将字符串进行重复,产生一个新的字符串
“==”,“!=” 判断两个字符串是否相等
比较大小,是从第一个字符开始依次比较字符的编码大小,直到比出大小。
q = '1'
w = '2'
e = 2
print(q+w, q*e, q == q, q != w, q < w)
#12 11 True True True
判断一个字符串中第三个否是字母
qw = '12e'
print('a' <= qw[2] <= 'z' or 'A' <= qw[2] <= 'Z')
#True
2、 in 和 not in 操作
字符串1 in 字符串2 --- 判断字符串2是否包含字符串1
字符串1 not in 字符串2 --- 判断字符串2是否不包含字符串1
print('ab' in 'abc', 'ab' in 'a b')
print('ab' not in 'abc', 'ab' not in 'a b')
#True False
#False True
3、 len函数
len(序列) - 获取序列长度,获取序列中元素的个数
len(字符串) - 获取字符串长度,获取字符串中字符的个数
注意:
一个可以转义的的转义字符的长度是1
一个编码字符的长度是1
一个空格字符的长度是1
一个TAB键长度的长度是4
一个\t的长度是1
print(len('123'))
print(len(' 123'))
print(len('\t123'))
#3
#7
#4
三、格式字符串
1、 什么是格式字符串:
在字符串中通过格式占位符来代替字符串中变化的部分
语法:
包含占位符的字符串% - (每个占位符对应的值1,值2……),值与占位符有关
说明:
占位符 - %s 字符串, %d 整数, %f 小数, %c 字符
% - 固定写法
() - 固定写法,字符串中只有一个占位符的时候,就可以省略
括号中的值 - 值和占位符要一一对应,个数、类型、位置都要对应
name = input('姓名:')
age = int(input('年龄:'))
qw = '你好:' + name
print(qw)
qw = '你好%d岁的%s' % (age, name)
print(qw)
#将输入的字符串的相关信息:xxx的字符长度是x,最后一个字符是xx
c = name[-1]
print('%s的字符长度是:%d,最后一个字符是:%c' % (name, len(name), c))
#姓名:小明
#年龄:12
#你好:小明
#你好12岁的小明
#小明的字符长度是:2,最后一个字符是:明
四、类型转换
语法:
类型名(数据) - 将指定数据转换成指定类型
说明:
类型名 - 任何python支持的或者自定义的
数据 - 需要转换的对象(类型不同要求不一样)
a = int(12.92)
b = int(False)
c = int('12')
print(a, b, c)
#12 0 12
c = int('12.0') 这个就不能转换,要去掉引号之后本身是一个整型就能转换
a = float(12)
b = float(False)
c = float('12.0') # 去掉引号后本身就是一个数字,就可以转换
print(a, b, c)
#12.0 0.0 12.0
python中所有的数据都可以转换成布尔类型
所有为空为0的值都会被转换成False,其余都是True
数字转换成布尔类型,除了0以外都是True
字符串转换成布尔型,除了空以外都是True
a = bool(0)
b = bool(0.0)
c = bool('')
d = bool([])
e = bool(None)
print(a, b, c, d, e)
#False False False False False
所有的数据都可以转换成字符串,转换的结果仅仅是在原数据加上引号
a = str(100)
b = str([123])
print(a, b)
#100 [123]
输入三个数字,求这三个数字的和
a = float(input('请输入数字:'))
b = float(input('请输入数字:'))
c = float(input('请输入数字:'))
print('三个数字的和是:', a+b+c)
#请输入数字:1
#请输入数字:2
#请输入数字:3
#三个数字的和是: 6.0
网友评论