repr python 有趣的模組

2021-10-13 19:52:29 字數 2569 閱讀 4170

repr()返回的是返回物件的規範字串表示形式。

語法是repr(obj)

obj:規範化字串要表示的物件

var =

'foo'

print

(repr

(var)

)

輸出:

'foo'

在物件中 ,repr會呼叫物件的__repr__()

class

person

: name =

'adam'

def__repr__

(self)

:return

repr

('hello '

+ self.name )

print

(repr

(person())

)

輸出:

'hello adam'

e

edit

play_arrow

brightness_4

s ='hello, geeks.'

print

(str

(s))

print

(str

(2.0

/11.0

))

輸出:

hello, geeks.

0.181818181818

s =

'hello, geeks.'

print

(repr

(s))

print

(repr

(2.0

/11.0

))

輸出:

'hello, geeks.'

0.18181818181818182

str()是用來為終端使用者列印資訊的,列印的內容是可讀的(readable) repr是用來debug的,需要列印的內容很明確,不模糊(unambiguous)

edit

play_arrow

brightness_4

import datetime

today = datetime.datetime.now(

)# prints readable format for date-time object

print

(str

(today)

)# prints the official format of date-time object

print

(repr

(today)

)

輸出結果:

2016-02-22 19:32:04.078030

datetime.datetime(2016, 2, 22, 19, 32, 4, 78030)

我們在自定義類的時候,__repr__是我們需要更多的資訊用來debug,__str__用來對使用者友好

# python program to demonstrate writing of __repr__ and 

# __str__ for user defined classes

# a user defined class to represent complex numbers

class

complex

:# constructor

def__init__

(self, real, imag)

: self.real = real

self.imag = imag

# for call to repr(). prints object's information

def__repr__

(self)

:return

'rational(%s, %s)'

%(self.real, self.imag)

# for call to str(). prints readable form

def__str__

(self)

:return

'%s + i%s'

%(self.real, self.imag)

# driver program to test above

t = complex(10,

20)# same as "print t"

print

(str

(t))

print

(repr

(t))

輸出結果:

10 + i20

rational(10, 20)

Python 有趣的模組 Bobo

mac 我的mac環境,python3.5 1.安裝bobo pip3 install bobo 2.配置環境變數 vi bash profile 退出vi source bash profile 3.建立使用bobo的方法在某個py檔案 檔案內容 import bobo bobo.query de...

有趣的Nodejs模組之events

nodejs 使用了乙個事件驅動 非阻塞 io 的模型。events模組是事件驅動的核心模組。很多內建模組都繼承了events.eventemitter。自己無需手動實現這種設計模式,直接繼承eventemitter即可。如下 const require events class myemitter...

乙個有趣的python排序模組 bisect

今天同事說到了乙個python的排序模組bisect,覺得挺有趣的,跟大家分享分享。先看看模組的結構 前面五個屬性大家感興趣可以打出來看看數值,這裡就不介紹了。先說明的是,使用這個模組的函式前先確保操作的列表是已排序的。先看看 insort 函式 其插入的結果是不會影響原有的排序。再看看 bisec...