小 bai 真想不出哪里错,明明照着按的

用 __init__方法定义属性,在创建实例传入值,怎么写有问题么

class Dog:
def init(self,name):
print(name)

dog=Dog('tom')

这个编辑提问tm也那么难,上传图片我都搞不懂。

可以重新描述一下,上传图片的话看下面:

img

不是应该这么写吗

class Dog:
 name 
def __init__(self,name):
  self.name = name

应该要这样


class Dog:
    def __init__(self,name):
        self.name=name
    def n(self):
        print(self.name)

dog=Dog('tom')
dog.n()

int左右是不是少了两个下划线

img

类__init__的格式是左右两边有两个下划线,用来区分你自己的不同方法的。
可以看看定义
https://blog.csdn.net/luzhan66/article/details/82822896

class Dog():
    def __init__(self,name):
        print(name)
dog=Dog('tom')

注:我是Python3,Python2的话你就把class Dog后的括号去掉