Python之构造函数

构造函数

构造函数也被称为构造器,当创建对象的时候第一个被自动调用的函数,系统默认提供了一个无参的构造函数 per = Person()

语法:

def  __ init__(self,arg1,arg2,...):

函数体

说明:

  1. 之前的写法中并没有显示的定义一个个构造函数,所以系统默认提供了一个无参的构造函数
  2. arg1,arg2,...可以自己定义,但是,一般情况下,构造函数的形参列表和成员变量有关
  3. 构造函数的特点:创建对象;给对象的成员变量赋值

构造函数和成员函数之间的区别:

  1. 成员函数的函数名可以自定义,但是,构造函数的函数名是固定的__init__
  2. 成员函数需要被手动调用,但是,构造函数在创建对象的过程中是自动被调用的
  3. 对于同一个对象而言,成员函数可以被调用多次,但是,构造函数只能被调用一次
#1.构造函数被调用
class Check():
    #成员变量
    num1 = 0
    s1 = ""

    #成员方法
    def show(self):
        print("showing")

    #构造函数
    def __init__(self):
        print("构造函数被执行了")

c = Check()          #构造函数被执行了
c.show()             #showing
#2.给构造函数添加参数
class Check1():
    #成员变量
    num1 = 0
    s1 = ""

    #成员方法
    def show(self):
        print("showing")

    #构造函数
    def __init__(self,*s):     #设置不定长参数
        print("构造函数被执行了~~~")

#注意1:当在类中定义了构造函数,并且给构造函数设置了参数,系统将不再提供无参的构造函数
#在创建对象的时候,注意参数的匹配问题
#注意2:在同一个类中,构造函数只能出现一次
c1 = Check1(10,20)            #构造函数被执行了~~~
c1 = Check1()              #构造函数被执行了~~~
#3.构造函数的作用
class Check2():
    #成员变量
    num1 = 0
    s1 = ""

    #成员方法
    def show(self):
        print("showing")

    #构造函数
    #构造函数的形参列表一般和成员变量有关【主要给成员变量赋值】
    def __init__(self,n,s):
        print(n,s)
        num1 = n
        s1 = s

c2 = Check2(10,"abc")           #10 abc
print(c2.num1,c2.s1)        #0
#4.self的作用:通过self区分成员变量和局部变量
class Check3():
    #成员变量
    num1 = 0
    s1 = ""

    #成员方法
    def show(self):
        print("showing")

    #构造函数
    #构造函数的形参列表一般和成员变量有关【主要给成员变量赋值】
    def __init__(self,n,s):
        print(n,s)
        #此时的num1并不是一个局部变量,而是一个成员变量
        self.num1 = n
        self.s1 = s

c3 = Check3(11,"abc")           #11 abc
print(c3.num1,c3.s1)        #11 abc
#5.使用self之后:可以省略成员变量的定义
class Check4():
    #成员方法
    def show(self):
        print("showing")

    #构造函数
    def __init__(self,num1,s1):
        print(num1,s1)
        #定义成员变量,成员变量赋初始值
        self.num1 = num1
        self.s1 = s1

c4 = Check4(12,"abc")           #12 abc
print(c4.num1,c4.s1)        #12 abc

总结:一般情况下,在一个类中,包含构造函数和成员函数,在构造函数中,定义了成员变量并给成员变量赋值。构造函数的形参与成员变量有关

  • 54
    点赞
  • 198
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值