Python3重学基础:深入理解当前的字符对象(str)

当前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: n a m e , a g e : {name},age: {age},email:${email}

总结:
1.使用Template创建字符串模板时候需要使用${变量}的方式

2.使用s.substitute()设置的就是一个字典,如果缺少参数就会报错

3.建议使用safe_substitute()这个缺少参数不会报错

11.总结

1.我们使用str()将数据转换的时候实际上就是创建一个str对象

2.str类是当前的内置模块的一部分

以上纯属个人见解,如有问题请联系本人!

发布了215 篇原创文章 · 获赞 39 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45492007/article/details/103936821