面向對象和類的介紹
阿新 • • 發佈:2018-09-19
def 面向對象 使用 訪問 查看類 面向 返回值 ini 編程
#一、面向對象
#面向過程與面向對象
#面向過程:過程即解決問題的過程,就是有邏輯順序,基於該思想寫程序。如設計流程圖,是一種機械式的思維方式。
#優點:復雜的過程流程化,進而簡單化
#缺點:擴展性差
#面向對象:對象是特征與技能的結合體,基於該思想編寫程序比如創造一個世界,世界是由一個個對象組成
#優點:可擴展性強
#缺點:編程復雜高,容易出現過度設計
#二、類
#對象是特征與技能的結合體,類是一系列對象相似的特征與技能的結合體。
#在實現中:一定是先有的一個個具體的對象,後總結出的類。如(人,人類)
#在程序中:一定是先定義類,後產生對象。
#類的格式: class 類名:
#類體內的代碼在類的定義階段就會立即執行,
#如:
class sut:
sc=‘dagschool‘
def learn(self):
print(‘is learing‘)
def __init__(self,name,sex,age): #__init__在調用類時會自動觸發
self.Name=name
self.Sex=sex
self.Age=age
#self.Name=‘李‘
#self.Sex=‘男‘
#self.Age=18
def choose_cou(self):
print(‘choose‘)
#類的查看屬性
print(sut.__dict__) #__dict__查看類的名稱空間
print(sut.sc) #訪問類的名稱空間,"."訪問前面名稱空間的屬性。
print(sut.learn) #learn類的函數屬性
#類的增加屬性
sut.counttry=‘china‘
print(sut.counttry)
#類的修改屬性
sut.sc=‘DAGSCHOOL‘
print(sut.sc)
#類的刪除屬性
del sut.counttry
print(sut.counttry)
#類函數的調用,必須傳參
sut.learn(‘ss‘)
#調用類的過程又稱之為實例化
#1.得到的返回值,即是一個對象,該對象是一個空對象。
#2.把空對象,連同調用類時類括號參數,把它拼接成一堆參數,其中空對象本身要當成第一個參數,然後傳給初始化的函數__init__。如:sut.__init__(sut1,‘李‘,‘男‘,18)
sut1=sut(‘李‘,‘男‘,18) #sut1就是一個對象
print(sut1.__dict__)
print(sut1.Name,sut1.Sex,sut1.Age)
#類中定義的函數是綁定給對象使用的,不同的對象就是不同的綁定方法,綁定給誰,就應該由誰來調用。誰來調用,就會誰當做第一個參數傳給對象的函數。
class sut:
sc=‘dagschool‘
def learn(self,x,y):
print(‘%s is learing‘ %self.Name)
print(x,y)
def __init__(self, name, sex, age): # __init__在調用類時會自動觸發
self.Name=name
self.Sex=sex
self.Age=age
sut1=sut(‘李‘,‘男‘,18) #sut1就是一個對象
print(sut1.__dict__)
print(sut1.Name,sut1.Sex,sut1.Age)
sut2=sut(‘羅‘,‘男‘,8)
sut3=sut(‘候‘,‘男‘,181)
print(sut.learn)
print(sut1.learn)
print(sut2.learn)
print(sut3.learn)
sut1.learn(1,2)
sut.learn(sut1,1,2) #結果相同
#在類內部定義的函數,都應該默認有一個參數。
例:
class Teac:
schoo=‘oldboy‘
count=0
def __init__(self,name,sex,age,level,salary):
self.name=name
self.sex=sex
self.age=age
self.level=level
self.salary=salary
Teacher.count+=1
def teach(self):
print(‘%s is tacahing‘ %self.name)
t1=Teac(‘ii‘,‘sdf‘,19,56,20)
t2=Teac(‘tr‘,‘tf‘,58,60,1000)
t3=Teac(‘hg‘,‘aop‘,68,40,100)
print(t1.count)
#類及類型
g=[1,2,3,4] #g=list([1,2,3,4])
g1=list([1,2,3,4])
g2=list([1,2,3,4])
g1.append(5)
#等於
list.append(g1,5) #g1相當於默認參數self
print(g1)
#綁定方法的理解
g1.append(‘a‘)
g2.append(‘b‘)
面向對象和類的介紹