本文實例講述了Python類的專用方法。分享給大家供大家參考。具體分析如下:
Python 類可以定義專用方法,專用方法是在特殊情況下或當使用特別語法時由 Python 替你調用的,而不是在代碼中直接調用(象普通的方法那樣)。
1. __init__
類似于構造函數
代碼如下:#!/usr/local/bin/python
class Study:
def __init__(self,name=None):
self.name = name
def say(self):
print self.name
study = Study("Badboy")
study.say()
2. __del__
類似于析構函數
代碼如下:#!/usr/local/bin/python
class Study:
def __init__(self,name=None):
self.name = name
def __del__(self):
print "Iamaway,baby!"
def say(self):
print self.name
study = Study("zhuzhengjun")
study.say()
3. __repr__
使用repr(obj)的時候,會自動調用__repr__函數,該函數返回對象字符串表達式,
用于重建對象,如果eval_r(repr(obj))會得到一個對象的拷貝。
代碼如下:#!/usr/local/bin/python
class Study:
def __init__(self,name=None):
self.name = name
def __del__(self):
print "Iamaway,baby!"
def say(self):
print self.name
def __repr__(self):
return "Study('jacky')"
study = Study("zhuzhengjun")
study.say()
print type(repr(Study("zhuzhengjun"))) # str
print type(eval_r(repr(Study("zhuzhengjun")))) # instance
study = eval_r(repr(Study("zhuzhengjun")))
study.say()
4. __str__
Python能用print語句輸出內建數據類型。有時,程序員希望定義一個類,要求它的對象也能用print語句輸出。Python類可定義特殊方法__str__,為類的對象提供一個不正式的字符串表示。如果類的客戶程序包含以下語句:
新聞熱點
疑難解答