初学Python时遇到问题! object has no attribute

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学Python时遇到问题! object has no attribute相关的知识,希望对你有一定的参考价值。

Traceback (most recent call last):
File "C:\Users\gufuzhiqing\Desktop\Tanqiu.py", line 70, in <module>
paddle=Paddle(canvas,'blue')
File "C:\Users\gufuzhiqing\Desktop\Tanqiu.py", line 45, in __init__
self.canvas.bind_all('<KeyPress-Left>',self.turn_left)
AttributeError: 'Paddle' object has no attribute 'turn_left'

求大神指点!

参考技术A 缩进问题导致

Paddle类的__init__方法下面定义的draw(), turn_left, turn_right方法应该和__init__缩进一致,因为都是Paddle类的方法。
参考技术B 把turn left,turn right方法向右进位四个试试。
靠左,不被认为是Paddle下的方法,所以找不到

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: ‘module‘ object has no attribute ‘xxx‘"。这其实是.pyc文件存在问题。

问题定位:

查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件

 

问题解决方法:

1. 命名py脚本时,不要与python预留字,模块名等相同

2. 删除该库的.pyc文件(因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,所以要删除.pyc文件),重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可

 

示例:

如下Python代码,执行时报错"AttributeError: ‘module‘ object has no attribute ‘urlopen‘",更新Python27\Lib\urllib2.pyc文件后,即可正常运行。

1
2
3
4
import urllib2
f = urllib2.urlopen(url, timeout=5).read()
print len(f)

附录:

pyc文件介绍

pyc文件,是python编译后的字节码(bytecode)文件。只要你运行了py文件,python编译器就会自动生成一个对应的pyc字节码文件。这个pyc字节码文件,经过python解释器,会生成机器码运行(这也是为什么pyc文件可以跨平台部署,类似于java的跨平台,java中JVM运行的字节码文件)。下次调用直接调用pyc,而不调用py文件。直到你这个py文件有改变。python解释器会检查pyc文件中的生成时间,对比py文件的修改时间,如果py更新,那么就生成新的pyc。

以上是关于初学Python时遇到问题! object has no attribute的主要内容,如果未能解决你的问题,请参考以下文章

遇到的问题---python---pandas新建空的dataframe报错dataframe type object ‘object‘ has no attribute ‘dtype‘(

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

python 脚本运行时报错: AttributeError: 'module' object has no attribute ***

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

python提示AttributeError: 'NoneType' object has no attribute 'append'