我创建了一个名为Boy的类,并尝试创建一个对象b1(b1=Boy()),但这一行显示了错误
完整代码如下:
class Boy:
name='JOHN'
age='21'
def say_hello(self):
print('Hello! My name is %s and I am %s years old' % (self.name,self.age)
b1=Boy()
b1.say_hello()
错误信息如下:
runfile('C:/Users/kesha/.spyder-py3/edugrad.py',
wdir='C:/Users/kesha/.spyder-py3')
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py", line 3325, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-1-d5ee685f3657>", line 1, in <module>
runfile('C:/Users/kesha/.spyder-py3/edugrad.py',
wdir='C:/Users/kesha/.spyder-py3')
File "C:\ProgramData\Anaconda3\lib\site-
packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda3\lib\site-
packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/kesha/.spyder-py3/edugrad.py", line 13
b1=Boy()
^
SyntaxError: invalid syntax
我尝试在python控制台中使用Jupyter笔记本运行相同的代码,结果运行得很好。
预期输出:您好!我叫约翰,今年21岁
只是几个虫子。首先,您忘记了print语句的最后一个括号。这实际上是你犯错误的原因。有时像这样的错误很难追踪。忘记右括号/方括号/大括号是很常见的,这会导致下一行报告错误(认为这是前一行的一部分)
第二,为了让类按您想要的方式工作,使用初始化方法将变量与self关联起来更符合python(也更合适)
最后,随着python2.7将于2020年寿终正寝,建议使用Python的
format
命令格式化字符串相关问题 更多 >
编程相关推荐