处理函数定义中的可变默认参数
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'}
>;
staticargs
对2.7和3.4进行测试。代码块::shell
运行测试
====
必须安装tox,然后运行:
。代码块::shell
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'}
>;