蓝胖子Python:Python数据类型之字符串

来源:互联网 发布:微信系统源码下载 编辑:程序博客网 时间:2024/06/10 04:39

Python数据类型之字符串

 

一.字符串

用于表示和存储文本,是不可变的序列。字符串中可用单引号、双引号、三引号表示,三引号可用跨行。

常见的转义字符:

\n  换行符       \t  制表符        \r  回车

\\  表示'\'       \'  表示单引号        \"  表示双引号

 

原始字符串:

“\"表示转义字符,比如路径”c:\notice your \nect",编译器会把\n认为是换行符

因为可以在字符串前面加入" R"或"r",r" c:\notice your \nect" 中,"\"不表示转义字符,但是路径的结尾不能是"\"

>>> path= r'c:\learn\'

SyntaxError: EOLwhile scanning string literal

 

 

2.字符串的常用操作:

>>> a ="hello,World"

>>>a.capitalize()   #把字符串变成第一个字母大写,其余全部小写

'Hello,world'

>>>a.title()    #将字符串中的首字母大写

'Hello,World'

>>>a.istitle()  #判断字符串首字母是否为大写

False

>>>a.swapcase()    #将字符串中的大写变成小写,小写变成大写

'HELLO,wORLD'

>>>a.upper()      #将字符串中所有的字母变成大写 

'HELLO,WORLD'

>>>a.lowwer()    #将字符串中所有的字母变成小写

>>>a.count('l')    #统计字符串“a”中字符“l”的个数

3

>>>a.find("l")    #字符串a 中寻找第一次出现“l”的索引

2

>>>a.join("@@@")    #用字符串a 把后面的字符串中的每个字符连接起来

'@hello,World@hello,World@'

>>>a.split(',')     #使用“,”来分割字符串中的单词,如果没有参数,默认是空格

['hello', 'World']

>>>len(a)     #求字符串的长度

11

>>> a +"! honey"

'hello,World!honey'

>>> a*3

'hello,Worldhello,Worldhello,World'

 

string.split(  [sep  [,maxsplit]] )

此函数将字符串以指定的字符分割,如果不指定字符,默认以空格分割字符串

sep : 可选参数,指定分割的字符,None 表示以空格分割

maxsplit : 可选参数 ,分割次数  0表示分割次数为0  既不分割

注意:分割符必须是字符串中已经有的字符 ,空白也算哦

>>> b ="l love python"

>>>b.split()

['l', 'love','python']

>>>b.split("o")

['l l', 've pyth','n']

>>>b.split('o',0)

['l love python']

>>>b.split(None,0)

['l love python']

>>> b.split(None,1)

['l', 'lovepython']

 

三、索引和分片

 

字符串是不可变的列表,里面的每个字符都有对应的索引,用[ ]来访问字符串中指定位置的字符

>>> strl= "beautiful"

>>>strl[2]

'a'

>>>strl[-1]

'l'

>>>strl[1:4]

'eau'

>>>strl[1:4:2]   #步进为2,也就是索引为1,3

'eu'

>>>strl[:-1]    #切片,如果没写出来 默认是第一个开始或者到最后一个结尾

'beautifu'

>>>strl[1:-1]  #最后一个字符是-1,倒数第二个是-2。。。。

'eautifu'

 

四、格式化输出

 

在字符串中使用包含"%"的字符串,然后在脚本中改变字符串的内容

%c : 单个字符

%d : 十进制整数

%o : 八进制整数

%x : 十六进制整数,其中字母小写

%X:十六进制整数,其中字母大写

>>> s ="a %s day!"

>>> prints %'wonderful'

a wonderful day!

>>> '11%c 1 %c %d' %('+','=',12)

'11 + 1 = 12'

>>> 'b =%x' %0xA

'b = a'

>>> 'b =%X' %0Xa

'b = A'

五、字符串和数字的转换

string模块的string.atoi()可以将字符串转换为整数

string.atoi ( s [ ,base ] )

s : 进行转换的字符串

base : 可选参数,表示将字符转换成的进制类型,默认是十进制  

>>>import string

>>>string.atoi('12',10)  #把字符串中的数字 认为是参数中的进制

12

>>>string.atoi('12',16)

18

 

0 0
原创粉丝点击