我是Python的新手并且遵循教程.list教程中有一个例子:
example = list('easyhoss')
Run Code Online (Sandbox Code Playgroud)
现在,在教程中,example= ['e','a',...,'s'].但在我的情况下,我得到以下错误:
>>> example = list('easyhoss')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
Run Code Online (Sandbox Code Playgroud)
请告诉我我错在哪里.我搜索了这个,但它是不同的.
在Python中,属性访问的语法有一个限制(至少在CPython 2.7.2实现中):
>>> class C(object): pass
>>> o = C()
>>> o.x = 123 # Works
>>> o.if = 123
o.if = 123
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我的问题是双重的:
o.if = 123禁止使用Python关键字属性名称(如in )的根本原因?o.class = …在我的一个程序中,这样做是有道理的,而且我不能做到这一点有点失望(o.class_会起作用,但看起来并不那么简单).
PS:这个问题显然是if和class是Python的关键字.现在的问题是,为什么使用关键字作为属性名称将被禁止(我看不出在表达任何含糊之处o.class = 123),以及这是否证明.
我想使用保留关键字“from”作为变量名。
我的参数解析器中有它:
parser.add_argument("--from")
args = parser.parse_args()
print(args.from)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为保留了“from”。拥有这个变量名很重要,我不想要像“from_”这样的答案。
有什么选择吗?
python variables naming-conventions command-line-arguments python-3.x