字符串
字符串就是一系列字符。在 Python 语言中处理文本数据是使用 str 对象,也称为字符串。 字符串是由 Unicode 码位构成的不可变序列。
简而言之,用引号括起来的都是字符串,其中引号可以是单引号也可以是双引号;
- 单引号中可包含双引号,反之亦可。
- 用单引号时注意撇号的使用。
- 三重引号: ‘’‘字符串’‘’, “”“字符串”"可跨多行
对于单个字符的编码,Python提供了
- ord()函数获取字符的整数表示,
- chr()函数把编码转换为对应的字符
字符串的常用方法
修改字符串大小写
-
str.title()
返回原字符串的标题版本,其中每个单词第一个字母为大写,其余字母为小写。 -
str.upper()
字符串转为大写 -
str.lower()
字符串转为小写 -
str.capitalize()
返回原字符串的副本,其首个字符大写,其余为小写。 -
str.casefold()
返回原字符串消除大小写的副本。 消除大小写的字符串可用于忽略大小写的匹配。
其他
-
str.center(width[, fillchar])
返回长度为 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充两边的空位(默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本。 -
str.count(sub[, start[, end]])
返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数。 可选参数 start 与 end 会被解读为切片表示法。 -
str.encode(encoding=“utf-8”, errors=“strict”)
返回原字符串编码为字节串对象的版本。
- str.endswith(suffix[, start[, end]])
如果字符串以指定的 suffix 结束返回 True,否则返回 False。 suffix 也可以为由多个供查找的后缀构成的元组。
- str.find(sub[, start[, end]])
返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1。
- str.format(*args, **kwargs)
执行字符串格式化操作。
- str.isalnum()
如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True , 否则返回 False 。
- str.isalpha()
如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ,否则返回 False 。
- str.isascii()
如果字符串为空或字符串中的所有字符都是 ASCII ,返回 True ,否则返回 False
- str.isdecimal()
如果字符串中的所有字符都是十进制字符且该字符串至少有一个字符,则返回 True , 否则返回 False 。
- str.isdigit()
如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True ,否则返回 False 。
- str.replace(old, new[, count])
返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现。
- str.split(sep=None, maxsplit=-1)
返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有 maxsplit+1 个元素)。 如果 maxsplit 未指定或为 -1,则不限制拆分次数(进行所有可能的拆分)。
- str.strip([chars])
返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。
字符串的拼接
一般情况下,合并字符串我们使用“+”来拼接
str_1="hello"
str_2="world"
full_str=str_1 + " " + str_2
添加空白
在输出时,为使字符串易读,我们常使用空格、制表符\t和换行符\n。
print("\tpython")
print("languages:\nPython\nC\nJava")
删除空白
在编程时,常需要去除字符串中的多余空格,一般可以使用方法strip来处理:str.strip()
str_p=' python '
str_p.rstrip() #删除右端空格
str_p.lstrip() #删除左端空格
str_p.strip() #删除两端空格
输出
%s,%d
n="张三"
a=18
print("你的姓名:%s,年龄:%s"%(n,a))
多行
n="张三"
a=18
print('''
------------个人信息-------
姓名:%s
年龄:%s
-------------------------
'''%(n,a))
在 Python 中,常有数种方式可以格式化字符串:
使用字符串连接符进行拼接。例如:
name = '张三'
age = 20
message = '我的姓名是 ' + name + ', 我的年龄 ' + str(age) + ' 岁.'
使用字符串格式化操作符“%”。例如:
name = '李四'
age = 40
message = '我的姓名是 %s , 我的年龄 %d 岁.' % (name, age)
使用字符串方法 .format()。例如:
name = '王五'
age = 33
message = '我的姓名是 {}, 我的年龄 {} 岁.'.format(name, age)
使用 f-strings(Python 3.6及以上版本)。例如:
name = '赵六'
age = 20
message = f'我的姓名是 {name}, 我的年龄 {age} 岁.'
在这些方法中,使用 f-strings 是最简单的和推荐的方法。