八、 python中的数据类型——字符串

Python013

八、 python中的数据类型——字符串,第1张

字符串是由数字、字母、下划线组成的一串字符,比如 “hello, world!” ,这就是一个字符串

在python中,字符串要用引号括起来,单号号或者双引号都可以。像是 'abc' , "xyz" 都是字符串。

在python中字符串用单引号或者双引号括起来,例如 'a' , "b" ,a和b都是字符串类型,可以使用 type() 函数查看

python中还可以用三个引号表示字符串, ''' 或者 """ 都可以,它主要是用来表示跨行的字符串,例如:

执行 print(a,type(a)) ,可以看到结果

在"荒野猎人"和"2015-12-16"后面,都有'\n',只不过'\n'在shell中被打印出来了,所以看不到。

'\n'代表换行,因为有'\n'的存在,所以"2015-12-16","莱昂纳多·迪卡普里奥 / 汤姆·哈迪"和"8.2"才从下一行开始打印。

为什么有'\n'? 因为在定义a的时候,输入完“荒野猎人”后按的回车,回车在计算机语言中即为'\n'。

在两个三引号之间,单引号和双引号都可以使用。同理,在单引号之间,可以用双引号,在双引号间可以用单引号。例如:

在表示一个单引号的时候,可以使用两个双引号,也就是 "'" ,也就是上面的例子a,另一种方法是用 '\'' ,反斜杠单引号等价于一个单引号,即:

两个反斜杠\\代表一个反斜杠,因为你要打印一个反斜杠,但是反斜杠是转义的意思,因此有一个特殊的转义符 \\\\ ,它代表着一个反斜杠。

prefix还可以是元组,S.startswith(('a','b')),当S以'a'或者'b'开头时返回True。

与find相对的,还有个rfind方法。

S.rfind(sub) ->int

它与find的区别是,find是从字符串左侧开始查找,而rfind是从右侧开始查找。两者都是查找到第一个sub后就停止查找,立刻返回其索引值,没找到返回-1。

关于更多字符串的信息,可以使用 help(str) 查看。

1.字符串

特殊字符串

\n:换行

\r:删除\r前面的字符

\t:制表符

例如:

s_1 = "人生苦短,\n我选Python!"

s_2 = "人生苦短,\r我选Python!"

s_3 = "人生苦短,\t我选Python!"

print(s_1) # 人生苦短,

print(s_2) # 我选Python

print(s_3) # 人生苦短, 我选Python!

遇到特殊字符,想去掉效果,把特殊字符转成普通字符

可以使用# r R

s_1 =r "人生苦短,\n我选Python!"

s_2 =R "人生苦短,\r我选Python!"

s_3 = "人生苦短,\t我选Python!"

2.字符串取值

特点:取头不取尾,正序从0开始,倒序从-1开始

[start:end:step] #step:表示间隔

s='hello python lemon'

print(s[6:12:1]) #正序 python 6,7,8,9,10,11

print(s[-12:-6:1]) # 倒序 python -12,-11,-10,-9,-8,-7

print(s[:])#hello python lemon 从头取到尾 [:]

print(s[6:]) #python lemon 从6取到尾 [start:]

print(s[:17])# [:end] 从开始取到16

获取s所有的偶数位的字母

print(s[0:17:2])

获取s所有的奇数位的字母

print(s[1:18:2])

倒序输出所有的字母

print(s[17::-1]) # 不可以写出是s[17:-1:-1] or s[17:0:-1]

3.常用方法

find() : 返回-1表示未找到子字符串,找到会返回对应字符的索引,子字符包含单个字符或多个字符

isdigit():判断是否全部是数字,是返回True,否返回False

replace(要替换的内容:替换的内容:替换的次数):指定替换内容以及被替换的字符串,并可以指定替换次数,默认是全部替换

split(指定字符,指定切割的次数):根据指定字符对字符串进行切割,默认全部切割

strip():去掉头和尾指定的字符

upper():字符串的字母转成大写

lower():字符串的字母转成小写

swapcase():字符串的字母大小互换

例如:

s='learn python in lemon'

print(s.find('n')) #返回找到字符串的索引

print(s.find(python))#返回找到的子字符串的第一个索引值--6

print(s.find('k')) # 返回-1

print(s.find('o',11))#从索引值为11的值开始找---19

print(s.isdigit())# 返回False

s1 = "******learn python*****"

print(s.strip("*"))# learn python

文件夹之中,然后打开python编辑器来编写这个python文件的代码。在文件的顶部写上导入os模块的代码,然后创建一个无限的while循环。

2.

在循环结构之中使用变量去保存几个字符串,字符串的内容就是python xxx.py。在循环的末尾使用os模块的system()并将一