Python學習之路 物件導向補充

2022-08-09 07:09:08 字數 2783 閱讀 3880

1、什麼是物件導向程式設計?

---以前使用函式

---類+物件

2、什麼是類什麼是物件,又有什麼關係?

class 類:

def 函式1():

pass

def 函式2():

pass

#obj 是物件,例項化的過程

obj = 類()

obj.函式1()

########## 物件導向不好 #########

########## 函式程式設計好 ###########

有時候,函式程式設計能實現,比較麻煩;

物件導向可以非常簡短快速的實現;

3、什麼時候適用物件導向?

---如果多個函式需要傳入多個共同引數時,可將多個引數封裝到物件導向

---根據乙個模板建立某些東西的時候

---應用場景

#分別採用物件導向和函式的方法實現「連線伺服器、上傳檔案和執行命令、關閉連線的功能」

class ssh:

def __init__(self,host,port,pwd,username):

self.host = host

...def connection(self):

# 建立連線

self.conn = 和霧浮起建立的鏈結物件()

def close(self):

# 關閉

self.conn.關閉

def upload(self):

self.conn.使用鏈結上傳檔案

def cmd(self):

self.conn.使用鏈結執行命令

obj = ssh(...)

obj.connection()

obj.upload()

obj.cmd()

obj.close()

#-----------------函式式程式設計-------------------

def upload():

# 連線伺服器

# 上傳檔案

# 關閉伺服器

def cmd():

# 連線伺服器

# 執行命令

# 關閉伺服器

4、self就是呼叫當前方法的物件

---靜態欄位的適用場景,每個物件中儲存相同的東西時,可以使用靜態字段

class foo:

#靜態字段

#公有屬性

country = "中國"

def __init__(self,name,count):

# 普通字段

# 普通屬性

self.name = name

self.count = count

# self.country = "中國"

def bar(self):

pass

obj1 = foo("河南",100000)

obj1.bar()

obj2 = foo("山東",120000)

obj2.bar()

5、封裝

----類中封裝了:字段、方法;

----物件中封裝了:普通字段(普通屬性)的值;

#---------封裝---------------

class f1:

def __init__(self,n):

self.n = n

print('f1')

class f2:

def __init__(self,arg1):

self.a = arg1

print('f2')

class f3:

def __init__(self,arg2):

self.b = arg2

print('f3')

o1 = f1("alex")

o2 = f2(o1)

o3 = f3(o2)

###輸出alex###

#o3.b ==> o2

#o2.a ==> o1

o3.b.a.n

繼承

###-------繼承######

class f1:

def __init__(self):

print('f1')

def a1(self):

print('f1a1')

def a2(self):

print('f1a2')

class f2(f1):

def __init__(self):

print('f2')

def a2(self):

self.a2()

print('f2a2')

class f3(f2):

def __init__(self):

print('f3')

def a2(self):

print('f3a2')

obj = f3()

obj.a2()

obj.a1()

多型(多種形態):

6、字段:

普通字段(儲存在物件中)

靜態字段(儲存在類中)

方法:普通方法(儲存在類中,呼叫者是物件)

靜態方法(儲存在類中,呼叫者是類,無需建立物件,可以有任意個引數)

###-------靜態方法######

class f1:

@staticmethod

def a1(a1,a2):

print('alex')

f1.a1(1,2)

Python學習之路 物件導向

物件導向 物件導向的程式設計的核心是物件 相當於你要處於創造者的思維來建立乙個新的東西,如你要實現什麼東西,需要幹什麼才能創造出來 要理解物件為何物。物件導向的程式設計好比作者寫 作者要解決的問題就是使主角從乙個屌絲公升級到大神的故事,作者覺得要讓主角成為大神,會給主角鋪墊從弱到強的大綱,主角很弱時...

python之路 物件導向

不了解什麼是物件導向,就無法更好的掌握python python既支援面向過程的程式設計也支援物件導向的程式設計。面向過程 程式是由過程或僅僅是可重用 的函式構建起來的。物件導向 程式是由資料和功能組合而成的物件構建起來的。物件導向中兩個重要的概念是類和物件。類是對事物的抽象,比如說 人類 物件是具...

python自學之路 物件導向

定義 指類中無需例項參與即可呼叫的方法 不需要self引數 在呼叫過程中,無需將類例項化,直接在類之後使用.號運算子呼叫方法。用法 靜態方法使用 staticmethod裝飾器來宣告 class classa object staticmethod def func a print hello py...