一,面向对象(继承,封装,多态)
1.1封装
说明:
python类中,以双下划线"__"开头,不以双下划线结尾的标识符为私有成员。
私有成员分为:私有属性和私有方法,私有成员在子类和类外部无法访问
示例:
class test:
def __init__(self):
self.__a = 10
def __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
@abstractmethod
def get(self):
print("123")
pass
class test1(Base):
def __init__(self):
pass
def 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: #把打开文件的返回值定一个别名f
while True:
3/0 #触发异常
l = f.readline()
print(l,end='')
if len(l)==0:
break
作用:
with的作用,进入环境的备份和出去环境的还原