1、python3中的字符串可以使用引号(’或”)开创建。
a = "hello World!”
print(type(a))
结果:<class 'str'>
2、python没有C语言等其他语言中“char”类型,哪怕只有一个字符,python也按照字符串处理。python访问子字符串,可以使用方括号截取字符串。
a[0] ----> "h"
a[1:5] ----> "hell"
当在中括号中包含两个参数时,表示从第一个参数开始,并包含这个字符,到第二个参数结束,但不包含这个字符。
3、字符串拼接:直接用 + 符号;
b = “你好!世界!”
c = a + b
print(c) ------>"hello World!你好!世界!"
4、python中的转义字符
在字符中使用特殊字符时,python用反斜杠(\)转义字符。
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
5、其他字符串处理方式:
* 重复输出字符串
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。
原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
6、python字符串格式化
# 在创建字符串时,可以在字符串中指定占位符
# %s 在字符串中表示任意字符
# %f 浮点数占位符
# %d 整数占位符
a = "cloos"
b = 'Hello %s'%'cloos'
b = 'hello %s 你好 %s'%('tom','cloos')
b = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间
b = 'hello %s'%123.456
b = 'hello %.2f'%123.456
b = 'hello %d'%123.95
# print('a = %s'%a)
# 格式化字符串,可以通过在字符串前添加一个f来创建一个格式化字符串
# 在格式化字符串中可以直接嵌入变量
c = f'hello {a} {b}'
PS:python字符串格式化符号:
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
6、python三引号:
三引号的作用除了多行注释外,还可以允许一个字符串跨多行。
7、python字符串的一些方法:
name = cloos
#求字符串长度
print(len(name))
#首字母大写
print(name.capitalize())
#统计字符出现次数
print(name.count('o'))
#居中显示,不够用’-‘补齐
print(name.center(50,'-'))
#判断字符串以什么结尾
print(name.endswith('s'))
#把字符串中的tab表示多少个空格
print(name.expandtabs(tabsize=30))
#去字符串的索引值
print(name.find('o'))
#字符串切片
print(name[name.find("o"):])
#替换
print(name.format(names = 'nihao',year = 23))
#字符串中是阿拉伯数字
print("ab12".isalnum())
#判断是否是纯英文字符
print("abA".isalpha())
#判断是不是十进制
print("1F".isdecimal())
#判断是不是整数
print("12".isdigit())
#判断是不是标准的标识符
print("a fi".isidentifier())
#判断是不是只有数字
print("33A".isnumeric())
#判断是不是标题(判断每个单词的字母是不是大写
print("my Name Is".istitle())
#是否能打印的文件,tty file
print("my Name Is".isprintable())
#是不是大写
print("my Name Is".isupper())
#合并列表为字符串,第一份参数存放分割符
print(",".join(['1','2']))
print(type(",".join(['1','2'])))
#格式输出,字符不够用*补充
print(name.ljust(50,"*"))
print(name.rjust(50,"*"))
#转换为小写
print("Cloos".lower())
#转换为大写
print("Cloos".upper())
#去掉左边换行或空格
print("\n Cloos \n".lstrip())
#去掉右边换行或空格
print("\n Cloos \n".rstrip())
#去掉两边换行或空格
print("\n Cloos \n".strip())
#把上上中的字母转换为对应的数字,可用于加密
p = str.maketrans("abcdefg","1234567")
print("cloos".translate(p))
#替换,第三个参数为替换个数
print("cloos".replace("o",'O'))
print("cloos".replace("o",'O',1))
#替换空格
print("cloos xie".replace(' ',''))
#找到最右边一个字符的下标
print("cloos".rfind('o'))
#按照设定字符拆分字符串为列表,默认为空格
print("cloos is good".split())
print("cloos is good".split('o'))
#暗转换行拆分
print("cloos is\n good".splitlines())
#大写变小写
print("clOOs".swapcase())
#转换为标题(单词首字母大写)
print("cloos am".title())