import random import fitness class optimizing(): def __int__(self): self.finess_data=fitness.fitness() #print(self.finess_data) def p(self): print(self.finess_data) data=optimizing() data.p() 报错:C:\Users\z84259074\AppData\Local\Programs\Python\Python310\python310.exe D:/Users/z84259074/PycharmProjects/参数自优化/self_optimizing.py Traceback (most recent call last): File "D:\Users\z84259074\PycharmProjects\参数自优化\self_optimizing.py", line 11, in <module> data.p() File "D:\Users\z84259074\PycharmProjects\参数自优化\self_optimizing.py", line 8, in p print(self.finess_data) AttributeError: 'optimizing' object has no attribute 'finess_data'
时间: 2023-12-01 17:02:47 浏览: 81
tcp-ip卷一中文版
这个错误是因为在 `__int__()` 方法中,使用了双下划线 `__` 代替了双下划线 `__init__()` 方法的名称。在 Python 中,类的构造方法应该被命名为 `__init__()`,而不是 `__int__()`。因此,你需要将 `__int__()` 改为 `__init__()`。
修改后的代码如下:
```python
import random
import fitness
class optimizing():
def __init__(self):
self.finess_data = fitness.fitness()
def p(self):
print(self.finess_data)
data = optimizing()
data.p()
```
这样就可以正确地初始化 `optimizing` 类的实例对象并调用 `p()` 方法了。
阅读全文