python字符串及其方法详解

引号的作用:

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()  对象:字符串  参数一:子字符串  参数二:开始位置  参数三:结束位置  返回值:整数

上一篇:asp.net mvc3.0安装失败之终极解决方案


下一篇:项目文件包含 ToolsVersion="12.0" 设置,而此版本的 MSBuild 不支持该工具版本