照片由Vitaly Gariev在Unsplash拍摄
每次你需要一个Python函数时,都想去Google和ChatGPT求助是很诱人的。然而,不断地在两者之间切换却既耗时又耗精力。根据梅耶尔、埃文斯和鲁宾斯坦教授的研究,每次“任务切换”都可能导致生产力损失高达40%。经历了太多来回切换导致的脑力损耗后,于是,我决定记住这十个Python函数,结果我的编程能力迅速提升。
在这篇文章里,你将了解到提升我编程能力的十个功能。我为每项功能都附上了示例,帮助你更好地理解其中的一些细节。这些示例是基于随机生成的销售数据。
这篇文章受到了Tech with Tim 视频的启发。
1: 打印功能print()
函数是Python中一个最基本的工具之一,但也是非常强大的。它允许你显示结果。注意你可以通过改变“sep”参数来玩转输出。
def 显示销售详情(product, 销售量, 收入):
print('商品', product, sep=': ')
print('总销售量', 销售量, sep=': ')
print('总收益', 收入, sep=': ')
显示销售详情('笔记本电脑', 1500, '3000美元')
# 输出结果
"""
商品: 笔记本电脑
总销售量: 1500
总收益: 3000美元
2. 使用帮助
help()
函数在你需要了解某个特定函数或模块是如何工作时非常有帮助。它会提供指定函数或模块的文档说明。
def calculate_discounted_price(price, discount):
""" 计算商品的打折价格。
price: 商品的原价
discount: 要应用的折扣百分比
返回: float
"""
return price * (1 - discount / 100)
# 注释:使用帮助函数的示例
help(calculate_discounted_price)
# 注释:返回函数的帮助文档字符串
3. range 函数
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]
4. 映射函数.
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] """
# 这表示打折后的价格列表
5. 过滤功能
filter()
函数会从可迭代的对象中筛选出使函数返回真值的元素。
def 筛选高销售额(销售额, 阈值):
return list(filter(lambda x: x > 阈值, 销售额))
print(筛选高销售额([100, 200, 50, 300, 150], 150)) # 过滤销售额超过150的记录
# 输出结果为 [200, 300]
6. 排序方法
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}]
7. 枚举过程
(注:枚举过程,具体含义视上下文而定)
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. 键盘
8. 压缩功能
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)]
9. 打开功能
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
10 求和功能:
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联系,以进行交流。
共同学习,写下你的评论
评论加载中...
作者其他优质文章