Python 3.x 为什么可以';您是否可以将类属性作为参数直接分配给类括号,而不是使用def uuu init_uuu方法?

Python 3.x 为什么可以';您是否可以将类属性作为参数直接分配给类括号,而不是使用def uuu init_uuu方法?,python-3.x,class,init,Python 3.x,Class,Init,这不是更简单吗 class A(self, name, age): def info(self): print('My name is', name) print('My age is', age) me = A('Joe', 30) 为什么我需要这样做呢 class A: def __init__(self, name, age): self.name = name self.age = age

这不是更简单吗

class A(self, name, age):

    def info(self):
        print('My name is', name)
        print('My age is', age)

me = A('Joe', 30)
为什么我需要这样做呢

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

    def info(self):
        print('My name is', self.name)
        print('My age is', self.age)   

me = A('Joe', 30)
如果之前有人回答过,我会提前道歉,但我找不到答案,而且我是编程新手。

你不能做
类A(自我、姓名、年龄):
因为它是
继承的语法,我们使用/define
\uu初始化
,因为它基本上是python中
类的
构造函数

但你可以这样做:-

class A:
    def info(self,name,age):
        self.name=name
        self.age=age
        print('My name is', name)
        print('My age is', age)

me = A()
me.info('Joe', 30)

第一种方法是如何继承:——这不是因为语言的设计。至于我们“需要”
\uuuu init\uuuu
的原因,也是因为语言就是这样设计的。您可以在中阅读有关
\uuuu init\uuu
的工作原理。这是否回答了您的问题?你不能这样做,因为这根本不是语言的工作方式,但请参阅,例如,了解书写所有内容的替代方法。感谢有关Inheritance costa的文档,这就解释了这一点。啊,括号是为其他内容保留的(Inheritance)!这也解释了为什么它们在创建类时是可选的。太好了!我没有涉及继承,但我只是覆盖了函数,看起来奇怪的是,你不能使用相同的语法。当你覆盖诸如“代码>继承< /代码>或<代码>多态性< /代码>之类的主题时,你会了解更多关于接受回答