format()
# V3.6及之后, foramt()函数简写
a = '信仰'
b = f"缺一个{a}"
eval()
# 传入一个字符串,可执行字符串中的内容
import requests
def req_url(url, req_type):
req_func = f"requests.{req_type}(url)" # 这个地方可以将requests库下的某个方法当成参数传入,减少代码逻辑
response = eval(req_func)
url = 'https://www.baidu.com'
req_url(url, 'get')
req_url(url, 'post')
all()
# 如果可迭代对象中含有空或0,返回False
# 部分情况下,可以省略一个for循环,很Nice!
a = [1,2,3,4]
all(a)
True
map()
map(functin, iterable)
# 魔法函数之一
# 传入函数和可迭代对象,可以自动遍历可迭代对象中的所有值,返回迭代器
# 部分情况下,又可以少写一个for循环,美滋滋
def a(b):
return b ** b
c = [1,2,3,4]
# for i in c:
# a(i)
d = map(a, c)
d = list(d)
d = list(map(lambda b: b ** b, c)) # ^_^|| 少些好几行代码
dict() + zip()
# 将两个可迭代对象拼成一个字典,例如之前的使用xlrd读取Excel时
sheet, rows = tools.read_excle('file_path', sheet_index) # 自封装的读取Excel,返回表对象和总行数
key_list = sheet.row_values(0) # 表头
data_list = []
for row in range(1, rows):
row_data = sheet.row_values(row) # 表数据
new_data = dict(zip(key_list, row_data)) # 新字典
data_list.append(new_data)
data_list = list(map(lambda a: dict(zip(k_list, a)), (sheet.row_values(row) for row in range(1, rows)))) # 直接减轻了对键盘的伤害
sorted()
# 排序, 直接改变当前的可迭代对象,不用再赋值给新的变量
sorted([5,4,6,3,7,2], reverse=True) # 倒排
[7, 6, 5, 4, 3, 2]