编辑:这是当前的问题:
Traceback (most recent call last): File "figure.py", line 32, in <module> import Python2
File "C:\scripts\python2.py", line 12, in <module> shp = shape.Python1(self.size, self.length, self.breadth,self.height)
NameError: name 'self' is not defined
虽然这个问题多次被问过但它还没有解决我的问题。
我有两个python文件python1.py
和python2.py
在python1.py
:
def add(self,a):
.....
def sub(self,b):
....
在python2.py
:
import python1
def square (self,c):
python1.add(a)
当我尝试运行此功能时,在python2.py
我得到AttributeError: 'module' object has no attribute 'add'
。我该怎么做才能解决这个问题?
答案 0 :(得分:0)
鉴于add
有两个参数(self
和a
),我假设它包含在一个类中。你可以这样做:
from python1 import YourClass
YourClass().add(a)
或者这个:
import python1
python1.YourClass().add(a)
回复评论:
self
不需要包含在方法或类初始化的实际调用中。以下是您应该如何称呼它:
python1.shape(w, x, y, z) #as opposed to python1.shape(self.w, self.x, self.y, self.z)
然后它们将被分配为类&#39;中的实例变量(self
变量)。 __init__
功能。