python--基础课程
类的三种用法
class A():
def __init__(self):
self.name='haha'
self.age=18
a=A()
属性的三种用法
1,赋值
2,读取
3,删除
a.name='小熊猫'
del a.name
print(a.name)
类属性 property
应用场景:对变量除了普通的三种操作,还想附加一些操作,那么可以通过property完成
class A():
def __init__(self):
self.name='haha'
self.age=18
#此功能,是对类变量进行读取操作的时候应该执行的函数功能
def fget(self):
print('我被读取了')
return self.name
#模拟的是对变量进行写操作时执行的功能
def fset(self,name):
print('我被写入了,但是还可以做好多事')
self.name='无敌熊猫'+name
#fdel模拟的是删除变量时进行的操作
def fdel(self):
pass
#property的四个参数的顺序是固定的
#第一个参数代表读取的时候需要调用的函数
#第二个参数代表的是写入的时候需要调用的函数
#第三个是删除
#第四个是文档
name2=property(fget,fset,fdel,'这是一个property的例子')
a=A()
print(a.name)
print(a.name2)
5-抽象类
.抽象方法:没有具体实现内容的方法成为抽象方法
.抽象方法的主要意义是为了规范子类的行为和接口
.抽象类的使用需要借助abc模块--import abc
.抽象类:包含抽象方法的类叫做抽象类,通常成为ABC类
#抽象类的实现
import abc
#声明一个类并且指定当前类的元类
class Human(metaclass=ABCMeta):
#定义一个抽象方法
@abc.abstractmethod
def smoking(self):
pass
#定义类抽象方法
@abc.abstractclassmethod
def drink():
pass
#定义静态抽象方法
@abc.abstractstaticmethod
def play():
pass