91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python 面向對象之類class和對象基本用法示例

發布時間:2020-10-01 18:48:48 來源:腳本之家 閱讀:187 作者:Dawn__Z 欄目:開發技術

本文實例講述了Python 面向對象之類class和對象基本用法。分享給大家供大家參考,具體如下:

類(class):定義一件事物的抽象特點,usually,類定義了事物的屬性和它可以做到的性為

對象(object):是類的實例。

1.基本點

class MyClass(object):
  message = "hello,world"
  def show(self):
    print (self.message)

類名為MyClass 有一個成員變量:message,并賦予初值
類中定義了成員函數show(self),注意類中的成員函數必須帶有參數self
參數self是對象本身的引用,在成員函數中可以引用self參數獲得對象的信息

輸出結果:

inst = Myclass() # 實例化一個MyClass 的對象
inst.show # 調用成員函數,無需傳入self參數
hello,world

注: 通過在類名后面加小括號可以直接實例化類來獲得對象變量,使用對象變量可以訪問類的成員函數與成員變量。

2.構造函數

構造函數是一種特殊的類成員方法,主要用來創建對象初始化,python 中的類構造函數用__init__命名:

class MyClass(object):
  message = 'Hello, Developer.'
  def show(self):
    print self.message
  def __init__(self):
    print "Constructor is called"
inst = MyClass()
inst.show()
>>>

打印結果:

>>>Constructor is called
>>>Hello, Developer.

注:構造函數不能有返回值,python 中不能定義多個構造函數,但可以通過為命名參數提供默認值的方式達到用多種方式構造對象的目的。

3.析構函數

是構造的反向函數,在銷毀或者釋放對象時調用他們。

python 中為類定義析構函數的方法在類定義中定義一個名為__del__的沒有返回值和參數的函數。

class MyClass(object):
  message = 'Hello, Developer.'
  def show(self):
    print self.message
  def __init__(self, name = "unset", color = "black"):
    print "Constructor is called with params: ",name, " ", color
  def __del__(self):
    print "Destructor is called!"
inst = MyClass()
inst.show()
inst2 = MyClass("David")
inst2.show()
del inst, inst2
inst3 = MyClass("Lisa", "Yellow")
inst3.show()
del inst3
>>>

打印結果:

Constructor is called with params:  unset   black
Hello, Developer.
Constructor is called with params:  David   black
Hello, Developer.
Destructor is called!
Destructor is called!
Constructor is called with params:  Lisa   Yellow
Hello, Developer.
Destructor is called!

4.實例成員變量

構造函數中定義self引用的變量,因此這樣的成員變量在python中叫做實例成員變量。

def __init__(self, name = "unset", color = "black"):
  print "Constructor is called with params: ",name, " ", color
  self.name = name
  self.color = color

5.靜態函數和類函數:

python 支持兩種基于類名訪問成員的函數:靜態函數,類函數。
區別在于:類函數有一個隱形參數cls可以用來獲取類信息。而靜態函數沒有該函數。
靜態函數用裝飾器:@staticmethod定義
類函數使用裝飾器:@classmethod定義

class MyClass(object):
  message = 'Hello, Developer.'
  def show(self):
    print (self.message)
    print ("Here is %s in %s!" % (self.name, self.color))
  @staticmethod
  def printMessage():
    print ("printMessage is called")
    print (MyClass.message)
  @classmethod
  def createObj(cls, name, color):
    print ("Object will be created: %s(%s, %s)"% (cls.__name__, name, color))
    return cls(name, color)
  def __init__(self, name = "unset", color = "black"):
    print ("Constructor is called with params: ",name, " ", color)
    self.name = name
    self.color = color
  def __del__(self):
    print ("Destructor is called for %s!"% self.name)
MyClass.printMessage()
inst = MyClass.createObj( "Toby", "Red")
print (inst.message)
del inst

輸出結果:

printMessage is called
Hello, Developer.
Object will be created: MyClass(Toby, Red)
Constructor is called with params:  Toby   Red
Hello, Developer.
Destructor is called for Toby!

6.私有成員

python 使用指定變量名格式的方法定義私有成員,即所有以雙下劃線“__”開始命名的成員都為私有成員。

class MyClass(object):
  def __init__(self, name = "unset", color = "black"):
    print "Constructor is called with params: ",name, " ", color
    self.__name = name
    self.__color = color
  def __del__(self):
    print "Destructor is called for %s!"% self.__name
inst = MyClass("Jojo", "White")
del inst

輸出結果:

Constructor is called with params:  Jojo   White
Destructor is called for Jojo!

注明:書《Python 高效開發實戰Django, Tornado, Flask, Twisted》總結

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

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

AI

正阳县| 太仓市| 青海省| 沾化县| 靖边县| 巫溪县| 安溪县| 宝鸡市| 潍坊市| 金昌市| 井研县| 龙江县| 博白县| 刚察县| 青浦区| 鄢陵县| 邵阳县| 白朗县| 张家川| 达孜县| 敦煌市| 香港| 北票市| 明溪县| 光山县| 古蔺县| 彭山县| 陆河县| 涟源市| 湖北省| 榆社县| 伊宁县| 五莲县| 白沙| 新化县| 清流县| 新津县| 乐亭县| 望城县| 清水县| 平定县|