我目前正在学习Python,但我不明白我的代码有什么问题,但是PyCharm一直给我以下错误:
Traceback (most recent call last):
File "C:/Users/Sam/PycharmProjects/untitled1/app.py", line 5, in <module>
fish1.bubbles()
TypeError: bubbles() missing 1 required positional argument: 'self'
这是我的代码:
import random
from Fish import Fish
fish1 = Fish
fish1.bubbles()
fish1.name = input("enter the name of your fish: ")
fish1.coords = ("({0},{1})".format(random.randint(1, 100), random.randint(1, 100)))
print("The fish's name is {0}, and it is swimming at co-ordinates{1}".format(fish1.name, fish1.coords))
这是我的Fish.py文件:
class Fish:
def __init__(self, name, coords):
self.name = name
self.coords = coords
def bubbles(self):
print("{0} blew some bubbles".format(self))
任何帮助将不胜感激!
答案 0 :(得分:2)
答案 1 :(得分:2)
Fish
是类。您不能要求抽象的鱼起泡。您必须问一条特定的鱼(即该类的 object )。因此,假设您的鱼是“鲍勃”
bob = Fish()
bob.bubbles()
答案 2 :(得分:2)
在fish1 = Fish
部分中,您没有创建实例,但是尝试使用它fish1.bubbles()
。
因此,请尝试将fish1 = Fish
更改为fish1 = Fish(name, coords)
。
name
和coords
在构造函数中是必需的。