2021-06-06

Python第十三周笔记

类定义:使用class关键字定义类,class关键字之后是一个空格,然后是类的名字,再然后是一个冒号,最后换行并定义类的内部实现。类名首字母一般要大写。
定义类后,可用来实例化对象,并通过“对象名.成员”的方式访问其中的数据成员或成员方法。
Python中,可以使用内置方法isinstance()来测试一个对象是否为某个类的实例。
Python中提供一个关键字pass,表示空语句,可以用在类和函数的定义中或选择结构、循环结构中“占位”。
类的所有实例方法都必须至少有一个self参数,并且必须是方法的第一个形参,self参数代表对象本身。
实例属性一般是指在构造函数__init__()中定义的,定义和使用时必须以self作为前缀;类属性是在类中所有方法之外定义的数据成员。在类的外部,实例属性属于实例对象,只能通过对象名访问;类属性属于类,可以通过类名或对象名访问。
如果成员名以两个下画线开头但不以两个下画线结束,则表示私有成员;私有成员在类的外部不能直接访问,需要通过调用对象的共有成员来访问;私有成员一般只能在类的成员方法中使用。
类中定义的方法可以分为四大类:公有方法、私有方法、静态方法和类方法。静态方法和类方法都可以通过类名和对象名调用,但不能直接访问属于对象的成员,只能访问属于类的成员。一般将cls作为类方法的第一个参数名称,但也可以使用其他的名字作为参数,并且在调用类方法时不需要为该参数传递值。静态方法可以没有参数。
class Root:
__total=0
@classmethod #修饰器声明类方法
def classShowTotal(cls): #类方法,只能直接访问类成员不能直接访问实例成员
Print(cls.__toatl)
@staticmethod #修饰器声明静态方法
def staticShowTotal():
Print(Root.__total)
派生类可以继承父类的公有成员,但是不能继承其私有成员。若需要在派生类中调用基类的方法。可以使用内置函数super()或通过“基类名.方法名()”的方式来实现。
多继承:父类中有同名方法跟继承顺序有关。子类可继承构造函数。子类重写父类构造函数后调用的是子类重写后的函数。
class BaseClass(object):
def show(self):
Print(‘BaseClass’)
class SubClassA(BaseClass):
def show(self):
print(‘Enter SubClassA’)
super().show()
print(‘Exit SubClassA’)
class SubClassB(BaseClass):
def show(self):
print(‘Enter SubClassB’)
super().show()
print(‘Exit SubClassB’)
class SubClassC(BaseClass):
def show(self):
print(‘Enter SubClassC’)
super().show()
print(‘Exit SubClassC’)
class SubClassD(SubClassA,SubClassB,SubClassC):
def show(self):
print(‘Enter SubClassD’)
super().show()
print(‘Exit SubClassD’)
d=SubClassD()
d.show()
print(SubClassD.mro())

Enter SubClassD
Enter SubClassA
Enter SubClassB
Enter SubClassC
BaseClass
Exit SubClassC
Exit SubClassB
Exit SubClassA
Exit SubClassD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值