我正在运行这个我写过的语法,但我在shell中遇到错误,说Attributeerror'NonType'对象没有属性'lower'
>>> test = "HELLO"
>>> print (test).lower()
答案 0 :(得分:3)
我认为你做错了,因为:
de:
activemodel/activerecord(depnding of what you use):
models:
customer:
one: *german translation for one*
other: *german translation for many*
和
>>> 'HELLO'.lower()
'hello'
在python2.7中都可以正常工作
在python 3.6中(至少):
>>> test = 'HELLO'
>>> print (test).lower()
hello
>>> print test.lower()
hello
但是你试图执行较低的打印结果方法,即无。
>>> print (test.lower())
hello
>>> print ((test).lower())
hello
答案 1 :(得分:0)
运行你在shell中再次发布的内容并查看会发生什么。以下是我的观点:( Windows 7-64,Python 3.6.3,32位和64位):
>>> test = "HELLO"
>>> print(test).lower()
HELLO
Traceback (most recent call last):
File "<pyshell#39>", line 1, in <module>
print(test).lower()
AttributeError: 'NoneType' object has no attribute 'lower'
您可以看到打印(测试)正在运行,并显示“HELLO”。 print函数总是返回NoneType,因此解释器的下一步是尝试运行NoneType.lower(),这会抛出错误。
另一种方法是:
>>>test = "HELLO"
>>>small = test.lower()
>>>print(small)
hello
或
>>>print(test.lower())