亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中面向對向介紹及類的屬性和方法

發布時間:2020-08-24 04:38:01 來源:網絡 閱讀:557 作者:楓葉云 欄目:編程語言

1.面向對象介紹

類和對象:是面向對象中兩個重要概念

    類:是對象對事物的抽象,比如人類\球類

    對象:是類的一個實例,比如足球\籃球

實例說明:

    球類可以對球的特征和行為進行抽象,然后可以實例化一個真實的球體出來

為什么面向對象?

面向對象的主要思想是
  • 封裝

  • 繼承

  • 多態

    這種思想方面解決較為復雜的項目,而且維護起來較為容易

Python類定義
類定義:

    類把需要的變量和函數組合成一起,這種包含稱為"封裝",

    class A(object):

類的結構:

    class 類名

        成員變量-屬性

        成員函數-方法

類的創建

class MyClass(object):

    def fun(self):

        print ("i am function")

類的方法中至少有一個參數self

類腳本舉例:


    class People(object):

        color = 'yellow'

        def think(self):

            self.color = "black"

            print "I am a %s "  % self.color

            print ("I am a thinker")

    ren = People()

    print ren.color

    ren.think()

2.類的屬性

成員變量
對象的創建
創建對象的過程稱之為實例化,當一個對象被創建后,包含三個方面的特性對象聚丙屬性和方法,
句柄用于區分不同的對象,
對象的屬性和方法,與類中的成員變量和成員函數對應,
obj = MyClass()創建類的一個實例,擴號對象,通過對象來調用方法和屬性
類的屬性
類的屬性按使用范圍分為公有屬性和私有屬性類的屬性范圍,取決于屬性的名稱,
共有屬性---在內中和內外都能夠調用的屬性
私有屬性---不能在內外貝類以外函數調用
定義方式:以""雙下劃線開始的成員變量就是私有屬性
可以通過instance.
classnameattribute方式訪問,
內置屬性--由系統在定義類的時候默認添加的由前后雙下劃線構成,如
dic,module__

#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
     __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

ren = People()
ren.color = '白色人'
print ren.color
ren.think()
print '#'*30
print("People.color")
print ren.__People__age  ##測試時使用。如要調用 時,通過方法內調用 。

3.類的方法

成員函數

類的方法
    方法的定義和函數一樣,但是需要self作為第一個參數.

類方法為:

  • 公有方法
  • 私有方法
  • 類方法
  • 靜態方法

公有方法:在類中和類外都都測調用的方法.
私有方法:不測被類的外部調用模塊,在方法前加個“__”c雙下劃線就是私有方法。

self參數:
用于區分函數和類的方法(必須有一個self)
self參數表示執行對象本身
#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
     __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

   def test(self):

self.think() # 內部調用
jack = People()
jack.test()    #外部調用
#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
     __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

def  __talk(self):
print "I am talking with Tom"

 def test(self):
self.__talk() # 內部調用talk()

jack = People()
jack.test()    #外部調用
類方法

類方法:被classmethod()函數處理過的函數,能被類所調用,也能被對象所調用(是繼承的關系)。

靜態方法:相當于“全局函數”,可以被類直接調用,可以被所有實例化對象共享,通過staticmethod()定義靜態方法, 靜態方法沒有self參數

裝飾器:

@classmethod()
@staticmethod()
#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
     __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

def  __talk(self):
print "I am talking with Tom"

 def test(self):
print 'Testing....'

  cm = classmethod(test)

jack = People()
People.cm()

通過類方法類內的方法 ,不涉及的屬性和方法 不會被加載,節省內存,快。

#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
     __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

def  __talk(self):
print "I am talking with Tom"

 def test():   ##沒有self   靜態調用     會把所有的屬性加載到內存里。
print People.__age   #  通過類訪問內部變量

  sm = staticmethod(test)

jack = People()
People.sm()

裝飾調用類的方法:

#!/usr/bin/env python
#-*- coding:utf-8  -*-
class People(object):
    color = 'yellow'
    __age = 30   #私有屬性

    def think(self):
        self.color = "black"
        print "I am a %s "  % self.color
        print ("I am a thinker")
        print self.__age

    def  __talk(self):
        print "I am talking with Tom"

    @classmethod #調用類的方法 
    def test(self):
        print ("this is class method")

    @staticmethod  #調用類的方法 
    def test1():    
        print ("this is static method")

jack = People()
People.test()
People.test1()
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 巴里| 文安县| 博爱县| 石棉县| 小金县| 苏尼特左旗| 新乐市| 碌曲县| 安塞县| 永仁县| 竹山县| 三台县| 石景山区| 尚义县| 桃园市| 乌兰浩特市| 南陵县| 鹤壁市| 疏附县| 玉龙| 和政县| 双辽市| 西盟| 梅州市| 武冈市| 龙里县| 库车县| 樟树市| 乌拉特后旗| 东乌| 封开县| 类乌齐县| 延寿县| 北宁市| 台前县| 瑞金市| 泸溪县| 高青县| 南澳县| 方正县|