已经学习过的数据类型包括:int、float、list、tuple、dict。这篇来单独记录下字符串。单独将字符串这种数据类型写出来,是因为python里有很多非常有用的字符串内置方法。

一、字符串定义

字符串可以存任意类型的字符串,比如名字,一句话等等。

1 name = 'Rebecca'
2 msg = 'Fighting'

二、字符串内置方法

1.常用方法

输出为字符串的方法

a = 'my name is Rebecca'
print(a.capitalize()) #将字符串的第一个字母变成大写,其他字母变小写
print(a.center(50,'='))#除去字符串a的个数后,用=补齐50个字符,把a放中间
print(a.count('c'))#统计字符串出现的次数
print(a.find('e')) #找第一个e的下标,如果元素找不到的话,返回-1
print(a.index('e'))#找第一个e的下标,如果元素找不到的话,会报错
print(a.replace('my','My'))#替换字符串,被替换的写在前面
print(a.lower()) #变成小写
print(a.upper()) #变成大写
b = 'a\tb\tc'
print(b,b.expandtabs(2))#把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8
#a    b    c a b c
c = '  a  b  c \n'
print(c.strip()) #默认去掉两边边的空格和换行
print(c.lstrip()) #默认去掉左边的空格和换行
print(c.rstrip()) #默认去掉右边的空格和换行
print('aa name aa'.strip('aa'))#如果strip方法指定一个值的话,那么会去掉字符串头尾的指定值 

输出为布尔值的方法

print('Pyhthon'.endswith('n')) #是否以x结尾  (True)
print('Pyhthon'.startswith('P'))#是否以x开始  (True),找以test为开头的测试用例
print('Pyhthon'.isalpha()) #是否全都是汉字或者字母  (True)
print('Pyhthon123'.isalnum()) #是否包含数字和字母,它是只要有字母或者有数字就返回true  (True)
print('123'.isdigit()) #是否是数字  (True)
print('#aa'.isidentifier()) #是否是一个合法的变量名 (False)
print('aa'.islower()) #是否是小写字母  (True)
print('AA'.isupper()) #是否是大写字母  (True)
print('1Hello'.istitle()) #是不是一个标题,判断首字母是否大写 (True)

2.join()拼接字符串

   (1) 为什么需要join方法:list强制转化为字符串后,变为‘list’,而不是将list里的元素拼接

s = 'abc'
print(list(s)) #list(a)=['a', 'b', 'c']
#string强制转化为list,将字符串中的每一个字符做为列表的元素
list = ['a','b','c','d']
slist = str(list) # sl="['a', 'b', 'c', 'd']"
# list强制转化为字符串后,变为‘list’,而不是将list里的元素拼接

   (2) 它把一个list(tuple,dict)变成了字符串 

list = ['a','b','c','d']
print(''.join(list)) #用空链接字符串,abcd 

   (2) 通过某个字符串把list里面的每个字符串元素连接起来 

list = ['a','b','c','d']
print('*'.join(list))#用*字符串,a*b*c*d 

   (3) 只要是可循环的,join都可以帮你连接起来(字符串、列表、元组、字典)

        列表、元组、字典中的元素必须是字符串 

import string
print(string.ascii_lowercase)#所有小写字母
print(string.ascii_uppercase)#所有大写字母
print(string.digits)#所有数字
print(string.ascii_letters)#所有大写字母和小写字母
print(string.punctuation)#所有的特殊字符
print(','.join(string.ascii_lowercase))#只要join里的参数可循环都能帮着连接起来
t = ('1','2','3') #只能用于连接字符串元素
print(''.join(t)) 

3.split()切割字符串

只能分割字符串,返回的是list

names = 'Lily,Rebecca,Kate'
print(names.split(',')) #根据某个字符,分割字符串,返回list['Lily', 'Rebecca', 'Kate']
print(names.split('K')) #以x分割,x就没有了,返回['Lily,Rebecca,', 'ate']
print(names.split())#什么也不传的话,是以空格分割的
#这里没有空格,返回的是一个元素的list ['Lily,Rebecca,Kate']

4.format()格式字符串

score = 93.2543
print('成绩是{:.2f}'.format(score)) #输出浮点数保留小数点后两位
name = 'Lily'
addr = '北京'
print('{who}住在{where}'.format(where=addr,who=name))
print('{}住在{}'.format(name,addr)) #若{}为空时,format后面的变量需要依次排序
posted on 2018-04-10 18:48  忻冉然  阅读(307)  评论(0编辑  收藏  举报