1.数字类型及操作
1.1 整数类型
可正可负,没有取值范围限制
pow(x,y) 计算x的y次方,想算多大算多大
- 4种进制表示形式
十进制:如:1019,8,-8
二进制:由0b或0B开头,只由0,1组成,如:0b0110,-0B101010101
八进制:由0O或0o开头:0O123,-0O445
十六进制:又0X或0x开头:0X89,-0x9a
1.2 浮点数类型
带有小数点及小数的数字,浮点数的取值范围和小数精度都存在限制,但常规计算可忽略,取值范围数量级约-10的307次方至10的308次方,精度数量级10的-16次方
浮点数直接存在不确定尾数,如0.1+0.2=0.3000000000000000004
3后面就是不确定尾数,所以在判断两个浮点数运算的值要和一个浮点数做比较时,统称使用round(数值,保留小数位)来对数值四舍五入,在进而做判断才会成功
- 浮点数可以用科学计算法来表示,使用字母e或E作为幂的符号,以10为基数,格式:<a>e<b>,如a*10的b次方
1.3 复数类型
a+bj称为复数,其中a是实部,b是虚部,若z=123e-4+5.6e+89j,python中可以通过z.real获得复数的虚部,z.imag获得虚部
1.4 数值运算操作符及函数
数值运算操作符,操作符是完成运算的一种符号体系
二元操作符有对应的增强赋值操作符
数值的运算函数
2.字符串的类型及操作
2.1 字符串:是由0个或多个字符组成的有序字符序列。
- 表示形式:单行字符串由一对双引号或一对单引号表示,如"你好!",'C',多行字符串由一对三单引号(''' ''')或一对三双引号(""" """)表示(若未赋值给一个变量 那此时表示是注释)。
- 性质:字符串上字符点有序序列,可对其中的字符进行索引。
- 相关操作:使用[ ]获取字符串中一个或多个字符
索引:返回字符串中单个字符 午 <字符串>[M]
“请输入带有符号的温度值:"[0] 或者 TempStr[-1]
切片:返回字符串中一段字符子串 <字符串>[M: N],<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾
“请输入带有符号的温度值:"[1:3] 或者 TempStr[e:-1]
高级切片:<字符串>[M:N:K],根据步长K对字符串切片
2.2 转义符
转义符\,转义符表达特定字符的本意,转义符形成一些组合,表达一些不可打印的含义,如"\b"回退,"\n"换行(光标移动到下行首),"\r"回车(光标移动到本行首)
2.3 字符串操作符
相关操作
操作符及使用 | 描述 |
x+y | 连接两个字符x和y |
n*x或x*n | 复制n此字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
字符串处理函数:<a>(字符串)形式
函数及使用 | 描述 |
len(x) | 返回字符串x的长度,len("一二三")结果为3 |
str(x) | 任意类型x所对应的字符串形式,str(1.23)结果为"1.23" |
hex(x)或oct(x) | 整数x的十六进制或八进制小写形式字符串 |
chr(u) | Unicode编码转换为对应字符 |
ord(x) | 字符x转换为对应Unicode编码 |
注:Unicode为python字符串的编码方式(python字符串中每个字符都是Unicode编码字符)
字符串处理方式:变量.<b>()或字符串.<b>()
方法及使用 | 描述 |
str.lower()或str.upper() | 返回字符串的副本,全部小写/大写 |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成,"A,B,C".split(",")结果为['A','B','C'] |
str.count(sub) | 返回子串sub在str出现的次数,"happy".count("p")结果为2 |
str.replace(old,new) | 返回字符串str副本,所有old子串被替换为new,"python".replace("n","n123.a")结果为"python123.a" |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选"python"center(20,"=")结果为"=======python=======" |
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符,"= python= ".strip(" =np")结果为"ytho" |
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str(主要用于字符串分隔等),",".join("123")结果为"1,2,3" |
find(sub, start, end) | 返回子字符串首次出现的位置,如果未找到则返回-1,"hello".find('e') 输出 1 |
index(sub, start, end) | 与 find() 类似,但如果未找到子字符串则抛出 ValueError。"hello".index('o') 输出 4 |
更多字符串处理方法见:https://zhuanlan.zhihu.com/p/672106570
2.4 字符串类型的格式化
<模版字符串>.format(<逗号分隔的参数>)
默认:其结果为"2018-10-10:计算机C的CPU占用率为10%"
若更改默认顺序,"{1}:计算机{0}的CPU占用率为{2}"则结果围殴"C:计算机2018-10-10的CPU占用率为10%"
- format()方式的格式控制
槽内部对格式化的配置方式,{<参数序号>:<格式控制标记>}
如"{0:=^20}".format("PYTHON")格式化为输出宽度为20,字符串居中,以=填充(凑够20宽度,即结果为'=======PYTHON======='
"{:10}".format("BIT")格式化为(因为未定以填充的字符与左对齐,默认使用填充空格,左对齐)宽度为10的,即结果为'BIT '
"{0:,.2f}".format(12345.6789)格式为保留两位小数的浮点数并带千位分隔符输出,其结果为'123,345.89'
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)分别格式化为二进制数,Uincode字符,十进制,八进制,十六进制(小写形式),十六进制(大写形式),其结果为
'110101001,,425,651,1a9,1A9'
3.time库的使用
time库是python中处理时间的标准库
import time
time.<b>()
time库包括三类函数
时间获取:time() ctime() gmtime()
时间格式化:strftime() strptime()
程序计时:产生时间sleep() 测量时间perf_counter()
函数 | 描述 |
time() | 获取当前时间戳,即计算机内部时间值,浮点数 |
ctiem() | 获取当前时间并以易读方式表示,返回字符串 |
gmtime | 获取当前时间,表示为计算机可处理的时间格式 |
strftime(tpl,ts) | tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量,t=time.gmtime() time.strftime("%Y-%m-%d %H:%M:%S",t)结果为'2024-08-31 15:52:00' |
strptime(str,tpl) | str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果 |
sleep(s) | s拟休眠时间,单位是秒,可以是浮点数 |
perf.counter() | 返回一个CPU级别的精确时间计数值,单位为秒,由于这个计数值起点不确定,连续调用差值才有意义 |
格式化控制符
4.代码实例
- 文本进度条:采用sleep()模拟一个持续的进度
import time
scale = 10
print("------执行开始-------")
for i in range(scale + 1):
a = '*' * i # 执行的进度
b = '.' * (scale - i) # 剩余的进度
c = (i / scale) * 100 # 执行进度百分比
print("{:^3.0f}%[{}->{}]".format(c, a, b)) # 格式化为三部分:c对应宽度为3保留0小数的浮点数带以空格填充的一部分后加%,[a对应一部分->b对应的一部分]
time.sleep(0.1) # 隔0.1显示一个进度
print("------执行开始-------")
------执行开始-------
0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
------执行开始-------
- ”文本进度条”单行动态刷新
刷新本质:用之后打印的字符覆盖之前的字符
不能换行:print()需要被控制
要能回退:打印后光标退回到之前的位置,用转义字符\r
import time
scale = 50
print("执行开始".center(scale // 2, "-")) # 居中,宽度整除2输出
start = time.perf_counter()
for i in range(scale + 1):
a = '*' * i # 执行的进度
b = '.' * (scale - i) # 剩余的进度
c = (i / scale) * 100 # 执行进度百分比
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end='') # 每次回退输出
# 格式化为四部分:c对应宽度为3保留0小数的浮点数带以空格填充的一部分后加%,[a对应一部分->b对应的一部分],dur对应保留2位小数的浮点数后加s
time.sleep(0.1)
print("\n" + "执行结束".center(scale // 2, "-")) # 换行,居中,宽度整除2输出
标签:基本,10,字符,python,浮点数,数据类型,str,time,字符串
From: https://blog.csdn.net/jia_ueana/article/details/141753824