处理函数定义中的可变默认参数

staticargs的Python项目详细描述


#########
staticargs
对2.7和3.4进行测试。代码块::shell


运行测试
====
必须安装tox,然后运行:

。代码块::shell

cd staticargs
tox


示例
--



首先查看我们要解决的问题:

。代码块::python

>;>;def append嫒cat(cats=[]):
…cats.append(“cat”)
…返回cat s

>;>print(append_cat())
['cat']
>;>print(append_cat())
['cat','cat']
>;>print(append_cat())
['cat','cat']
>;

请注意,即使我们只追加一次“cat”,每次返回的列表中的项目数都会变大。通过观看Pycon 2015的精彩演示,了解有关此问题和其他一些Python问题的更多信息(此特定问题将在8:04讨论):https://youtu.be/sh4xf6pkkmk


……代码块::python

>;>from staticargs import staticargs
>;>import random
>;
>;>staticargs
…定义附加目录(cats=[]):
…#我爱猫。cats.append(“cat”)
…返回cats

>;>print(append_cat())
['cat']
>;>print(append_cat())
['cat']
>;>print(append_cat())
['cat']
>;
>;@staticargs
…定义存储狗(狗={}):
…#狗没事我想…dog_name=random.choice([“rufus”,“muffins”,“scooby”])
…狗[狗名]=“好孩子”
…返回狗

>;>print(store_dog())
{muffins':'good boy'}
>;>print(store_dog())
{scooby':'good boy'}
>;>print(store_dog())
{rufus':'good boy'}
>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Midlet即使按下设备的“剪切”按钮也不能关闭   JavaSpring环境。getProperty未解析   用Hibernate在Java中实现序列   具有重复键和文件写入的java映射   java显示控制台输出到JavaFXML应用程序中的TextArea   java Cucumber在编译为时无法在类路径上找到功能文件。战争   java过滤器中的servlet问题   安卓中消息和字符串之间的java转换?   java Apache POI读取单元(下午12:35:00)时间值返回1899年12月31日   Java游戏中的碰撞检测?   JSF2.0中的JavajQuery   java在setValue之后使用不同的值   java如何修复可选文件的StackOverflow错误?   如何在不使用服务器设置的情况下使用java从Outlook mail下载附件?   YAxis上Java BoxLayout中单个字符的摆动对齐偏离中心