【Python】类


概要

文章围绕面向对象,讲解了Pyhton的类以及面向对象的三大特性,封装、继承、多态。


一、类的使用

1.1 定义类

1.1.1 方法__init__()
这是Python用来初始化类的方法,也称作构造方法。它的参数除了你想要初始化的变量和想要做的操作,还有一个self参数。
1.1.2 self参数
在Python类的所有方法的参数列表中,开始的第一个参数一定是self,他是一个指向对象本身的引用,可以通过他来访问类中的变量和方法。self参数无需传值,只需要在定义的时候写在参数列表的第一位即可。
以下是一个示例:

class Student:
	def __init__(self, name, number):
		self.name = name
		self.number = number

	def getInfo(self):
		print(self.name, self.number)

在变量前加上self,这时形参name的值会存储到变量name中,然后变量name会关联到当前创建的对象。
1.1.3 isinstance()函数
可以用该函数判断某一对象是否为某个类的实例。

二、面向对象的特性

2.1 封装

封装即将数据和操作封装到一起,通过控制访问权限,可以将实现细节隐藏对外只表现出接口供外界调用。
2.1.1 变量的访问权限
Python当中并没有严格限制变量的访问权限,这与其他的面向对象语言有所不同,Python的访问权限表示主要通过变量名或函数名来识别。以‘ _ ’开头的为protected成员,以‘ __ ’开头的是private成员,以‘ __ ’开头结尾的通常是系统定义的特殊成员。

类型权限
private私有成员只有自身的方法能访问
protected受保护的成员只有自身的方法和子类的方法可以访问
default默认成员在一个包内的方法可以访问
public公用成员任何方法都可以访问

2.1.2 静态
1)静态变量(类变量):不是在init函数中初始化的变量,而是在类定义中直接声明赋值的变量称作静态变量,他是属于类的,可以通过类名直接调用,所有对象共享。
2)实例方法:普通定义的类方法。
3)类方法(@classmethid):类方法是属于类的方法,可以调用类的类变量,但是不能调用实例变量。用装饰器@classmethid声明。
4)静态方法(@staticmethod):静态方法不访问任何类的属性和方法,用装饰器@staticmethod修饰。

2.2 继承

继承需要父类和子类须在同文件中且在子类前面定义。由于子类继承不会调用父类的构造方法,所以需要子类自行调用,定义子类时在类名后面加括号,括号内写父类的名字,子类的init方法先调用父类的init方法再初始化自身的属性。

class parent():
	pass


class child(parent):
	def __init__(self, ...):
		super.__init__(父类初始化的参数列表)
		#初始化自身属性

2.3 多态

多态指的是子类对象可以传给需要父类类型参数的函数,这时同一个函数表现出什么状态就取决于子类对象的性质。比如Python的运算符重载。


其他章节的内容

序列
集合与字典
函数
模块和包
异常
文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值