当前Python版本为:3.7
1.声明
当前的内容用于本人重新接触当前的str,字符基础,包括str的位置以及其他的用法,重学基础,用于本人复习!
2.str的简介
1.在python中没有单个字符只有字符串,所以单个字符就是单个字符串,所以当前的python中只有一个str
2.str的底层是一个个的单个字符组成的,所以可以使用切片方式或者使用数组下标的方式获取数据
3.str类
1.当前的str其实就是一个类,一个位于内置模块中的类,这个内置模块就是:builtins.py
2.当前的注释就是__doc__文档,通过文档发现可以将任意一个对象转换成字符
3.发现当前这个类的方法的方法体都是pass
4.str的ASCII转换
4.1 将当前的字符串转换成对应的ASCII码
使用ord()方法
# ASCII转换函数
print(ord("A"))
结果:65
4.2 将数字转换成对应的ASCII字符
使用chr()方法
# 将数字转换成ASCII
print(chr(69))
结果:E
5.repr()和str()
1.repr()函数是将当前的对象转换成标准的字符并返回,可以通过eval()方式获取被repr()转换的对象
2.str()返回的就是字符形式
6.字符串可以使用逻辑操作符
print("abc" > "bcd")
结果:False,由于使用了比较运算符,所以这个时候比较的就是当前ASCII的值
7.不使用转义和使用Unicode
# 使用原始操作符r/R
print(r"\n")
print(R"\n")
# 使用Unicode
print(U"123")
print(u"123")
可以使用R或者r取消当前的\n的转义效果,使用U或者u让当前的显示的字符为Unicode编码
8.字符的数学函数
max()函数和min函数
# 内建函数,获取最大或者最小的ASCII字符的值
print(max("123456"))
print(min("123456"))
结果:6,1,这是由于当前获取的是字符中的最大或者最小的ASCII的字符对应的值
9.使用enumerate()函数迭代字符串
# 测试enumerate
for i, t in enumerate("123456"):
print(i, t)
结果:
0 1
1 2
2 3
3 4
4 5
5 6
发现使用enumerate迭代字符的时候可以获取当前迭代的下标
10.使用的字符模板类Template类
Template类位于string.py模块中,该类提供了类似EL表达式的语法,${变量名称}
from string import Template
s = Template("name:${name},age:${age},email:${email}")
result = s.substitute(name="张三", age=18, email="[email protected]")
print(result)
# 如果缺少参数的时候就会报错
# s.substitute() 报错
result = s.safe_substitute()
print(result)
结果:
name:张三,age:18,email:[email protected]
name: {age},email:${email}
总结:
1.使用Template创建字符串模板时候需要使用${变量}的方式
2.使用s.substitute()设置的就是一个字典,如果缺少参数就会报错
3.建议使用safe_substitute()
这个缺少参数不会报错
11.总结
1.我们使用str()将数据转换的时候实际上就是创建一个str对象
2.str类是当前的内置模块的一部分
以上纯属个人见解,如有问题请联系本人!