体会面向对象分析self用法,init函数以及函数的调用方法

本文详细解读了Python中self关键字的作用,包括其在类方法中的自我引用,以及__init__方法的参数传递和私有属性设置。同时介绍了如何通过self调用成员函数,区分普通函数与类方法,并展示了不同装饰器的成员函数用法。
摘要由CSDN通过智能技术生成

1.self用法

self就是指类本身,self.xxx就是Student类的属性变量,是Student类所有。而xxx是外部传来的参数,不是Student类所自带的。故,self.xxx = xxx的意思就是把外部传来的参数xxx的值赋值给Student类自己的属性变量self.xxx。和普通数相比,在类中定义函数只有一点不同,就是第一参数永远是类的本身实例变量self,并且调用时,不用传递该参数。类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。从执行结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。

2.init用法

我们可以使用__init__()方法来传递参数,比如赋值给对象属性等。两个下划线开头的函数是声明该属性为私有,不能在类的外部被使用或访问。而__init__函数(方法)支持带参数类的初始化,也可为声明该类的属性(类中的变量)。__init__函数(方法)的第一个参数必须为self,后续参数为自己定义。用__init__()这个特殊的方法就可以方便地自己对类的属性进行定义。

3.成员函数的调用方法

python类中成员的调用,python类中的方法到底到底是方法还是函数取绝于调用者,当类名调用这个方法时他是一个函数但是需要自己传值,当以实例调用时他是一个方法。

(1),不带装饰器的成员函数:

此类函数是类实例的成员函数,第一个参数必须是self,只有在类实例化后才能调用。

(2), 带 @ c l a s s m e t h o d 装 饰 的 成 员 函 数 

此类函数是类直属的成员函数,相当于C++中的静态成员函数,不需要实例化也能调用,第一个参数必须是cls

(3), 带 @ s t a t i c m e t h o d 装 饰 的 成 员 函 数 :

此类函数与类基本没有关系,只是为了方便把类经常用的一部分逻辑独立出来而已。
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值