将列表传递给函数后,函数可以直接访问列表的内容。假设有一群专家,我们想邀请他们参加一个研讨会。defsend_invitation(experts):'''发送邀请函'''forexpertinexperts:print(expert+'您好,我们邀请您参加XX研讨会...')experts=['袁晓楠','黄lili']send_invitation(experts)运行结果:袁晓南您好,您受邀参加XX研讨会...黄莉莉,您好,现在您受邀参加XX研讨会...修改列表参数后通过到函数,函数将是可以修改的。注意:在函数内对列表所做的任何修改都是永久性的。defsend_invitation(experts,informed):'''发送邀请函并将列表数据移动到[通知]列表'''whileexperts:expert=experts.pop()print(expert+',hello,nowinviteyou参加XX研讨会...')informed.append(expert)experts=['袁晓楠','黄丽丽']#通知专家名单=[]#通知人员名单print('执行前:专家='+str(experts)+',informed='+str(informed))send_invitation(experts,informed)print('执行后:experts='+str(experts)+',informed='+str(informed))操作result:executionBefore:experts=['袁晓楠','黄莉莉'],informed=[]黄莉莉你好,现邀请你参加XX研讨会...袁晓楠,现在邀请你参加XX研讨会seminar...执行后:experts=[],informed=['HuangLili','YuanXiaonan']即使没有注释,那些描述性的函数名也能清楚地表达函数的作用。我们还可以在函数中调用另一个函数,这有助于将复杂的任务分解为一系列步骤,使程序更具可读性。只读列表有时候,我们不希望函数修改传入的列表,这时候我们可以将列表的副本传递给函数:experts=['袁晓南','黄莉莉']#expertlistinformed=[]#知情人员名单print('执行前:experts='+str(experts)+',informed='+str(informed))send_invitation(experts[:],informed)print('执行后:experts='+str(experts)+',informed='+str(informed))运行结果:执行前:experts=['袁晓南','黄丽丽'],informed=[]黄丽丽,你好,现在邀请您参加XX研讨会...袁晓楠您好,邀请您参加XX研讨会...执行后:experts=['袁晓楠','黄莉莉'],informed=['黄莉莉','袁晓楠']虽然传递一个list的副本给函数可以保留原来List的内容,但是除非有充分的理由这样做。这在处理大型数据列表时尤为重要,因为让函数使用传递的列表可以通过避免在内存中创建副本所花费的时间来提高性能。文渊网,仅供学习,侵删。学习Python的路上肯定会遇到困难,不要慌张,我这里有一套学习资料,包括40+电子书,800+教学视频,涉及Python基础、爬虫、框架、数据分析、机学习等等,别怕你学不会!https://shimo.im/docs/JWCghr8...《Python学习资料》关注公众号【蟒圈】,每日优质文章推送。
