day 25インタフェースクラス抽象クラスパッケージ
5449 ワード
復習:
転載先:https://www.cnblogs.com/Murraya/p/11209906.html
# :
# *****
# , ,
# ,
# ,
# self , self
# ***
# :
# : ,
# .mro ,
# python3 super ,
# :Python
# :Python
#
# :
# , —— java
# , —— java
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta): # type
@abstractmethod
def pay(self,money):pass #
class Wechat(Payment):
def pay(self,money):
print(' %s '%money)
class Alipay(Payment):
def pay(self,money):
print(' %s ' % money)
class Applepay(Payment):
def pay(self,money):
print(' applepay %s ' % money)
def pay(pay_obj,money): #
pay_obj.pay(money)
app = Applepay()
p = Payment()
#
import abc # abc
class All_file(metaclass=abc.ABCMeta):
all_type='file'
@abc.abstractmethod # ,
def read(self):
' '
with open('filaname') as f:
pass
@abc.abstractmethod # ,
def write(self):
' '
pass
class Txt(All_file): # , read write
def read(self):
print(' ')
def write(self):
print(' ')
class Sata(All_file): # , read write
def read(self):
print(' ')
def write(self):
print(' ')
class Process(All_file): # , read write
def read(self):
print(' ')
def write(self):
print(' ')
wenbenwenjian=Txt()
yingpanwenjian=Sata()
jinchengwenjian=Process()
# ,
wenbenwenjian.read()
yingpanwenjian.write()
jinchengwenjian.read()
print(wenbenwenjian.all_type)
print(yingpanwenjian.all_type)
print(jinchengwenjian.all_type)
from abc import abstractmethod,ABCMeta
class Swim_Animal(metaclass=ABCMeta):
@abstractmethod
def swim(self):pass
class Walk_Animal(metaclass=ABCMeta):
@abstractmethod
def walk(self):pass
class Fly_Animal(metaclass=ABCMeta):
@abstractmethod
def fly(self):pass
class Tiger(Walk_Animal,Swim_Animal):
def walk(self):
pass
def swim(self):
pass
class OldYing(Fly_Animal,Walk_Animal):pass
class Swan(Swim_Animal,Walk_Animal,Fly_Animal):pass
#
# :
# ,
# ,
# :
# java :
# java ,
# , java , Interface
# python
# python :
# python class
# python :
# python
# : ,
#
# ——
#
class Person:
__key = 123 #
def __init__(self,name,passwd):
self.name = name
self.__passwd = passwd #
def __get_pwd(self): #
return self.__passwd # , _
def login(self): #
self.__get_pwd()
alex = Person('alex','alex3714')
print(alex._Person__passwd) # _ __
print(alex.get_pwd())
#
#
#
#
#
# python
# def func(int num,str name):
# pass
#
# func('alex',2)
# class Payment:pass
# class Alipay():
# def pay(self,money):
# print(' %s ' % money)
#
# class Applepay():
# def pay(self,money):
# print(' applepay %s ' % money)
#
# def pay(pay_obj,money): #
# pay_obj.pay(money)
#
# pay()
#
# python
#
# list tuple
#
# 。
# , ,
# list tuple , ,
# :
# : ,
class List():
def __len__(self):pass
class Tuple():
def __len__(self):pass
def len(obj):
return obj.__len__()
l = Tuple()
len(l)
#
# #
# # python
# python
転載先:https://www.cnblogs.com/Murraya/p/11209906.html