Python 3.x 我写了这个程序,但我不知道我错过了什么

Python 3.x 我写了这个程序,但我不知道我错过了什么,python-3.x,Python 3.x,我对python编程非常陌生,所以我不知道我的错误是什么。因此,请帮助我更正此代码 我试图找出哪里出了问题,但作为一名新的程序员,我不明白 班级学生: 定义初始值(自我、姓名、年龄): self.name=名称 self.age=年龄 def myfunc(自我): 打印(“你好,我是”+self.name) p1=学生(“Sumit”,28) p1.myfunc() 它不应该给出错误,但它显示了对象不能传递这样的东西的错误。我不确定出了什么问题您的构造函数(\uuuu init\uuuuu)

我对python编程非常陌生,所以我不知道我的错误是什么。因此,请帮助我更正此代码

我试图找出哪里出了问题,但作为一名新的程序员,我不明白

班级学生:
定义初始值(自我、姓名、年龄):
self.name=名称
self.age=年龄
def myfunc(自我):
打印(“你好,我是”+self.name)
p1=学生(“Sumit”,28)
p1.myfunc()
它不应该给出错误,但它显示了对象不能传递这样的东西的错误。我不确定出了什么问题

您的构造函数(
\uuuu init\uuuuu
)每侧应该有两个uderscore:

班级学生:
定义初始(自我、姓名、年龄):
self.name=名称
self.age=年龄
def myfunc(自我):
打印(“你好,我是”+self.name)
p1=学生(“Sumit”,28)
p1.myfunc()
许多python的“内部构件”都遵循这种做法,即每侧都有两个下划线。例如,您可以使用
\uu dict\uu
关键字访问特定类或命名空间中的变量

print(p1.uu dict_uu)#将打印{'name':'Sumit','age':28}
您的构造函数(
\uuuuu init\uuuuu
)每侧应该有两个uderscore:

班级学生:
定义初始(自我、姓名、年龄):
self.name=名称
self.age=年龄
def myfunc(自我):
打印(“你好,我是”+self.name)
p1=学生(“Sumit”,28)
p1.myfunc()
许多python的“内部构件”都遵循这种做法,即每侧都有两个下划线。例如,您可以使用
\uu dict\uu
关键字访问特定类或命名空间中的变量

print(p1.uu dict_uu)#将打印{'name':'Sumit','age':28}

init函数后缺少双下划线。应该是这样的

class students:
def __init__(self, name, age):
    self.name = name
    self.age = age

def myfunc(self):
    print("Hello i am " + self.name)

p1 = students("Sumit", 28)
p1.myfunc()

这叫做神奇的方法。Python提供此方法将其用作运算符重载。

init函数后缺少双下划线。应该是这样的

class students:
def __init__(self, name, age):
    self.name = name
    self.age = age

def myfunc(self):
    print("Hello i am " + self.name)

p1 = students("Sumit", 28)
p1.myfunc()

这叫做神奇的方法。Python提供了这种方法来将其用作运算符重载。

作为一般提示,如果出现错误,请将整个准确错误复制粘贴到问题中,而不是“对象无法传递类似的内容”,作为一般提示,如果出现错误,请将整个准确错误复制粘贴到问题中,而不是“对象无法传递类似的内容”