面向過程和物件導向

2022-09-16 09:00:13 字數 2722 閱讀 9574

面向(對著)--> 過程(流程/步驟)--> 程式設計(碼**)

input(輸入)-->>process(過程/處理)--> output(輸出)

未來碼**的目的:輸入一些變數,然後會通過一些列步驟改變變數,然後得到想要的結果

def compare2(x, y):

if x > y:

return x

else:

return y

x = input('請輸入乙個數:')

y = input('請輸入另乙個數:')

res = compare2(x, y)

print(res)

控制變數不斷地變化

怎麼找bug

x = 10

y = 20

# 流程1

# 變數每變化一次,就列印一次

# 流程2

……# 流程(方法有很多種) 需求的實現是多樣化的,沒有唯一解

定位bug,不一定就是那一行出錯了

列印變數變化的狀態,判斷該流程是否有問題

類:(模板/類別)劃分了物件,具有相同屬性和技能的物件屬於同一類

在現實世界中:先有乙個個具體存在的物件,然後隨著人類文明的發展才了分類的概念,既然現實世界中有類這個概念,python程式中也一定有類這個概念,但是在python程式中:必須先定義類,然後呼叫類來產生物件。

class student():    # 定義了學生類

def __init__(self, name, age, height, weight):

self.age = age

self.name = name

self.height = height

self.weight = weight

def choose_course(self):

print(f'正在選課')

cwz = student('cwz', 18, 180, 140)

print(cwz.name)

print(cwz.age)

print(cwz.height)

print(cwz.weight)

class student():

'''注釋:定義類'''

school = 'oldboy'

def choose_course(self):

print('正在選課')

呼叫類即可產生物件,呼叫類的過程又稱為類的例項化

class student():

'''注釋:定義類'''

school = 'oldboy'

def choose_course(self):

print('正在選課')

stu1=student() # 例項化物件,stu1就是乙個物件

print(stu1.school)

stu2 = student()

stu2.choose_course()

# 物件使用類的方法,不需要加引數,因為例項化物件呼叫該方法時,python會自動將該例項化物件傳給self

# 輸出結果:

oldboy

正在選課

類中定義變數使用駝峰體

類定義階段,會執行**

class student():

'''注釋:定義類'''

school = 'oldboy'

def choose_course(self):

print(self)

print('正在選課')

def init(obj, name, height, weight):

obj.name = name

obj.weight = weight

obj.height = height

stu2 = student()

init(stu2, 'neo', 190, 180) # init是用來給物件新增獨有特徵的函式

print(stu2.name)

定義__init__方法

class student():

def __init__(self, name, age, height, weight):

self.age = age

self.name = name

self.height = height

self.weight = weight

def choose_course(self):

print(f'正在選課')

neo = student('neo', 18, 180, 140)

print(neo.name)

print(neo.age)

print(neo.height)

print(neo.weight)

neo.choose_course()

python中一切皆物件,一切皆資料型別

作為物件:

引用 x = 10 y = x

作為容器類元素 lt = [x, func, student]

作為函式引數 def func(x, func, student)

作為函式返回值 return x, func, studnet

物件導向和面向過程

面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。例如五子棋,面向過程的設計思路就是首先分析問題的步驟 1 開始遊...

物件導向和面向過程

物件導向和面向過程的區別 面向過程 更加關注整個程式的實現流程 物件導向 更加關注整個程式中有哪些類,每個類有哪些屬性,有哪些行為,它將整個功能劃分為許多小功能,分散到不同的類中,使用時,僅需命令相應的類完成相應的事情 物件導向的優勢 1.更高的容錯率 2.更易閱讀的 3.更易擴充套件 物件導向的劣...

物件導向和面向過程

面向過程 顧名思義,其中心意義在於 過程 二字,比如你要吃飯,那麼首先是要選地,播種,施肥,成熟,收穫,煮飯,然後才能吃飯,那麼面向過程就是從開始到結束,分析出解決問題的需要的每乙個步驟,然後用函式將這些步驟乙個乙個實現,使用的時候乙個乙個一次呼叫就行了。物件導向 同樣的,你去飯店吃飯的時候,只需要...