1、整数类型
可正可负,没有取值范围限制
pow(x,y)函数:计算x^y,想算多大算多大
四种进制表示形式
十进制
二进制,以0b或0B开头
八进制,以0o或0O开头
十六进制,以0x或0X开头
2、浮点数类型
浮点数取值范围和小数精度都存在限制,但常规计算可忽略
浮点数间运算及比较用round( )函数辅助
浮点数可以采用科学计数法表示,使用字母e或E作为幂的符号,以10为基数
<a>e<b> 表示a*10^b
3、复数类型
z=a+bj
z.real获得实部a
z.imag获得虚部b
4、数值运算操作符
x/y 10/3=3.3333333333333335
x//y 10//3=3
x**y 幂运算,x的y次幂,x^y,如10**0.5
5、数字类型的关系
类型间可进行混合运算,生成结果为“最宽”类型
三种类型存在一种逐渐“扩展”或“变宽”的关系:
整数→浮点数→复数
6、数值运算函数
abs(x) 绝对值,x的绝对值
divmod(x,y) 商余,同时输出商和余数
round(x[,d]) 四舍五入,d是保留小数位数,默认值为0
max(x1,x2,...)和min(x1,x2,...)
int(x) 将x变成整数,舍弃小数部分
float(x) 将x变成浮点数,增加小数部分
complex(x) 将x变成复数,增加虚数部分
7、字符串
字符串有2类共4种表示方法
由一对单引号或双引号表示,仅表示单行字符串
由一对三单引号或三双引号表示,可表示多行字符串
字符串中包含双引号可用' '
字符串中包含单引号可用" "
字符串中既包含单引号又包含双引号可用''' '''
8、字符串切片高级用法
使用[M:N:K]根据步长对字符串切片
<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
转义符\
转义符表达特定字符的本意
转义符形成一些组合,表达一些不可打印的含义
"\b"回退
"\n"换行(光标移动到下行首)
"\r"回车(光标移动到本行首)
10、字符串操作符
x+y 连接两个字符串x和y
n*x 或 x*n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False
11、字符串处理函数
len(x) 长度,返回字符串x的长度
str(x) 任意类型x所对应的字符串形式
hex(x) 或 oct(x) 整数x的十六进制或八进制小写形式字符串
chr(x) x为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码
12、字符串处理方法
“方法”特指<a>.<b>()风格中的函数<b>()
方法本身也是函数,但与<a>有关,<a>.<b>()风格使用
字符串及变量也是<a>,存在一些方法
str.lower()或str.upper() 返回字符串的副本,全部字符小写/大写
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成
str.count(sub) 返回子串sub在str中出现的次数
str.replace(old,new) 返回字符串str副本,所有old子串被替换为new
str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar可选
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符
字符串格式化使用.format()方法,用法如下:
<模板字符串>.format(<逗号分隔的参数>)
槽内部对格式化的配置方式
{<参数序号>:<填充><对齐><宽度>}
参数序号可默认,填充默认空格,对齐默认左对齐,对齐方式有< > ^
{<参数序号>:<,><.精度><类型>}
逗号是数字的千位分隔符,精度是浮点数小数精度或字符串最大输出长度
time库是Python中处理时间的标准库
计算机时间的表达
提供获取系统时间并格式化输出功能
提供系统级精确计时功能,用于程序性能分析
15、时间获取
time() 获取当前时间戳,即计算机内部时间值,浮点数
ctime() 获取当前时间并以易读方式表示,返回字符串
gmtime() 获取当前时间,表示为计算机可处理的时间格式
16、时间格式化
strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量
perf_counter() 返回一个CPU级别的精确时间计数值,单位为秒
由于这个计数值起点不确定,连续调用差值才有意义
start=time.perf_counter()
end=time.perf_counter()
end-start
sleep(s) s拟休眠时间,单位是秒,可以是浮点数
def wait():
time.sleep(3.3)
可正可负,没有取值范围限制
pow(x,y)函数:计算x^y,想算多大算多大
四种进制表示形式
十进制
二进制,以0b或0B开头
八进制,以0o或0O开头
十六进制,以0x或0X开头
2、浮点数类型
浮点数取值范围和小数精度都存在限制,但常规计算可忽略
浮点数间运算存在不确定尾数,不是bug
>>> 0.1+0.3 0.4 >>> 0.1+0.2 0.30000000000000004 >>> 0.1+0.2==0.3 Falseround(x,d):对x四舍五入,d是小数截取位数
浮点数间运算及比较用round( )函数辅助
浮点数可以采用科学计数法表示,使用字母e或E作为幂的符号,以10为基数
<a>e<b> 表示a*10^b
3、复数类型
z=a+bj
z.real获得实部a
z.imag获得虚部b
4、数值运算操作符
x/y 10/3=3.3333333333333335
x//y 10//3=3
x**y 幂运算,x的y次幂,x^y,如10**0.5
5、数字类型的关系
类型间可进行混合运算,生成结果为“最宽”类型
三种类型存在一种逐渐“扩展”或“变宽”的关系:
整数→浮点数→复数
6、数值运算函数
abs(x) 绝对值,x的绝对值
divmod(x,y) 商余,同时输出商和余数
>>> divmod(10,3) (3, 1)pow(x,y[,z]) 幂余,(x**y)%z
round(x[,d]) 四舍五入,d是保留小数位数,默认值为0
max(x1,x2,...)和min(x1,x2,...)
int(x) 将x变成整数,舍弃小数部分
float(x) 将x变成浮点数,增加小数部分
complex(x) 将x变成复数,增加虚数部分
7、字符串
字符串有2类共4种表示方法
由一对单引号或双引号表示,仅表示单行字符串
由一对三单引号或三双引号表示,可表示多行字符串
字符串中包含双引号可用' '
字符串中包含单引号可用" "
字符串中既包含单引号又包含双引号可用''' '''
8、字符串切片高级用法
使用[M:N:K]根据步长对字符串切片
<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
<字符串>[M:N:K],根据步长K对字符串切片
>>> "零一二三四五六七八九十"[1:8:2] '一三五七' >>> "零一二三四五六七八九十"[::-1] '十九八七六五四三二一零'9、字符串的特殊字符
转义符\
转义符表达特定字符的本意
转义符形成一些组合,表达一些不可打印的含义
"\b"回退
"\n"换行(光标移动到下行首)
"\r"回车(光标移动到本行首)
10、字符串操作符
x+y 连接两个字符串x和y
n*x 或 x*n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False
11、字符串处理函数
len(x) 长度,返回字符串x的长度
str(x) 任意类型x所对应的字符串形式
hex(x) 或 oct(x) 整数x的十六进制或八进制小写形式字符串
chr(x) x为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码
12、字符串处理方法
“方法”特指<a>.<b>()风格中的函数<b>()
方法本身也是函数,但与<a>有关,<a>.<b>()风格使用
字符串及变量也是<a>,存在一些方法
str.lower()或str.upper() 返回字符串的副本,全部字符小写/大写
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成
str.count(sub) 返回子串sub在str中出现的次数
str.replace(old,new) 返回字符串str副本,所有old子串被替换为new
str.center(width[,fillchar]) 字符串str根据宽度width居中,fillchar可选
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str
>>> "python".center(20,"=") '=======python=======' >>> "= python= ".strip(" =np") 'ytho' >>> ",".join("12345") '1,2,3,4,5'13、字符串类型的格式化
字符串格式化使用.format()方法,用法如下:
<模板字符串>.format(<逗号分隔的参数>)
槽内部对格式化的配置方式
{<参数序号>:<填充><对齐><宽度>}
参数序号可默认,填充默认空格,对齐默认左对齐,对齐方式有< > ^
{<参数序号>:<,><.精度><类型>}
逗号是数字的千位分隔符,精度是浮点数小数精度或字符串最大输出长度
整数类型有b,c,d,o,x,X;浮点数类型有e,E,f,%
>>> "{0:=^20}".format("PYTHON") '=======PYTHON=======' >>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425) '110101001,Ʃ,425,651,1a9,1A9' >>> "{0:e},{0:E},{0:f},{0:%}".format(3.14) '3.140000e+00,3.140000E+00,3.140000,314.000000%'14、time库的使用
time库是Python中处理时间的标准库
计算机时间的表达
提供获取系统时间并格式化输出功能
提供系统级精确计时功能,用于程序性能分析
15、时间获取
time() 获取当前时间戳,即计算机内部时间值,浮点数
ctime() 获取当前时间并以易读方式表示,返回字符串
gmtime() 获取当前时间,表示为计算机可处理的时间格式
16、时间格式化
strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量
%B 月份名称、%b 月份名称缩写、%A 星期、%a 星期缩写、%h 小时(12h制)、%p 上/下午
>>> t=time.gmtime() >>> time.strftime("%Y-%m-%d %H:%M:%S",t) '2018-06-23 16:38:34'
strptime(Str,tpl) str是字符串形式的时间值,tpl是格式化模板字符串,用来定义输入效果
>>> timeStr='2018-01-26 12:55:20' >>> time.strptime(timeStr,"%Y-%m-%d %H:%M:%S") time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=-1)17、程序计时应用
perf_counter() 返回一个CPU级别的精确时间计数值,单位为秒
由于这个计数值起点不确定,连续调用差值才有意义
start=time.perf_counter()
end=time.perf_counter()
end-start
sleep(s) s拟休眠时间,单位是秒,可以是浮点数
def wait():
time.sleep(3.3)
wait()
>>> start=time.perf_counter() >>> end=time.perf_counter() >>> end-start 9.723260522620736 >>> def wait(): time.sleep(3.3) >>> wait()
#天天向上的力量 dayfactor=0.01 dayup=pow(1+dayfactor,365) daydown=pow(1-dayfactor,365) print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown)) #工作日的力量 dayup=1.0 for i in range(365): if i%7 in [6,0]: dayup=dayup*(1-dayfactor) else: dayup=dayup*(1+dayfactor) print("向上:{:.2f}".format(dayup))
#文本进度条 import time scale=50 print("执行开始".center(scale//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="") time.sleep(0.1) print("\n"+"执行结束".center(scale//2,"-")) #需在控制台展示效果