1. 程式人生 > >Python中class的內建函式__str__

Python中class的內建函式__str__

在python中,如果我們定義一個class:
class Friend():
def __init__(self, name):
self.name = name

if __name__ == '__main__':
friend = Friend('Liang')
print friend
那麼在申明一個例項物件friend並列印其資訊時,python返回的是它的儲存地址
<__main__ .Friend instance at 0x7ff3596c>
到底應該怎麼做才能打印出一個物件的有感內容呢?可以通過__str__函式
class Friend():
def __init__(self, name):
self.name = name

def __str__(self):
return "Friend : %s" % self.name

if __name__ == '__main__':
friend = Friend('Liang')
print friend
此時,打印出的內容為:
Friend name : Liang
顯然的,內建函式帶來了這種便利,理所當然要有所約束,那就是這個方法只能返回str,並且只能有self這一個引數,其他的,自行發揮。

相關推薦

Python apply 函式(關鍵詞:Python/函式/apply)

>>> apply <built-in function apply> >>> def a(): ... print 'i am a' ... >>> apply(a) i am a >>> de

python函式(二)

1.部分內建函式  repr()顯示出字串的官方表示形式,返回一個物件的string形式 # repr 就是原封不動的輸出, 引號和轉義字元都不起作用 print(repr('大家好,\n \t我叫周杰倫')) print('大家好我叫周杰倫') # %r 原封不動的寫出來 name = 'taib

pythoncmp函式的比較原理

cmp( x, y):比較2個物件,前者小於後者返回-1,相等則返回0,大於後者返回1. Python的cmp比較函式,如果我們比較的是兩個同類的物件,比較操作是非常直觀的。 數字和字串的比較,直接比較它們的值。  對於序列型別的比較,方式上有相似。Python在兩個物件基

python 函式 與 類

python這種語言的變數命名規則有些奇葩,我相信大家已經遇到過了,比如:__future__。這種特殊的形式表明,這個 變數有特殊的意義,你不可以在自己的程式碼中創造這類變數。 1.__init__() 建構函式 類似於c++,java等面嚮物件語言,python 在類的

python函式總結

python提供了較多的內建函式,但感覺用得到的並不是很多,以下對函式做了一些歸納,list 、tuple、dict這三個因為經常用,就沒有寫上去 #python 內建函式,可直接呼叫 #為空的有: "" , () , {} , [] , None boo

Pythonclass函式__str__

在python中,如果我們定義一個class: class Friend(): def __init__(self, name): self.name = name if __name__ == '__main__': friend = Friend('Liang') print friend 那麼在申明一個

day29 類函式方法 __str__ __repr__ __call__ isinstance() issubclass()

__str__()__repr__()__len__()str() 轉字串repr()   讓字元原形畢露的方法len() 計算長度 內建的方法很多,但是並不是全部都在object中,比如len(),__len__(),比如說數字,時間,還有物件都是無法計算長度 1 # __del

python函式

__init__():__init__方法在類的一個物件被建立時,馬上執行。這個方法可以用來對你的物件做一些你希望的初始化。注意,這個名稱的開始和結尾都是雙下劃線。程式碼例子: #!/usr/bin/python# Filename: class_init.pyclass Perso

Python常用方法:__str__,__repr__使用詳解

     因為python中所有類預設繼承object類。而object類提供了了很多原始的內建屬性和方法,所以使用者自定義的類在Python中也會繼承這些內建屬性。可以使用dir()函式可以檢視,雖然

Python常用屬性:__getattribute__屬性攔截器使用詳解

      因為python中所有類預設繼承object類。而object類提供了了很多原始的內建屬性和方法,所以使用者自定義的類在Python中也會繼承這些內建屬性。可以使用dir()函式可以檢視,雖然python提供了很多內建屬性但實際開發中常用的不多。而很多系

python記錄_day14 函式二 迭代 二分法

一、匿名函式 形式: lambda 形參:返回值 lambda表示的是匿名函式. 不需要用def來宣告, 一句話就可以宣告出一個函式。匿名函式不是說一定沒名字,而是他們的名字統一稱為“lambda”,可以用__name__檢視 注意: 1. 函式的引數可以有多個. 多個引數之間用逗號隔開 2. 匿

Python常用的函式

      一、數學運算類   1#abx(x)    求絕對值   abx(-6)     >>  (6)           1>

Python物件相關函式

針對一個物件,通過以下幾個函式,可以獲取到該物件的一些資訊。   1、type() ,返回某個值的型別   >>> type(123) <class 'int'> >>> type('str') <class 'str'&

Python標準庫 函式slice stop slice start stop step

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

GLSL(著色器語言)函式

x*y: 如果x和y都是向量,那麼該運算子進行的是逐分量的相乘計算;如果是矩陣相乘,那麼該運算子會返回一個線性相乘(線性代數中正常的矩陣乘法)的矩陣,而不是一個逐分量的相乘結果(如果想得到的是逐分量的相乘結果,那就需要使用matrixCompMult函式)。 dot(x,y

python屬性之__getatrribute__

python中有很多內建屬性常見的有: __init__ __str__ __new__ __del__ __repr__ __getatrribute__等等 這次來說一下__getatrribute__屬性攔截器 > 先來一段程式碼: > 執行結果:

python屬性

"teachclass.py" class Person(object): pass python3.5中類的內建屬性和方法 經典類(舊式類),早期如果沒有要繼承的父類,繼承裡空著不寫的類 #py2中⽆繼承⽗類,稱之經典類,py3中已預設繼承object class Pers

30.面向物件常用函式與過載函式

 內建函式:類中特殊功能 __init__(self):      ###為例項物件賦值      1,可以沒有這個函式 例項沒資料      2,資料初始化函式        

python語法_函式

a = filter(函式名,序列) 返回一個迭代器物件/。函式裡必須加過濾條件 ret = ['a','b','c','d','e']def ft(s): if s != 'a': return srat = filter(ft,ret)print(rat)##############

python——元組函式

元組內建方法 元組tuple,我們可以把它看做是 只讀列表; 列表轉換為元組: tuple=tuple(list) 例如: list=['Wjz','wjk','wz','hacker','beijing'] tuple=tuple(list) print(tuple) # 輸出 ('W