照片由Vitaly Gariev在Unsplash拍摄
每次你需要一个Python函数时,都想去Google和ChatGPT求助是很诱人的。然而,不断地在两者之间切换却既耗时又耗精力。根据梅耶尔、埃文斯和鲁宾斯坦教授的研究,每次“任务切换”都可能导致生产力损失高达40%。经历了太多来回切换导致的脑力损耗后,于是,我决定记住这十个Python函数,结果我的编程能力迅速提升。
在这篇文章里,你将了解到提升我编程能力的十个功能。我为每项功能都附上了示例,帮助你更好地理解其中的一些细节。这些示例是基于随机生成的销售数据。
这篇文章受到了Tech with Tim 视频的启发。
print()
函数是Python中一个最基本的工具之一,但也是非常强大的。它允许你显示结果。注意你可以通过改变“sep”参数来玩转输出。
def 显示销售详情(product, 销售量, 收入): print('商品', product, sep=': ') print('总销售量', 销售量, sep=': ') print('总收益', 收入, sep=': ') 显示销售详情('笔记本电脑', 1500, '3000美元') # 输出结果 """ 商品: 笔记本电脑 总销售量: 1500 总收益: 3000美元
help()
函数在你需要了解某个特定函数或模块是如何工作时非常有帮助。它会提供指定函数或模块的文档说明。
def calculate_discounted_price(price, discount): """ 计算商品的打折价格。 price: 商品的原价 discount: 要应用的折扣百分比 返回: float """ return price * (1 - discount / 100) # 注释:使用帮助函数的示例 help(calculate_discounted_price) # 注释:返回函数的帮助文档字符串
range()
函数可以产生一串数字,因此在循环中遍历时非常有用。
def 生成销售日(start_day, end_day): return list(range(start_day, end_day + 1)) print(生成销售日(1, 7)) # 生成从start_day到end_day的日期 # 结果 [1, 2, 3, 4, 5, 6, 7]
map()
函数会把提供的函数应用到输入列表里的每个项目上。
def apply_discount(prices, discount): return list(map(lambda x: x * (1 - discount / 100), prices)) print(apply_discount([100, 200, 300, 400, 500], 10)) # 给予10%的折扣 # 输出结果 """ [90.0, 180.0, 270.0, 360.0, 450.0] """ # 这表示打折后的价格列表
filter()
函数会从可迭代的对象中筛选出使函数返回真值的元素。
def 筛选高销售额(销售额, 阈值): return list(filter(lambda x: x > 阈值, 销售额)) print(筛选高销售额([100, 200, 50, 300, 150], 150)) # 过滤销售额超过150的记录 # 输出结果为 [200, 300]
sorted()
函数返回一个从可迭代对象中提取项并按升序排序的列表。设置 reverse=True
可以改为降序。
def sort_sales_data_by_sales(data): return sorted(data, key=lambda x: x['销量']) sales_data = [ {'产品': '笔记本电脑', '销量': 150}, {'产品': '鼠标', '销量': 300}, {'产品': '键盘', '销量': 200}, ] print(sort_sales_data_by_sales(sales_data)) # 输出结果如下 """ [{'产品': '笔记本电脑', '销量': 150}, {'产品': '键盘', '销量': 200}, {'产品': '鼠标', '销量': 300}]
(注:枚举过程,具体含义视上下文而定)
enumerate()
函数为每个可迭代对象的元素添加计数器,并返回一个枚举对象。
def list_products_with_index(products): for index, product in enumerate(products): print(f"{index + 1}. {product}") list_products_with_index(['笔记本电脑', '鼠标', '键盘']) # 输出结果如下 1. 笔记本电脑 2. 鼠标 3. 键盘
zip()
函数返回一个由元组组成的迭代器,其中每个传入的迭代器的第一个元素配对,然后是第二个元素配对,依此类推。
def hé bìng xiāo shòu shù jù(shāng pǐn, xiāo shòu_liàng): return fǎn huí shāng pǐn hé xiāo shòu liàng de hé zǔ biǎo(zip(shāng pǐn, xiāo shòu_liàng)) print(hé bìng xiāo shòu shù jù(['Laptop', 'Mouse', 'Keyboard'], [150, 300, 200])) # 输出结果为: # [('Laptop', 150), ('Mouse', 300), ('Keyboard', 200)]
open()
函数打开文件,返回一个文件对象,该对象允许你从文件中读取或向文件中写入。
def 写入销售文件(filename, content): """将内容写入文件中""" with open(filename, "w") as file: file.write(content) def 读取销售文件(filename): """仅读取文件内容""" with open(filename, "r") as file: return file.read() def 追加销售到文件(filename, content): """将新内容追加到原有内容后面""" with open(filename, "a") as file: file.write(content) 写入销售文件("sales.txt", "商品: 电脑\n销量: 150") print(读取销售文件("sales.txt")) 追加销售到文件("sales.txt", "\n商品: 鼠标 (电脑)\n销量: 300") print(读取销售文件("sales.txt")) # 输出 """ 商品: 电脑 销量: 150 商品: 鼠标 (电脑) 销量: 300
sum()
函数从左到右对可迭代中的各项加总,并返回总和值。也可以通过设置“start”参数来添加一个起始数。
def calculate_total_sales(sales): return sum(sales) # 返回销售总额 print(calculate_total_sales([150, 300, 200])) # 打印计算出的总销售额 # 输出结果 # 注意:这里的三引号不翻译,保持原样 """ 650
dict.get()
— 一个字典方法,用于检索指定键对应的值,如果键未找到则返回默认值。requests.get( )
— 向指定的 URL 发送 GET 请求,并返回包含服务器响应数据的 Response 对象。response.json()
— 解析响应对象的 JSON 内容,并返回 Python 字典。json.load()
— 读取 JSON 格式的文件并将其内容转换为对应的 Python 字典或列表。df.to_csv()
— 将 DataFrame 内容导出为 CSV 文件,允许指定文件路径、分隔符等选项。join()
— 将列表或元组中的元素连接成一个字符串,并在每对元素之间插入指定的分隔符。记住这十个 Python 函数将增强你处理各种编程任务的能力。掌握这些函数后,你可以避免频繁在 Google 和 ChatGPT 之间来回切换,这不仅节约了大量时间,还避免了生产力损失。将这些函数无缝地融入你的工作流程中,能以闪电般的速度编写数据科学脚本。利用这些工具,你将看到生产力大幅提升。祝你编程愉快,效率倍增!
如果你有任何问题或只是想聊聊天,欢迎通过LinkedIn联系,以进行交流。