python 基础知识
(自存,不是正儿八经教学)
python中 __init__函数以及参数self怎么理解和使用
回顾一下:
class类包含:
类的属性:类中所涉及的变量 。
类的方法:类中函数。
理解__init__函数(方法)
init()方法有两个方面的重大意义:
① 在对象生命周期中初始化,每个对象必须正确初始化后才能正常工作。
② init()参数值可以有多种形式。
用到__init__函数(方法)
两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。
__init__函数(方法)支持带参数类的初始化,也可为声明该类的属性(类中的变量)。
init函数(方法)的第一个参数必须是self(self为习惯用法,约定俗成的东西),后面的参数则可以自由定义,和定义函数没有任何区别。
为什么一定要定义init()方法
定义完init()后,创建的每个实例都有自己的属性,可以直接调用类中的函数。
init(self,参数)和__init(self)区别
(1)定义
前者__init__()方法中只有self,但在方法的类部包含三个属性。而后者在定义方法的时候,直接给定两个参数。
(2)实例化
在这里插入图片描述
主要的区别在于:
前者定义类可以是一个空结构,当有输入进来的时候再添加相应的数据;
后者则必须传值,不予许为空值。
小结__init__()方法(函数)又被称为构造器(constructor)或构造函数,用__init__()这个特殊的方法(函数)可以方便地自己对类的属性进行定义。
定义完init()方法后,创建的每个实例都有自己的属性,也方便直接调用类中的函数;
成员函数需要被手动调用,而构造函数在创建对象的过程中是自动被调用的;
一般情况下,在一个类中,包含构造函数和成员函数,在构造函数中,定义了成员变量并给成员变量赋值。构造函数的形参与成员变量有关.
构造函数和成员函数之间的区别:
成员函数的函数名可以自定义,但是, python构造函数的函数名是固定的__init__
对于同一个对象而言,成员函数可以被调用多次,但是,构造函数只能被调用一次。