python学习笔记2:字符串
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())