python第二十二天(物件導向)

2022-07-30 07:30:11 字數 1887 閱讀 1566

1、面向過程程式設計:

核心就是過程兩個字,過程是指解決問題的步驟,即先幹什麼後做什麼。

基於該思想編寫程式就好比在編寫一條流水線,是一種機械式的思維方式

優點:複雜的問題流程化、進而簡單化

缺點:可擴充套件性差

2、物件導向

核心是物件兩個,物件指的是特徵與技術的結合體

基於該思想編寫程式就好比在創造乙個世界,你就是這個世界的上帝,是一種上帝式的思維方式

優點:可擴充套件性強

缺點:程式設計的複雜度高於面向過程

重點:物件導向的核心提現是將資料和處理資料的程式封裝到物件中去

#函式與方法:都是解決問題的功能

#函式:通過函式名直接呼叫

#方法:通過附屬著,語法來呼叫

#變數:通過變數名訪問變數值

#屬性:通過附屬者,語法來訪問變數值

命名空間的操作:

#所有能產生命名空間對應的物件(存放位址的變數)有__dict__值

#__dict__值向就是附屬物件的命名空間

import re

print(re.__dict__)

re.__dict__['name'] = 're模組'

print(re.__dict__['name'])

re.__dict__['action'] = lambda x: x

print(re.__dict__['action'](10000))

print(re.__dict__)

print('******************************')

def fn():

pass

print(fn.__dict__) #{}

fn.name = 'fn函式'

print(fn.name) #fn函式

def test():

print('可以成為test功能的函式')

fn.action = test

fn.action() #可以成為test功能的函式

print(fn.__dict__) #

類與物件的概念

類:具有相同特徵與行為個體集合的抽象

物件:有特徵、行為的具體個體。就是類的具體體現

區別:兩個人同時思考乙個名字,想到的一定是同乙個物體,就一定時物件,反之就是類

語法:

class 類名:   #class定義類語法的關鍵字

pass

# 物件的產生:物件的例項化

物件1 = 類名()

物件2 = 類名()

物件3 = 類名()

# 類與物件都有自己獨立的命名空間,每乙個別例項化出來的物件,命名空間也是各自獨立

# 所以類和物件都可以額外新增屬性(變數)和方法(函式)

# 重點:類一旦被載入(隨這所屬檔案的載入就載入),就會進入類的內部執行類中的所有**

物件查詢屬性順序

# 優先載入自身的名字,如果沒有再載入類,類沒有就報錯

class people:

# 類自帶(不同在外界額外新增)的屬性與方法

identify='人類'

def sleep(self):

print('睡覺')

p1 = people()

p2 = people()

print(p1.identify) #人類  #訪問類de

p1.identify = '新人類'

print(p1.identify) #新人類  #訪問自己的

p1.__dict__.clear()  #刪除自己的

print(p1.identify) #人類  #訪問自己的已經被清楚了,訪問類的值

print(p2.identify) #人類  #p2沒有自己的就訪問類的

第二十二天

區域性變數和全域性變數 在乙個函式內部定義的變數是內部變數,他只有在本函式範圍內才有效,在此函式之外是不能使用這些變數的,這稱為區域性變數。復合語句的的變數是可以用 全域性變數也叫外部變數 全域性變數從 定義從 開始用 變數的儲存類別 從空間上講剛剛的就是作用域 從空間 還可以從變數值存在的時間 生...

2018 05 28 第二十二天

class testarraysort static void main string args int compare tiger arg0,tiger arg1 int age int getage void setage int age void setname string name voi...

學習python的第二十二天

python可以使用class建立更棒的 函式字典 比上節練習要強大的多。class 類 有著各種各樣強大的功能和用法,笨辦法學python 這本書涉及的不會太深。只要把它們當作高階的 函式字典 使用就可以了。用到class的程式語言被稱作 object oriented programming 物...