知行编程网知行编程网  2022-08-22 05:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中init什么意思的相关知识,包括python中print的用法,以及python中isinstance函数的用法这些编程知识,希望对大家有参考作用。

python中的init是什么意思

关于 __init__() 函数,它本身就是一个 python 构造函数。该函数类似于init()初始化方法,用于初始化新创建对象的状态,在对象创建后立即调用。

1.首先,两个下划线开头的函数声明该属性是私有的,不能在类外使用或直接访问。

2、init函数(方法)支持带参数的类的初始化,也可以声明类的属性。

3.init函数(方法)的第一个参数必须是self(self是成语,也可以使用其他名称),后面的参数可以自由指定,和定义一个函数没有区别。


self参数含义

在类的代码(函数)中,需要访问当前实例中的变量和函数,即访问Instance:

对应的变量(property):Instance.ProperyNam,去读取之前的值和写入新的值

调用对应函数(function):Instance.function(),即执行对应的动作

此处的Instance本身就是self。

Python中的self等价于C++中的self指针和Java、C#中的this参数。


实例

比如像实例化一个类:

class Cats:
    def __init__(self):
  self.age = 2 
>>>mimi = Cats()
>>>mimi.age 
>>>2

我们会发现,在Cats中将age的值初始化为2后,实例化就可以直接调用age的值了。

了解了构造函数之后,再来说说构造函数中的初始值不能被继承的问题。

class Dog:
    def __init__(self):
        self.hungry = True
    def eat(self):
        if self.hungry:
            print 'wang'
        else:
            print 'no'
class hsq(Bird):
    def __init__(self):
        self.fur = 'white'
    def play(self):
        print ("chaijia")
hh = haq()
hh.play()   #能正常输出
hh.eat()    #报错,因为hsq中没有hungry特性

原理:调用实例的方法时,方法的self参数自动绑定到实例上(称为绑定方法);

解决:使用super函数(只在新式类中有用)

class hsq(Dog):
    def __init__(self):
        super(Dog,self).__init__()
        self.sound = 'Squawk'
    def sing(self):
        print self.song()

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享