day4 字符串
一.获取字符
1.获取单个字符
字符串中每一个字符都会对应一个唯一的索引(下标)用来表示字符在字符串中的位置
索引从0开始,0对应的第一个字符;可以是从-1开始依次减小,-1代表最后一个字符(-1到-字符串长度)
a.语法:
方法一:str[i] -获取字符串中指定下标对应的字符
b:
str-只要结果是字符串的表达式都可以,例如:字符串字面量,字符串变量
注意:字符串的下标不能越界
2.获取1部分字符(字符串切片)
a.语法:
str[开始下标:结束下标:步长]
规则:从开始下标开始,获取到借宿下标前为止。每次下标值加上步长!
b.说明:
开始下标、结束下标——下标值 (这儿的下标可以越界)
步长 要求必须是整数(正数和负数都行,如果步长是正数,是从开始下标开始从前往后获取
如果步长为负数,是从开始下标开始从后往前获取)
c.注意:
当步长为正时,要求开始下标对应的字符的位置必须在结束下标对应的位置前面,否则结果是空串!
当步长为负时,要求开始下标对应的字符的位置必须在结束下标对应的位置后面,否则结果是空串!
str1='好好学习,天天向上!
print('结果:',str1[0:-1:2])
注意:1.不管怎么取,结束下标一定取不到
2.下标可以越界
练习:获取一个字符串中所有下标是奇数的字符(顺序)
str2='qwertyuiop'
print('所有的奇数下标为:',str2[1:len(str2)+1:2])
2.1 省略步长:
字符串[开始下标:结束下标] -步长是1,从开始下标开始到结束下标前为止,一个一个的取
2.2 方法三 省略开始下标和结束下标:
省略开始下标:str[:结束下标:步长]-当步长是正数,从字符串的第一个字符开始取到结束下标前为止;
当步长是负数,从字符串的最后一个字符开始取到结束下标前为止;
省略结束下标:str[开始下标::步长] -当步长为正数,从开始下标开始取到字符串最后一个字符为止;
-当步长为正数,从开始下标开始取到字符串第一个字符为止;
字符串倒序:
print(str2[::-1])
二、字符串的运算
1.字符串支持的运算符:+、*、>、<......(所有的比较运算符)
+:字符串1+字符串2 -将字符串1和2拼接在一起产生一个新的字符串
注意:字符串和数字不能混合相加!
乘法:字符串乘N -N是正整数 表示把N个字符串相加,产生一个新的字符串
比较是否相等 ==、!=
字符比较大小:从第一个字符开始依次往后找,找到第一个不相等的字符串,判断谁的编码值大,对应字符串就大;不再往后比较
应用:a.判断第三个字符是否是字母
str1='1214hjas12'
print('a'<=str1[3]<='z' or 'A'<=str1[3]<='Z')
print('是否中文:','\u4e00'<=str1[3]<='\u9fa5')
字符串1 in 字符串2 ——>判断字符串1是否在字符串2中
字符串1 not in 字符串2 ——>判断字符串1是否不在字符串2中
2.len函数
len(序列) -获取序列长度,获取序列中元素的个数
len(字符串) -获取字符串的长度(字符的个数) --结果是一个整数
注意:一个可以转义字符的长度是1,一个编码字符的长度是1,一个空格的长度是1,一个tab键默认是4
一个tab键和\t实现的效果一样,但是所占的长度不一样
三、格式字符串
1.定义:在字符串中通过占位符来代替字符串中变化的部分,然后在后面通过数据或者变量确定变化
语法:包含占位符的字符串%(值1,值2,值3)
2.说明:
占位符 -%s(字符串)
%d(整数)
%f(小数) (%.Nf 保留小数后N位小数)
%c (字符)
%——固定写法
()--固定写法,字符串中只有一个占位符的时候,这个时候()可以省略
括号中的值-值和占位符要一一对应(个数、类型、位置都要对应)
name=input()
age=input()
sex=input()
mesage='我叫%s,今年%d,性别:%s,月薪%.2f万'%(name,age,sex,1.2)
print(mesage)
str1=input('请输入一个字符串:')
num=len(str1)
last_str1=str1[len(str1)-1]
mss='%s的长度是%d,最后一个字符是%s'%(str1,num,last_str1)
print(mss)
print('%s的长度是%d,最后一个字符是%s'%(str1,num,last_str1))
四、类型转换
1.基本语法
语法:类型名(数据) -将指定数据转换成指定类型
说明:类型名-Python支持的,或者自定的类型都可以
数据 -需要转换的类型(类型不同要求可能不一样)
2.转换实例
a.int(数据)——>将其他数据转换成整型
a=int(12.3) 所有的浮点数可以转换成整数,直接保留整数部分
b=int(False) bool转换为整数
c=int('123') 只有去掉字符串的引号后本身就是一个整数的字符串才能转换
b.转换成浮点型
a=float(100) 将整数转换成浮点数,在后面加.0
b=float(True) 转换为1
c=float('12.3') 只有去掉字符串的引号后本身就是一个浮点数的字符串才能转换
c.转换成bool类型 Python中所有的数据都可以转换成布尔
所有为空为0的值会转换为False,其他全部为True
d.转换成字符串类型
Python中所有的数据都可以转换成字符串,而且转换的时候就是单纯的在最外面加''
num1=float(input('请输入第一个数字:'))
num2=float(input('请输入第二个数字:'))
num3=float(input('请输入第三个数字:'))
print('三个数之和为:',num1+num2+num3)
上一篇: Android handler详解
下一篇: [Android] Handler详解