第十四課 物件導向(一)

2021-10-04 18:23:36 字數 3775 閱讀 2061

常用名詞

類 vs 物件

類的內容

類的定義,使用class關鍵字

類的命名

# 定義學生類,和幾個學生

class

student()

:# 可以放置引數

pass

# 此處定義乙個空類,用pass佔位,如果這行什麼也不放會報錯

# 定義乙個物件,也叫類的例項化

***xxbai = student(

)

class

pythonstudent()

: name =

"noone"

age =

18 course =

"python"

```定義類中的函式

一般需要有self關鍵字

其餘跟普通函式基本相同

```def

givememoney

(self)

:print

("show me the money"

)return

none

xiaobai = pythonstudent(

)print

(xiaobai.name)

print

(xiaobai.age)

print

(xiaobai.course)

class

student()

: name =

"beijingtulingxueyuan"

age =

19def

sayhi

(self)

:# 指代本身,預設例項作為第乙個引數傳入。

print

("aitulingaishenghuo"

)# 如果函式沒有retrun none,則返回啥?

return

none

defsayhai

(meme)

:# self名稱可更改,meme同self

print

("love meme"

)return

none

erna = student(

)# 類的例項化

# self 舉例

# 例項呼叫函式

yaoyao = student(

)yaoyao.sayhi(

)# yaoyao呼叫sayhi沒有輸入引數

# 因為預設例項作為第乙個引數傳入

a ="sangna"

yaoyao.sayhi(a)

# 會報錯,多乙個引數的錯,因為yaoyao已經預設作為第乙個引數傳入了

# 案例1

class

student()

:# name,age就是類的變數

# 注意類的變數的定義位置和方法

# 不需要字首

name =

"beijingtulingxueyuan"

age =

19def

sayhi

(self)

:print

("my name is {},i am {} years old."

.format

(self.name, self.age)

)return

none

# 以下案例說明,例項變數可以借用類的變數

erjing = student(

)erjing.sayhi(

)

# 案例1

class

student2()

:# name,age就是類的變數

# 注意類的變數的定義位置和方法

# 不需要字首

name =

"beijingtulingxueyuan"

age =

19def

sayhi

(self, n, a)

: self.name = n

self.age = a

print

("my name is {},i am {} years old."

.format

(self.name, self.age)

)return

none

erjing = student2(

)# 注意觀察下面語句開啟和關閉後的區別

# erjing.sayhi("erjing", 17)

print

("my name is {},i am {} years old."

.format

(student2.name, student2.age)

)print

("my name is {},i am {} years old."

.format

(erjing.name, erjing.age)

)# 如果類也沒有定義,報錯

print

(erjing.father)

class

student()

:# name,age就是類的變數

# 注意類的變數的定義位置和方法

# 不需要字首

name =

"beijingtulingxueyuan"

age =

19def

sayhi

(self)

:print

("my name is {},i am {} years old."

.format

(self.name, self.age)

)return

none

# sos是類的方法,沒有self引數,即不以例項自己為參

# 類的方法呼叫需要用到特殊的方法

defsos()

:# 類方法中不允許訪問例項的任何內容,因為沒有self引數,就是不能例項化,即類的方法只允許訪問類的屬性

# print("my name is {},i am {} years old.".format(self.name, self.age)) # 報錯

# 如果訪問類的內容(屬性或其他方法),以下兩種方式都可以

print

("my name is {},i am {} years old."

.format

(student.name, __class__.age)

)return

none

s = student(

)s.sayhi(

)s.sos(

)# 報錯

# 類的方法的呼叫,直接用類呼叫

student.sos(

)

class

student()

: name = noname

age =

19def

__init__

(self)

:# 有self引數,因為建構函式是在例項化的過程中呼叫的

print

("我是建構函式"

)erjing = student(

)# 例項化時自動呼叫建構函式

print

(erjing.name)

print

(erjing.age)

魔法函式

C 第十四課 物件導向

一 面向過程程式設計 程式主要由乙個個函式組成。函式的呼叫過程和演算法的解題步驟之間有密切的對應關係。二 物件導向程式設計 程式由類組成。程式執行時,多個 物件 彼此協作完成各種功能。物件 通常與物理世界的事物有一定的對應關係。三 類與物件 1.類的定義 類與結構體相似,是一種自定義資料型別。類一般...

第十四課網路程式設計

第十四課網路程式設計 int wsastartup word wversionrequested,lpwsadata lpwsadata wversionrequested引數用語指定準備載入得winsock 庫得版本,高委位元組指定所需要得winsock庫得副版本,而地位位元組則是主版本,課用ma...

python第十四課 2018 5 3

正則 數字 d 字母 s asciis 97 a 65 a pjack s.s s.p name 實驗 re模組簡介 re模組是python中處理正規表示式的乙個模組,通過re模組的方法,把正規表示式pattern編譯成正則物件,以便使用正則物件的方法 re的方法 match search matc...