Python构造函数、成员函数,类变量、成员变量和局部变量

一直对这些概念比较混淆,今天理一下。
构造函数和成员函数
构造函数也被称为构造器,当创建对象的时候第一个被自动调用的函数,系统默认提供了一个无参的构造函数,语法如下:

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

函数体

构造函数和成员函数的区别

  • 成员函数的函数名可以自定义,但是,构造函数的函数名是固定的__init__
  • 成员函数需要被手动调用,但是,构造函数在创建对象的过程中是自动被调用的
  • 对于同一个对象而言,成员函数可以被调用多次,但是,构造函数只能被调用一次
    参考文档:https://blog.csdn.net/qq_38358499/article/details/92774242

类变量、成员变量、局部变量

class Fruit():
    num=0 #类变量,可以直接用类调用,或用实例对象调用
    def __init__(self,x,y):
        self.x=x  #实例变量(成员变量),需要它是在类的构造函数内以self.开头来定义的
        self.y=y
        self.fuc(self.x,self.y)

    def add(self):
        total=2  #局部变量
        self.vara=3  # 虽是以self.给出,但并没有在构造函数中进行初始化
        self.varb=4
        fina=(self.x+self.y)*total
        return fina

    def fuc(self,a,b):
        self.varc=a #成员变量,他们在成员函数fuc()中定义,但是在构造函数中调用了fuc()函数
        self.vard=b

总结:
一个类=类变量(可以没有)+构造函数(必须有,没有的话默认调用)+成员函数(自己定义,可以没有)

构造函数中定义了类的成员变量,类的成员变量一定是在构造函数中以self.开头的变量!
构造函数只是用来构造对象的方法。它没有传递到任何地方。而是将对象self自动传递给该类的所有方法。
如果您没有要构造的东西,则不需要构造器,但通常一开始您需要做一些事情。

成员函数中可以调用成员变量和类变量!成员函数的形参在类的实例调用该函数时传递,成员函数的局部变量在该成员函数内部定义。调用成员函数和调用普通函数一样,只是成员函数由该函数对应的类调用,即需要写成xxxx.func()而不是直接使用func()!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值