字符串
数据类型-字符串
字符串是一个有序的字符的集合,用户存储和表示基本的文本信息,单引号,双引号,三对单引号,三对双引号中间包含的内容称之为字符串
单双引号没有区别,一段话的时候用多引号
字符串的拼接需要双方都是字符串
特性:
1、有序
2、不可变
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
字符串的基本用法一一合并,python中不同的数据类型是不能够进行合并的
字符串的常用方法:
s.isdigit() 判断是否是整数
s.capitalize() 首字母大写
s.casefold() 大写全部变小写
s.center(50,"-") 输出 '---------------------Alex Li----------------------'
s.count('a') 统计'a'出现次数
s.encode() 将字符串编码成bytes格式
s.endswith("Li") 判断字符串是否以 Li结尾
"Alex\tLi".expandtabs(10) 输出'Alex Li',将\t转换成多长的空格 说
s.find('A',-1) 查找A,找到返回其索引,找不到返回-1
s.index('a') 返回a所在字符串的索引
'9aA'.isalnum() 当字符串为字母数字(最少有一个字符)时为真
s.swapcase 大小写互换
s.istitle 检查字符串是否是title格式
s.isidentifier() 检测一段字符串可否被当作标志符,即是否符合变量命名规则
replace
电话号码部分隐藏
>>> phone_num = '13397082118'
>>> hiding_num = phone_num.replace(phone_num[3:7],'*'*4)
>>> hiding_num
'133****2118'
字符串拆分成列表
split
>>> s = "hello world"
>>> s.split()
['hello', 'world']
>>> s.split('o',1)
['hell', ' world']
#列表等可迭代对象中的单独字符串合并成字符串
join
>>> ' '.join(['hello','world'])
'hello world'
>>> s.ljust(40,"-")
'Hello world-----------------------------'
>>> s.rjust(40,"-")
'-----------------------------Hello world'
字符串的格式化输出
format :
>>> s = "my name is {}, and age is {}"
>>> s.format("martin",25)
'my name is martin, and age is 25'
>>> s = "my name is {name}, and age is {age}"
>>> s.format(name="martin",age=25)
'my name is martin, and age is 25'
format_map :
>>> s.format_map({'name':'martin','age':25})
'my name is martin, and age is 25''9'
name = input("Name:")
age = int(input("Age:"))
job = input("Job:")
home_town = input("Home town:")
info = """
---------- info of %s --------------
Name: %s
Age: %d
Job: %s
Home town: %s
------------- end ------------------
""" % (name,name,age,job,home_town)
# %s是占位符,s代表字符串
# %d代表整数
# %f代表浮点数
# 最后的%是连接符
print(info)
#将两个字符串合成一个字典,形成映射关系,可用来加密
maketrans
>>> intab = "aeiou" #This is the string having actual characters.
>>> outtab = "12345" #This is the string having corresponding mapping character
>>> trantab = str.maketrans(intab, outtab)
>>>
>>> str = "this is string example....wow!!!"
>>> str.translate(trantab)
'th3s 3s str3ng 2x1mpl2....w4w!!!'
字符串的分片与索引
字符串可以通过 string[x] 的方式进行索引、分片,也就是加一个 [] 。字符串的分片(slice)实际上可以看作是从字符串中找出来你要截取的东西,复制出来一小段你要的长度,储存在另一个地方,而不会对字符串这个源文件改动。分片获得的每个字符串可以看作是原字符串的一个副本