首先,作一個比較python
函數式:函數
def foo(name,age,sex,things): print(name,age,sex,things) foo('ziChuan','21','boy','stufy python') foo('ziChuan','21','boy','stufy python') foo('ziChuan','21','boy','stufy python')
面向對象:spa
class Bar: def foo(name,age,sex,things): print(name,age,sex,things) obj = Bar() obj. foo('ziChuan','21','boy','stufy python') obj. foo('ziChuan','21','boy','stufy python') obj. foo('ziChuan','21','boy','stufy python')
如今看起來面向對象後,功能不變但代碼卻增長了,那爲什還要用面向對象呢?code
1、定義 函數: def = 函數名(參數) 面向對象: class => 名字叫Bar類 def => 名字叫foo的方法 #### self
2、執行
函數:
函數名(參數)
面向對象:
obj = Bar() #建立中間人(對象、實例)
obj.foo()
定義類並執行類中的方法:對象
class 類名: def 方法名(self,arg): print(arg) 中間人 = 類名() 中間人.方法名(1)##############################class 類名: def 方法名(self, arg): print(arg) return l中間人 = 類名()ret = 中間人.方法名(1)print(ret)