对于Class类的杂谈与理解

要想搞清楚类,首先需要搞清楚的是以下两个名词:方法,对象。

我们可以定义全体女性为一个类别,那么女性的独有特征即为女性之类固有属性,而定义中女性去做的事情即为方法,而对象则是生活中的某个女性姑且命名为杭,对象即为类的实例,而定义之固有属性即为类变量。

如果我们是上帝或任何造物主之类的角色,我们在为亲爱的女性定义时,便可声明女性即为一类,其固有属性为嗓音细腻、无法忍受一星半点的月经周期等等(god is a girl);我为上帝,我会赋予女性去做的事情,如饭蔬食饮水,神圣如繁衍后代等即为方法;而地球上生活的一个女孩即为杭,此女孩即为我定义女性类中的实例,也即我的对象。因此,一句话总结,对象是类的实例。

接下来我们讲讲创建类时的规则,即上帝的规则:

对于类变量来说,首先它是公用的,即对所有实例来说都通用;它一般定义在类里面,且在方法之外;它包含类的固有属性,且不会作为实例变量使用,类变量的修改会影响到所有的实例。

对于方法来说,它分为两种。一种为定义在类中的函数,另一种则是python中自动产生的方法,前者较为容易理解,即我们将平时自己所定义的函数定义到了类之中,而其也只能在类中调用。对于后者,它在实例化也就是创建对象后会被自动调用,下面对于__init__所举的例子会很好说明这一特点。两者除了其使用不同外这一区别还有明显区别即名称上的不同,后者的格式都是__func__,而前者和函数类似。另外,在定义方法时,务必且要放在第一个位置的参数为self(不是self也可以,但是最好写self),其指代类的实例即对象。

类的延申:

1.__init__

此为python中自动产生的方法,作用是对类中的对象进行一个初始化的操作,前面说过,此类方法创建对象后会被自动调用,其变量即为实例变量。

如图,我在类中定义了两种方法,并对类进行实例化,也即创建新对象p。

运行后结果如何呢,理应是直接结束,不输出任何东西,但实际上却是如下图。

这说明在对类进行实例化之后,__init__会被自动调用。

而__init__的主要用法如下图

运行结果为:

2.局部变量

其位置一般处于定义方法中,仅作用于当前实例,函数执行结束就会被销毁。

3.类的继承(单继承)

即子类(派生类)可以继承父类(基类)的属性和方法。

若基类和派生类在同一模块,则可以使用

class 派生类名(基类名)

直接调用。

若两者不在同一模块,则应从基类所在模块导入基类:

方法一:from 模块 import 基类

方法二:import 模块

如果父类定义的方法功能不满足要求,则可以在子类中重写方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值