最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 面向?qū)ο笾恈lass和對象基本用法示例

 更新時間:2020年02月02日 11:44:09   作者:Dawn__Z  
這篇文章主要介紹了Python 面向?qū)ο笾恈lass和對象基本用法,結(jié)合實例形式詳細分析了Python面向?qū)ο蟪绦蛟O(shè)計中類class和對象基本概念、原理、使用方法與操作注意事項,需要的朋友可以參考下

本文實例講述了Python 面向?qū)ο笾恈lass和對象基本用法。分享給大家供大家參考,具體如下:

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

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

1.基本點

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

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

輸出結(jié)果:

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

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

2.構(gòu)造函數(shù)

構(gòu)造函數(shù)是一種特殊的類成員方法,主要用來創(chuàng)建對象初始化,python 中的類構(gòu)造函數(shù)用__init__命名:

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

打印結(jié)果:

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

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

3.析構(gòu)函數(shù)

是構(gòu)造的反向函數(shù),在銷毀或者釋放對象時調(diào)用他們。

python 中為類定義析構(gòu)函數(shù)的方法在類定義中定義一個名為__del__的沒有返回值和參數(shù)的函數(shù)。

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
>>>

打印結(jié)果:

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.實例成員變量

構(gòu)造函數(shù)中定義self引用的變量,因此這樣的成員變量在python中叫做實例成員變量。

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

5.靜態(tài)函數(shù)和類函數(shù):

python 支持兩種基于類名訪問成員的函數(shù):靜態(tài)函數(shù),類函數(shù)。
區(qū)別在于:類函數(shù)有一個隱形參數(shù)cls可以用來獲取類信息。而靜態(tài)函數(shù)沒有該函數(shù)。
靜態(tài)函數(shù)用裝飾器:@staticmethod定義
類函數(shù)使用裝飾器:@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

輸出結(jié)果:

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

輸出結(jié)果:

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

注明:書《Python 高效開發(fā)實戰(zhàn)Django, Tornado, Flask, Twisted》總結(jié)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進階經(jīng)典教程

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

相關(guān)文章

  • python如何實現(xiàn)質(zhì)數(shù)求和

    python如何實現(xiàn)質(zhì)數(shù)求和

    這篇文章主要介紹了python如何實現(xiàn)質(zhì)數(shù)求和,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python中xlsx文件轉(zhuǎn)置操作詳解(行轉(zhuǎn)列和列轉(zhuǎn)行)

    Python中xlsx文件轉(zhuǎn)置操作詳解(行轉(zhuǎn)列和列轉(zhuǎn)行)

    很多時候我們處理的Excel表格并不是我們想要的樣子,需要將表格的形式進行相應(yīng)轉(zhuǎn)換后進行數(shù)據(jù)分析操作,下面這篇文章主要給大家介紹了關(guān)于Python中xlsx文件轉(zhuǎn)置操作(行轉(zhuǎn)列和列轉(zhuǎn)行)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python去除列表中重復元素的方法

    Python去除列表中重復元素的方法

    這篇文章主要介紹了Python去除列表中重復元素的方法,實例分析了Python中去除列表重復元素的使用技巧,需要的朋友可以參考下
    2015-03-03
  • python代碼實現(xiàn)學生信息管理系統(tǒng)

    python代碼實現(xiàn)學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python代碼實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python 多線程共享變量的實現(xiàn)示例

    Python 多線程共享變量的實現(xiàn)示例

    這篇文章主要介紹了Python 多線程共享變量的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python簡單生成隨機姓名的方法示例

    Python簡單生成隨機姓名的方法示例

    這篇文章主要介紹了Python簡單生成隨機姓名的方法,結(jié)合實例形式分析了Python基于random模塊生成隨機字符串組合的相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python讀寫常用數(shù)據(jù)文件的示例詳解

    Python讀寫常用數(shù)據(jù)文件的示例詳解

    Python?提供了多種強大的工具和庫,可以輕松實現(xiàn)對各種類型文件的讀寫操作,本文為大家整理了Python讀寫常用的那些數(shù)據(jù)文件的方法,希望對大家有所幫助
    2025-01-01
  • Python第三方庫安裝緩慢的解決方法

    Python第三方庫安裝緩慢的解決方法

    這篇文章主要給大家介紹了關(guān)于Python第三方庫安裝緩慢的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 基于TensorFlow中自定義梯度的2種方式

    基于TensorFlow中自定義梯度的2種方式

    今天小編就為大家分享一篇基于TensorFlow中自定義梯度的2種方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • pyTorch深度學習多層感知機的實現(xiàn)

    pyTorch深度學習多層感知機的實現(xiàn)

    這篇文章主要為大家介紹了pyTorch深度學習多層感知機的實現(xiàn),文中附含詳細示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫
    2021-09-09

最新評論

鄯善县| 祁阳县| 沾化县| 十堰市| 恩平市| 米易县| 浠水县| 武强县| 沙田区| 上林县| 永兴县| 黔东| 澄城县| 襄樊市| 二手房| 正安县| 京山县| 昭平县| 巴林右旗| 康乐县| 梧州市| 德钦县| 酒泉市| 平阳县| 阿拉尔市| 西安市| 庆元县| 蓬安县| 隆安县| 宁国市| 黎川县| 安乡县| 尤溪县| 陵水| 黄山市| 饶河县| 保定市| 贵港市| 霍山县| 汉沽区| 永善县|