Python 2.x或Python 3.x版本中是否存在长期补充版本和稳定版本?如果是这样,标准是什么?
这些是来自django.db.models.fields的代码
__all__ = [str(x) for x in (
'AutoField', 'BLANK_CHOICE_DASH', 'BigAutoField', 'BigIntegerField',
'BinaryField', 'BooleanField', 'CharField', 'CommaSeparatedIntegerField',
'DateField', 'DateTimeField', 'DecimalField', 'DurationField',
'EmailField', 'Empty', 'Field', 'FieldDoesNotExist', 'FilePathField',
'FloatField', 'GenericIPAddressField', 'IPAddressField', 'IntegerField',
'NOT_PROVIDED', 'NullBooleanField', 'PositiveIntegerField',
'PositiveSmallIntegerField', 'SlugField', 'SmallIntegerField', 'TextField',
'TimeField', 'URLField', 'UUIDField',
)]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我认为str(x) for x in (...)并且x for x in (...)是一样的.为什么使用str()?
我见过以下情况:
>>> def func(a):
... if a:
... print("True")
...
>>> a = [1, 2, 3]
>>> func(a)
True
>>> a == True
False
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种差异?