> 自媒体
pytho中的iit(pythoiit用法)
导语:一日一技:Python中的__init__ 方法(注意:各是两个下划线)
__init__方法类似于C ++和Java中的构造函数。 构造函数用于初始化对象的状态。 构造函数的任务是在创建类的对象时向类的数据成员初始化(分配值)。 与方法类似,构造函数还包含在创建对象时执行的语句(即指令)的集合。 实例化类的对象后立即运行。 该方法对于您要对对象进行的初始化非常有用。
代码演示--01:class Person: def __init__(self, name): self.name = name def say_hi(self): print(&39;, self.name) p = Person(&39;) p.say_hi()
输出:
Hello, my name is Nikhil
代码解析:
在上面的示例中,创建了一个人名Nikhil。 创建人时,将“ Nikhil”作为参数传递,该参数将传递给__init__方法以初始化对象。 关键字self表示类的实例,并将属性与给定的参数绑定在一起。 同样,可以通过传递不同的名称作为参数来创建Person类的许多对象。
代码演示--02:class Person: def __init__(self, name): self.name = name def say_hi(self): print(&39;, self.name) p1 = Person(&39;) p2 = Person(&39;) p3 = Person(&39;) p1.say_hi() p2.say_hi() p3.say_hi()
输出:
Hello, my name is NikhilHello, my name is AbhinavHello, my name is Anshul
__init__继承方法:继承是一个类从另一个类继承或继承属性的能力。 让我们用以下代码示例,演示一下,来了解__init__如何在继承中工作。
class A(object): def __init__(self, something): print(&34;) self.something = something class B(A): def __init__(self, something): A.__init__(self, something) print(&34;) self.something = something obj = B(&34;)
输出:
A init calledB init called
因此,父类构造函数首先被调用。 但在Python中,不必先调用父类构造函数。 可以修改父类或子类的__init__方法的调用顺序。 可以简单地通过在子类构造函数的主体之后调用父类构造函数来完成。
代码演示说明:
class A(object): def __init__(self, something): print(&34;) self.something = something class B(A): def __init__(self, something): print(&34;) self.something = something A.__init__(self, something) obj = B(&34;)
输出:
B init calledA init called
注意事项:
1.创建类的时候,比如class A(object)::,强烈建议首字母大写(大小写都可以的),大写字母能够增加代码可读性;
2.python语言对缩进有严格的要求,缩进不一致,必然导致报错.
本文内容由小海整理编辑!