Python编程-字符串的高级用法
转义字符
-
在字符操作中\表示转义,如果字符串本身包含反斜杠,则需要\表示,其中\就是转义字符
转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 \r 回车 \f 换页 \oyy 八进制数,yy代表的字符,例如:\o12代表换行 \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行 \other 其它的字符以普通格式输出
例:
`st0 = 'J\nK\nL'`
J
K
L
字符串格式化
- 使用%加转换说明符的方式执行字符格式化,Python支持如下所示转换说明符
转义说明符 说明 d,i 转换为带十进制的整数 o 转换为带符号的八进制整数 x,X 转换为带符号的十六进制整数 e,E 转换为科学计数法表示的浮点数(e小写、E大写) f,F 转换为十进制浮点数 g 智能选择f或e格式 G 智能选择F或E格式 c 转换为单字符(只接受整数或单字符字符串) r 使用repr()将变量或表达式转换为字符串 s 使用str()将变量或表达式转换为字符串
例:
st1 = '我爱%s'
print (st1%'Python')
我爱Python
#这里%s表示的是替代符要将替代源对象转换数组再替代进来到目标位置上(可能这种解释不是很对,个人理解)
st2 = '我的名字是%s,我%d岁了'
print (st2 %('田大雷',25))
我的名字是田大雷,我25岁了
#这里因为有两个转换字符,它们所组成了一个元组,所以要用括号将这两个个准换符括起来
调用函数(方法)操作字符串
- 字符串本质就是由多个字符组成,字符的本质就是不可变序列,因此序列相关的方法:
基于索引的计算
st3 = 'houdini.vfx'
print(st3[3])
print(st3[2:5])
print(st3[3:8:2])
d
udi
dn.
#打印st3里的第三个字符 (开始)
#打印st3字符串中第二个开始到第五个左右字符(包含开始,不包含结尾) (开始、结束)
#打印st3字符串中第三个开始到第八个结束隔一个打印(间隔为2) (开始、结束、间隔)
#常用于提取字符串中的指定字符
in运算
st3 = 'houdini.vfx'
print ('vfx' in st3)
print ('rbd' in st3)
True
False
#in即 判断一个赋值串是否包含在某个字符串中 ,如果是返回True,否则返回False
len()函数
st3 = 'houdini.vfx'
print (len(st3))
11
#用于计算字符串长度
min()\max()函数
st3 = 'houdini.vfx'
print (max(st3))
print (min(st3))
x
.
#而 max和min则用于分别求字符串中最大的字符串和最小的字符串
大小写相关的方法
- title():将每个单词首字母改为大写
- lower():将整个字符串改为小写
- upper():将整个字符串改为大写
删除空白的方法
- strip():删除字符串前后的空白
- lstrip():删除字符串左边的空白
- rstrip():删除字符串右边的空白
查找、替换相关的方法
- startswith():判断字符串是否以指定字符开头
- endswith():判断字符串是否以指定字符结尾
- find():查找指定字符在字符串中的位置,如果找到返回位置信息,如果没有返回-1
- index():查找指定字符在字符串中的位置,如果找到返回位置信息,如果没有则引发ValueError错误
- replace():使用指定字符替换字符串中的目标字串
- translate():使用指定的翻译映射对字符串执行替换
使用dir查询Python方法的使用方法
dir(str)
[’_add_’, ‘_class_’, ‘_contains_’, ‘_delattr_’, ‘_dir_’, ‘_doc_’, ‘_eq_’, ‘_format_’, ‘_ge_’, ‘_getattribute_’, ‘_getitem_’, ‘_getnewargs_’, ‘_gt_’, ‘_hash_’, ‘_init_’, ‘_init_subclass_’, ‘_iter_’, ‘le’, ‘_len_’, ‘_lt_’, ‘_mod_’, ‘_mul_’, ‘_ne_’, ‘_new_’, ‘_reduce_’, ‘_reduce_ex_’, ‘_repr_’, ‘_rmod_’, ‘_rmul_’, ‘_setattr_’, ‘_sizeof_’, ‘_str_’, ‘_subclasshook_’, ‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’, ‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isascii’, ‘isdecimal’, ‘isdigit’, ‘isidentifier’, ‘islower’, ‘isnumeric’, ‘isprintable’, ‘isspace’, ‘istitle’, ‘isupper’, ‘join’, ‘ljust’, ‘lower’, ‘lstrip’, ‘maketrans’, ‘partition’, ‘replace’, ‘rfind’, ‘rindex’, ‘rjust’, ‘rpartition’, ‘rsplit’, ‘rstrip’, ‘split’, ‘splitlines’, ‘startswith’, ‘strip’, ‘swapcase’, ‘title’, ‘translate’, ‘upper’, ‘zfill’]
#列数关于字符串的所有方法
#前后带’__'的方法不能直接使用(后续课程补上),其他可以直接使用,具体使用方法,使用**help(str.方法)**查阅
help(str.islower)
Help on method_descriptor:
islower(self, /)
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and
there is at least one cased character in the string.
#查看字符串方法中islower的具体使用方法,以上就是对这个方法怎么使用的具体描述(需要一定的英文阅读能力⊙﹏⊙∥∣°)
inta = float(input("请输入第一个数值:"))
intb = float(input("请输入第二个数值:"))
print("两个数的和为:"+ str(inta+intb))
print("和的十六进制为:" + hex(int(inta+intb)))
print("两个数的差为:" + str(inta-intb))
print("差的八进制为:" + oct(int(inta-intb)) )
print("两个数的积为:" + str(inta*intb))
print("积的二进制为:" + bin(int(inta*intb)))
www.runoob.com
找到一个很好的python资料网站,记录起来,日后常翻!