Python隨手筆記之標(biāo)準(zhǔn)類型內(nèi)建函數(shù)
Python提供了一些內(nèi)建函數(shù)用于基本對(duì)象類型:cmp(),repr(),str(),type()和等同于repr()的(' ')操作符
(1)type()
type的用法如下:
type(object)
接受一個(gè)對(duì)象作為參數(shù),并返回它的類型。他的返回值是一個(gè)類型對(duì)象。
>>>type('r')
<type 'str'>
>>>type(3)
<type 'int'>
>>>type(type(5))
<type 'type'>
(2)cmp()
內(nèi)建函數(shù)cmp()用于比較兩個(gè)對(duì)象obj1和obj2。如果obj1大于obj2,則返回一個(gè)正整數(shù),如果小于,則返回一個(gè)負(fù)整數(shù),等于的話返回0.
>>>a,b=4,12
>>>cmp(a,b)
-1
>>>b=4
>>>cmp(a,b)
0
>>>a,b='xyz','abc'
>>>cmp(a,b)
23
(3)str()、repr()
可以方便的以字符串的方式獲取對(duì)象的內(nèi)容、類型、數(shù)值屬性等信息。str()函數(shù)得到的字符串可讀性好,而repr()得到的字符串通常可以用來重新獲得該對(duì)象。
>>>str(1)
'1'
>>>str(2e4)
'20000.0'
>>>repr([0,1,2,3])
'[0,1,2,3]'
下面抽點(diǎn)時(shí)間單獨(dú)給大家介紹python中的內(nèi)建函數(shù)
在python中,輸入如下命令即可查看python的內(nèi)建函數(shù)dir:
>>> dir(__builtins__)
1、str()和repr()以及''運(yùn)算符
內(nèi)建函數(shù) str() 和 repr() 或反引號(hào)運(yùn)算符(``) 可以方便的以字符串的方式獲取對(duì)象的
內(nèi)容、類型、數(shù)值屬性等信息。str()函數(shù)得到的字符串可讀性好, 而repr()函數(shù)得到的字符
串通常可以用來重新獲得該對(duì)象, 通常情況下 obj == eval_r(repr(obj)) 這個(gè)等式是成立的。
這兩個(gè)函數(shù)接受一個(gè)對(duì)象做為其參數(shù), 返回適當(dāng)?shù)淖址T谙旅娴睦永铮?我們會(huì)隨機(jī)取
一些Python 對(duì)象來查看他們的字符串表示。
>>> str(4.53-2j)
'(4.53-2j)'
>>>
>>> str(1)
'1'
>>>
>>> str(2e10)
'20000000000.0'
>>>
>>> str([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> repr([0, 5, 9, 9])
'[0, 5, 9, 9]'
>>>
>>> `[0, 5, 9, 9]`
'[0, 5, 9, 9]'
盡管str(),repr()和``運(yùn)算在特性和功能方面都非常相似, 事實(shí)上 repr() 和 `` 做的是完全一樣的事情,它們返回的是一個(gè)對(duì)象的“官方”字符串表示, 也就是說絕大多數(shù)情況下
可以通過求值運(yùn)算(使用eval_r()內(nèi)建函數(shù))重新得到該對(duì)象,但str()則有所不同。str() 致力于生成一個(gè)對(duì)象的可讀性好的字符串表示,它的返回結(jié)果通常無法用于eval_r()求值, 但很適
合用于 print 語句輸出。需要再次提醒一下的是, 并不是所有repr()返回的字符串都能夠用val_r()內(nèi)建函數(shù)得到原來的對(duì)象:
>>> eval_r(`type(type))`)
File "<stdin>", line 1
eval_r(`type(type))`)
^
SyntaxError: invalid syntax
也就是說 repr() 輸出對(duì) Python 比較友好, 而str()的輸出對(duì)人比較友好。雖然如此,
很多情況下這三者的輸出仍然都是完全一樣的。
核心筆記:為什么我們有了repr()還需要``?
在Python 學(xué)習(xí)過程中,你偶爾會(huì)遇到某個(gè)運(yùn)算符和某個(gè)函數(shù)是做同樣一件事情。之所以如此是因?yàn)槟承﹫?chǎng)合函數(shù)會(huì)比運(yùn)算符更適合使用。舉個(gè)例子, 當(dāng)處理類似函數(shù)這樣的可執(zhí)行對(duì)象或根據(jù)不同的數(shù)據(jù)項(xiàng)調(diào)用不同的函數(shù)處理時(shí),函數(shù)就比運(yùn)算符用起來方便。另一個(gè)例子就是雙星號(hào)(**)乘方運(yùn)算和pow()內(nèi)建函數(shù),x ** y 和 pow(x,y) 執(zhí)行的都是x 的y 次方。
譯者注:事實(shí)上Python 社區(qū)目前已經(jīng)不鼓勵(lì)繼續(xù)使用``運(yùn)算符。
- python基礎(chǔ)入門詳解(文件輸入/輸出 內(nèi)建類型 字典操作使用方法)
- 詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)
- Python列表list操作符實(shí)例分析【標(biāo)準(zhǔn)類型操作符、切片、連接字符、列表解析、重復(fù)操作等】
- 利用標(biāo)準(zhǔn)庫fractions模塊讓Python支持分?jǐn)?shù)類型的方法詳解
- Python標(biāo)準(zhǔn)庫之typing的用法(類型標(biāo)注)
- Python的五個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型你認(rèn)識(shí)幾個(gè)
- python內(nèi)建類型與標(biāo)準(zhǔn)類型
相關(guān)文章
Python實(shí)現(xiàn)抓取百度搜索結(jié)果頁的網(wǎng)站標(biāo)題信息
這篇文章主要介紹了Python實(shí)現(xiàn)抓取百度搜索結(jié)果頁的網(wǎng)站標(biāo)題信息,本文使用BeautifulSoup來解析HTML,需要的朋友可以參考下2015-01-01python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例
本文主要介紹了python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03詳解python架構(gòu)?PyNeuraLogic超越Transformers
這篇文章主要為大家介紹了python使用?PyNeuraLogic超越Transformers示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Python?selenium?find_element()示例詳解
selenium定位元素的函數(shù)/方法可以分為兩類:find_element及find_elements,下面這篇文章主要給大家介紹了關(guān)于Python?selenium?find_element()的相關(guān)資料,需要的朋友可以參考下2022-07-07在Django的視圖中使用數(shù)據(jù)庫查詢的方法
這篇文章主要介紹了在Django的視圖中使用數(shù)據(jù)庫查詢的方法,是Python的Django框架使用的基礎(chǔ)操作,需要的朋友可以參考下2015-07-07