14.1Python面向對象前戲

Python面向對象前戲

對python來說,可以完全使用函數式編程來完成,也可以用面向對象編程來完成,Java只能用面向對象。

面向對象:
僅僅是一個別名

def foo(name,age,gender,content):
print(name,age,gender,content)
foo(小明,10歲,男,上山去砍柴)
foo(小明,10歲,男,開車去東北)

class bar:
def foo(self,name,age,gender,content):
print(name,age,gender,content)

obj=bar()

obj.foo(小明,10歲,男,上山去砍柴)
obj.foo(小明,10歲,男,開車去東北)

面向對象過程:
一.定義:
函數:
def 函數名(參數)

面向對象:
class 類名:
def 方法名(self,args)
以後類裏面有方法,第一個參數必須寫self
二.執行
函數:
函數名(參數)
面向對象:
o= 類名() 創建中間人o,叫對象或者實例
o.方法名()

class first_class():
    def info(self):
        print("ok!")
        return True

o=first_class()
o.info()
print(o.info())

三.self是什麼意思
s1="123"等同於s1=str("123") str本身就是一個class
self 等於當前執行對象

class sec_class():
    def info(self,args):
        print(self,args)

obj1=sec_class()
obj2=sec_class()
print(obj1)
# <__main__.sec_class object at 0x000000AF402EAAC8>
print(obj1.info("haha"))
# <__main__.sec_class object at 0x000000AF402EAAC8> haha
# None
print(obj2)
# <__main__.sec_class object at 0x00000065B76BAA20>
print(obj2.info("wawa"))
# <__main__.sec_class object at 0x00000065B76BAA20> wawa
# None

對象裏面存東西,能不能進入方法中,能!

class third_class():
    def info(self,args):
        print(self,self.name,args)

obj3=third_class()
obj3.name="jiaxin"
print(obj3.info("kaka3"))
# <__main__.third_class object at 0x0000004EB372AC88> jiaxin kaka3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章