引号的作用:
python可以用单引号或者双引号表示字符串,用引号来区分数字和字符串
"1024"和1024和"1'02'4": 1,加引号的1024是字符串str,可使用str相关的操作;不加引号的1024表示整数或浮点数,可进行整数或浮点数的运算。 2,int(str)会把字符串强制转换成整数(如果str中有字母或者其它字符,会报错),str(int)会强制转换成字符串 3,单引号和双引号没有区别,都是表示字符串,如果在字符串中表示引号,可以用不同的引号区别,也可以用转义\'
三引号表示多行字符串,python中用\多行表示一行字符串:
"Welcome! This is the documentation for Python 3.5.0, \
last updated Sep 13, 2015. "
'''
Welcome! This is the documentation for Python 3.5.0,
last updated Sep 13, 2015.
'''
python数据类型
python有两种数据类型:字符串和非字符串
非字符串:整数int,浮点数float,复数complex-----在python2.x有长整型long
浮点数的科学计数法
13000000可表示1.3*10^7---1.3E7,0.00000013可表示1.3*10^-7----1.3E-7
字符串又有两种类型:
字符串str和字节bytes
字节
bytes:将普通的字符串转换成字节,如果遇到汉字需要编码成字节
>>> bytes("hello world,你好",encoding="utf-8") b'hello world,\xe4\xbd\xa0\xe5\xa5\xbd'
>>> "hello world,你好".encode()
b'hello world,\xe4\xbd\xa0\xe5\xa5\xbd'
str:可以将字节解码成汉字
>>> str(b"hello world,\xe4\xbd\xa0\xe5\xa5\xbd",encoding="utf-8") 'hello world,你好' >>> b"hello world,\xe4\xbd\xa0\xe5\xa5\xbd".decode() 'hello world,你好'
关于编码的内容在python官方文档的The python standard library -> binary data services -> Encodings and Unicode
字符串
首先来一段字符串的基本操作
str1="my little pony" str2="friendship is magic" str3=str1+","+str2 #字符串普通的加法==> str1+=","+str2 #通过这句话可得出==> +=的优先级大于+ print("str3=%s\nstr2=%s"%(str3,str1)) 得出: ---my little pony,friendship is magic #我的小马驹,友谊是魔法
字符串切割:
print(str2[0])
print(str2[5])
print(str2[2:7])
print(str2[2:])
print(str2[:7])
print(str2[:])
字符串也能像切割列表那样,python中基本遇到start:end:step这种,start要算进去,end不用算进去。顾头不顾尾
字符串的常用方法:
,合并,查找,插入,替换,取字符串长度,分割等。。。
取字符串长度
print(len(str1))
upper(),lower()
str3=str1.upper() print(str3)
---MY LITTLE PONY,FRIENDSHIP IS MAGIC str1=str3.lower() print(str1)
---my little pony,friendship is magic
capilalize(),swapcase(),casefold()
str3=str1.capitalize() print(str3) #头一个字母大写,其他字母都小写 ---My little pony,friendship is magic str1=str3.swapcase() print(str1) #大写改成小写,小写改成大写 ---mY LITTLE PONY,FRIENDSHIP IS MAGIC str3=str1.casefold() print(str3) #头一个字母小写,其他全是小写 ---my little pony,friendship is magic
字符串的分割和合并
分割:split() 对象:字符串 参数一:分隔符 参数二:分割几次(默认全部分割) 返回类型:列表
合并:join() 对象:分割符 参数一:列表元祖等
#为了美观我想把,转换成空格 str1=str1.replace(',',' ') #str1以空格为分隔符 li1=str1.split(" ") print(li1)
---['my', 'little', 'pony', 'friendship', 'is', 'magic']
#恢复成之前的状态 str3=' '.join(li1) print(str3)
---my little pony friendship is magic
分割二:partition() 对象:字符串 参数一:中间的字符串 返回类型:元祖
#以pony为分割点,分割成三段 str3=str1.partition("pony") print(str3) #---('my little ', 'pony', ',friendship is magic')
分割三(多行分割):splitline() 参数一:是否打印换行符 返回类型:列表
str1='''my little pony friendship is magic rainbow pony through time ''' li1=str1.splitlines() #---['my little pony', 'friendship is magic', 'rainbow pony through time']
查找字符串,返回字符串开始的下标
一:index() 对象:母字符串 参数一:子字符串 参数二:查找开始的位置 参数三:查找结束的位置
二:find() 对象:母字符串 参数一:子字符串 参数二:查找开始的位置 参数三:查找结束的位置
#index的用法和局限 print(str1.index("pony")) #默认从第零个开始找
---10 print(str1.index("pony",11)) #从第11个开始找
---43 print(str1.index("pony",44,50)) #从第44个开始找到第50个,没有就会出错
#find的用法 print(str1.find("pony")) 10 print(str1.find("pony",11)) 43 print(str1.find("pony",44,50)) #-1表示找不到,不会报错 -1
替换:replace() 对象:字符串 参数一:旧的子字符串 参数二:新的子字符串 参数三:替换几次(默认所有)
字符居中显示:center() 对象:字符串 参数一:指定字符串加符号一共多少个字符 参数二:剩余的地方填充符号
print("kira".center(15,'★')) ★★★★★★kira★★★★★
字符编码:encode()
判断字符串:
开头:startswith() 对象:字符串 参数一:开头的字符串 参数二:开始位置 参数三:结束位置 返回值:布尔
结尾:endswith() 对象:字符串 参数一:结尾的字符串 参数二:开始位置 参数三:结束位置 返回值:布尔
计数子字符串出现的次数:count() 对象:字符串 参数一:子字符串 参数二:开始位置 参数三:结束位置 返回值:整数