验证浮点数相加等于另外一个浮点数:
>>> 0.1+0.2
0.30000000000000004
>>> 0.1+0.2 == 0.3
False
>>> import math
>>> math.isclose(0.1+0.2,0.3)
True
>>> assert 0.1+0.2 == 0.3
Traceback (most recent call last):
File "<pyshell#277>", line 1, in <module>
assert 0.1+0.2 == 0.3
AssertionError
>>> assert math.isclose(0.1+0.2,0.3)
列表变为索引 元素
>>> for i,value in enumerate(['A','B','C']):
print(i,value)
0 A
1 B
2 C
字符编码转换
>>> ord('A')
65
>>> bin(255)
'0b11111111'
>>> chr(65)
'A'
int() - 将任何数据类型转换为整数类型
float() - 将任何数据类型转换为float类型
ord() - 将字符转换为整数
hex() - 将整数转换为十六进制
oct() - 将整数转换为八进制
tuple() - 此函数用于转换为元组。
set() - 此函数在转换为set后返回类型。
list() - 此函数用于将任何数据类型转换为列表类型。
dict() - 此函数用于将顺序元组(键,值)转换为字典。
str() - 用于将整数转换为字符串。
complex(real,imag) - 此函数将实数转换为复数(实数,图像)数。
生成当前时间唯一订单号
>>> import time
>>> order_no = str(time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())))+ str(time.time()).replace('.', '')[-7:]
>>> order_no
'202011051816399681555'
生成当前时间之前之后固定格式的时间字符串
>>> from datetime import datetime
>>> from datetime import timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2021, 1, 18, 16, 16, 4, 805986)
# 格式化时间
>>> now_strf = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
>>> now_strf
'2021-01-18 16:17:32'
# 整数倍的开始结束时间
>>> begin_time = (datetime.now() + timedelta(hours=1)).strftime('%Y-%m-%d %H') + ":00:00"
>>> begin_time
'2021-01-18 17:00:00'
>>> endTime = (datetime.now() + timedelta(days=1)).strftime('%Y-%m-%d %H') + ":00:00"
>>> endTime
'2021-01-19 16:00:00'
# 格式化开始结束时间
>>> begin_time_hms = (datetime.now() + timedelta(hours=1)).strftime('%Y-%m-%d %H:%M:%S')
>>> begin_time_hms
'2021-01-18 17:19:23'
>>> end_time_hms = (datetime.now() + timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')
>>> end_time_hms
'2021-01-19 16:19:54'
将多个列表按位置组合拼接成一个新列表 也可按位置拆分出多个元组
>>> x = [1,2,3]
>>> y = [4,5,6]
>>> z = [4,5,6,7,8]
>>> xyz = zip(x,y,z)
>>> xyz
<zip object at 0x00000000030902C8>
>>> list(xyz)
[(1, 4, 4), (2, 5, 5), (3, 6, 6)]
>>> list(zip(x,y))
[(1, 4), (2, 5), (3, 6)]
>>> a = zip(*zip(x,y,z))
>>> a
<zip object at 0x0000000003096F88>
>>> list(a)
[(1, 2, 3), (4, 5, 6), (4, 5, 6)]
>>> x1,y1 = zip(*zip(x,y))
>>> x1
(1, 2, 3)
>>> y1
(4, 5, 6)
统计项目下有多少python文件
import os
toatl_python_files = 0
for (root,dirs,files) in os.walk(os.getcwd()):
for i in files:
if os.path.splitext(i)[-1] == '.py':
toatl_python_files = toatl_python_files + 1
print("共计有 {} 个python文件".format(toatl_python_files))
返回:共计有 484 个python文件
生成随机4位字母或数字的组合
>>> def get_random(n):
return ''.join(random.choice(string.ascii_letters + string.digits) for i in range(n))
>>> get_random(4)
'qrV7'