繁体   English   中英

使用和不使用 __init__() 的正确参数创建类的实例有什么区别?

[英]What is the difference creating an instance of a class with and without the correct parameter of __init__()?

我打印了两个实例,正确的以 < main .Book 开头,而init () 的错误参数以类“ main .Book”开头。 我可以知道有什么区别/目的吗?

class Book:
    def __init__(self, title):
        self.title = title

book1 = Book("Lion King") 
book2 = Book  #Doesn't have the right parameter as title not included? 

print(b1)  #<__main__.Book object at 0x10cad5c10>
print(b2)  #<class '__main__.Book'>

先感谢您!

book1 = Book("Lion King")创建class Bookinstance ,因为Book("Lion King")是类 Book 的构造函数。

book2 = Bookbook2分配给book2 = Book class Book ,因为Book 是一个类而不是方法

变量“book1”是一个已初始化的类,存储在 RAM 中的 0x10cad5c10 处。 变量“book2”不是一个初始化类,而是一个别名。 您可以像这样初始化它:

aBook = book2("a Title")

不同之处在于第一个条件被初始化并存储在你的 RAM 中的某个地址,而在第二种情况下它没有被初始化——它只是别名。

第二种情况只是创建对象并为该实例提供一个值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM