我试图找到一个很好的来源,解释为什么global在python(以及一般的编程)中使用被认为是不好的做法.有人可以指点我或解释一下吗?
我想将一个字符串保存到一个名为python程序的文件中 Failed.py
这是我到目前为止:
myFile = open('today','r')
ips = {}
for line in myFile:
parts = line.split(' ')
if parts[1] == 'Failure':
if parts[0] in ips:
ips[pars[0]] += 1
else:
ips[parts[0]] = 0
for ip in [k for k, v in ips.iteritems() if v >=5]:
#write to file called Failed.py
Run Code Online (Sandbox Code Playgroud) 当Django模型中的字段具有选项选项时,请参阅Django选项字段选项,它使用包含2个项目的可迭代的迭代来定义允许的值.例如:
楷模
class IceCreamProduct(models.Model):
PRODUCT_TYPES = (
(0, 'Soft Ice Cream'),
(1, 'Hard Ice Cream'),
(2, 'Light Ice Cream'),
(3, 'French Ice Cream'),
(4, 'Italian-style Gelato'),
(5, 'Frozen Dairy Dessert'),
)
type = models.PositiveSmallIntegerField('Type', choices=PRODUCT_TYPES, default=0)
Run Code Online (Sandbox Code Playgroud)
要在Factory Boy中生成随机值以供选择,我将使用factory.fuzzy.FuzzyChoice,但这只选择2个项目的可迭代.它不能采用所选迭代的第一项.例如:
工厂
class IceCreamProductFactory(factory.django.DjangoModelFactory):
class Meta:
model = IceCreamProduct
type = factory.fuzzy.FuzzyChoice(IceCreamProduct.PRODUCT_TYPES)
Run Code Online (Sandbox Code Playgroud)
错误
TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'
Run Code Online (Sandbox Code Playgroud)
获取元组的第一项是不可能的.例如:
工厂
class IceCreamProductFactory(factory.django.DjangoModelFactory):
class Meta:
model = IceCreamProduct
type = factory.fuzzy.FuzzyChoice(IceCreamProduct.PRODUCT_TYPES)[0]
Run Code Online (Sandbox Code Playgroud)
错误 …
我有以下django模型:
class SomeProfile(models.Model):
type = models.CharField(max_length=1)
Run Code Online (Sandbox Code Playgroud)
使用"type"作为属性名称被认为是一种不好的做法?
这里的属性不是阴影"类型",所以它与这个不是同一个问题