python 函数语法
1. 传递副本,防止可变参数被修改
列表是可以修改的,把列表作为参数传给函数,如果在函数中对列表进行了修改,那么这个列表就发生了改变。
为了防止函数修改列表,我们可以使用切片表示法[:]创建列表的副本,将列表的副本作为函数参数
def function_name(list_name[:]):
# 函数体
# 具体示例
def show_magicians(magicians):
for magician in magicians:
print("hello " + str(magician))
def make_great(magicians, changed_magicians):
while magicians:
changed_magician = "the Great " + magicians.pop()
changed_magicians.append(changed_magician)
magicians = ['mike','hellen']
changed_magicians = []
# 若不用切片法创建magician的副本,则make_great调用结束后magician将为空
# make_great(magicians,changed_magicians)
# show_magicians(magicians)
# show_magicians(changed_magicians)
make_great(magicians[:],changed_magicians)
show_magicians(magicians)
show_magicians(changed_magicians)
2. 传递任意数量的实参
使用形参*tuple_name,创建一个元组tuple接受任意数量的实参
该形参必须放在函数的参数列表的最后,因为个数不确定
def make_pizza(size,*toppings):
print("size = " + str(size))
pirnt(toppings)
make_pizza(12,'mushrooms','peppers','cheese')
3. 关于_的约定
在函数名、属性名前加下划线_,表示该函数、属性是私有的,不能直接访问
def _helper_function():
# 私有函数的实现细节
# ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)