Pythonオブジェクト向け単純継承
2632 ワード
Pythonオブジェクト向け単純継承
pythonはオブジェクト向けの言語で、継承をサポートします.つまり、1つのクラスが親クラスの属性と方法を継承することができます.本書のコードは<>に由来し、コードの解読によって簡単に継承された概念を説明し、コードの注釈部分を参照してください.
実行結果:
実行結果:
pythonはオブジェクト向けの言語で、継承をサポートします.つまり、1つのクラスが親クラスの属性と方法を継承することができます.本書のコードは<>に由来し、コードの解読によって簡単に継承された概念を説明し、コードの注釈部分を参照してください.
# 1 V1
class Contact:
''' , name( )、email( )、 '''
all_contacts = [] # , 。 ,
def __init__(self,name,email):
self.name=name
self.email=email
#self.all_contacts=[] #
Contact.all_contacts.append(self) # 。
#self.all_contacts.append(self) #
class Supplier(Contact):
''' , '''
def order(self,order):
print("'{}' ask for '{}'".format(order,self.name))
if __name__ == '__main__':
s = Contact('Shenl','[email protected]')
l= Contact('Liang','[email protected]')
#print(l.all_contacts) #
for inner in s.all_contacts: # name emai
print(inner.name+" email :"+inner.email)
# Contact Supplier , order
c = Supplier('Shen','[email protected]')
c.order('i need milk')
print(" \t"+str(len(c.all_contacts))) # all_contacts 3
実行結果:
Shenl email :[email protected]
Liang email :[email protected]
'i need milk' ask for 'Shen'
3
# 2 , list
class ContactMatchList(list):
''' '''
def match(self,matchname):
''' name( ) '''
# :1 list, ( )list
# 2 list , name name( )
# 3 list
match_contact=[]
for i in self:
if matchname.lower() in i.name.lower():
match_contact.append(i)
return match_contact
class Contact:
''' name,email, '''
all_contacts = ContactMatchList() # , ContactList
def __init__(self,name,email):
self.name=name
self.email=email
self.all_contacts.append(self)
if __name__ == '__main__':
c = Contact('John C1','[email protected]')
d= Contact('John D2','[email protected]')
x = Contact('Tom X2', '[email protected]')
#print([c.name for c in c.all_contacts.match('john')]) #
for c in c.all_contacts.match('john'):
print(c.name)
実行結果:
John D2
Tom X2