文章目录
- 一,面向对象(继承,封装,多态)
- 1.1封装
- 1.2继承/派生
- 1.3多态
- 1.3.1纯虚函数
- 二,zip函数
- 三,with语句
一,面向对象(继承,封装,多态)
1.1封装
说明:
python类中,以双下划线"__"开头,不以双下划线结尾的标识符为私有成员。
私有成员分为:私有属性和私有方法,私有成员在子类和类外部无法访问
示例:
class test:def __init__(self):self.__a = 10def __private_method(self):print("私有方法被调用")def show_a(self):print("公有方法被调用")self.__private_method() #可以在类内部被调用print(self.__a)
a = test()
a.show_a()#执行结果
公有方法被调用
私有方法被调用
10
1.2继承/派生
说明:
单继承的语法:
class 子类名(超类名):
……
示例:
class human:def eat(self):print("吃饭")
class student(human):def study(self):print("学习")
a = student()
a.eat()
a.study()#执行结果
吃饭
学习
1.3多态
说明:
多态是指在继承/派生关系的类中,调用基类对象的方法,实际能调用子类的覆盖方法(子类对父类方法的重写)现象叫多态
1.3.1纯虚函数
说明:
拥有纯虚函数的类称为抽象类(不能实例化,只能用于派生的类叫做抽象类。)
示例:
from abc import ABC, abstractmethod
class Base(ABC): #base不能实例化def __init__(self):pass@abstractmethoddef get(self):print("123")passclass test1(Base):def __init__(self):passdef get(self):print("456")a = test1()
a.get()执行结果
456
作用:
在继承的关系中有些类没有必要去实例,他存在的意义就是派生子类,不让他实例化是为了不让发生混乱,方便管理。
二,zip函数
示例:
a = [1,2,3,4]
b = ['q','w','e']
c = zip(a,b)
for i in c:print(i)#执行结果
(1, 'q')
(2, 'w')
(3, 'e')
三,with语句
语法:
with 表达式 [as 别名]:
语句块
说明:
as子句中的变量绑定生产的对象
示例1:
with open('myfile.txt') as f: #把打开文件的返回值定一个别名fwhile True:3/0 #触发异常l = f.readline()print(l,end='')if len(l)==0:break
作用:
with的作用,进入环境的备份和出去环境的还原