python的class通俗理解_Python面向对象中类(class)的简单理解与用法分析

本文实例讲述了Python面向对象中类(class)的简单理解与用法。,具体如下:

我们先来创建一个简单的类

class Fish(object):

pass

xiaoming = Fish()

一个基础类(base class) Fish(鱼)类就创建好了。class Fish(object)等同于class Fish()

caoyu = Fish() 语句创建了一个对象:xiaoming(小明)。变量名 = 类名+() 实例化 类

下面对Fish类进行扩充

class Fish():

def weight(self,weight):

print("鱼的重量:{}".format(weight))

xiaoming = Fish()

xiaoming.weight(100)

运行结果:

鱼的重量:100

关于self:

self代表类(class)的实例(instance)

self可以用其他词汇代替,name,you等,这只不过是约定俗成的

self必须定义,但不需要手动传值

我们在这个类里面定义了一个函数weight(),函数有两个参数self和weight,self我们只需要在创建函数时定义即可,传值调用时不用管。

当我们想给这个Fish类预设一些属性,初始化创建的实例化对象时,就可以定义一个__init__方法,在创建对象时自动进行初始化,

__init__前面是两个下划线

class Fish():

def __init__(self):

print("鱼都生活在水里。")

def weight(self,weight):

print("鱼的重量:{}".format(weight))

xiaoming = Fish()

#xiaoming.weight(100)

注释掉caoyu.weight(100)得到结果为:

鱼都生活在水里。

上面的代码定义了一个__init__方法,在caoyu这个对象建立的时候自动运行这个方法,打印输出了“鱼都生活在水里。”

创建了Fish() 鱼 类,突然觉得这个类包括的鱼太多了,那我们再来一个细分,即从Fish() 这个父类的基础之上,创建一个子类。子类继承了父类的一些属性,比如鱼都生活在水里,但又具有自己独有的特征,即属性。我们通过 class caoyu(Fish)定义了Fish父类下的caoyu(草鱼)子类。

class x(y)创建一个x类是y类的子类,就是创建子类的一般方法

class Fish():

def __init__(self):

print("鱼都生活在水里。")

def weight(self,weight):

print("鱼的重量:{}".format(weight))

class caoyu(Fish):

pass

xiaoli = caoyu()

输出结果:

鱼都生活在水里。

从上面的代码可以看到,class caoyu(Fish)这个类是Fish的子类,子类会继承父类的属性。我们实例化caoyu类后,就输出了“鱼生活在水里”,继承自父类Fish()的__init__方法。我们也可以重新定义子类的__init__方法,父类的__init__方法就会失效,就像下面这样:

class Fish():

def __init__(self):

print("鱼都生活在水里。")

def weight(self,weight):

print("鱼的重量:{}".format(weight))

class caoyu(Fish):

def __init__(self):

print("鱼类都有鳃。但不会得腮腺炎。")

xiaoli = caoyu()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值