一、常用內(nèi)建函數(shù)
1、打印操作:print() 函數(shù)
我們使用 print() 函數(shù)將內(nèi)容打印到標(biāo)準(zhǔn)輸出(默認(rèn)為屏幕)上。從技術(shù)角度來講,print() 函數(shù)可以把一個或多個對象轉(zhuǎn)換為其文本表達(dá)形式,然后發(fā)送給標(biāo)準(zhǔn)輸出或另一個類似文件的流。調(diào)用格式:
print( [ object, ... ] [ , sep=' ' ] [ , end="\n" ] [ , file=sys.stdout ] )
方括號中的項是可選的,并且可能會在一個給定的調(diào)用中省略,并且 = 后面的值都給出了參數(shù)的默認(rèn)值。這個內(nèi)置的函數(shù)把字符串sep(默認(rèn)為空格)所分隔開的一個或多個對象的文本表示,后面跟著字符串end,都打印到流file(默認(rèn)為標(biāo)準(zhǔn)輸出)中。
參數(shù)說明:
sep:
sep在每個對象的文本之間插入一個字符串,如果沒有傳遞的話,它默認(rèn)的是一個單個的空格字符,可以通過傳遞一個空字符串來抑制分隔符。
end:
end是添加在打印文本末尾的一個字符串,如果沒有傳遞的話,它默認(rèn)的是 \n
換行字符。傳遞一個空字符串將會避免在打印的文本的末尾移動到下一個輸出行——下一個 print() 將會保持添加到當(dāng)前輸出行的末尾。
file:
fiel指定了文本將要發(fā)送到的文件、標(biāo)準(zhǔn)流或者其他類似文件的對象。如果沒有傳遞的話,他默認(rèn)的是 sys.stdout
。帶有一個類似文件的 write(string)
方法的任何對象都可以傳遞,但真正傳遞的文件應(yīng)該已經(jīng)為了輸出而打開。
使用print() 語句打印變量內(nèi)容時,調(diào)用 str()
函數(shù)顯示對象,而在交互式解釋器中直接使用變量名稱時,則調(diào)用 repr()
函數(shù)來顯示對象。
Python 的 print() 語句,與字符串格式運(yùn)算符 %
或者字符串方法 .format()
結(jié)合使用,可實現(xiàn)字符串替換功能。
在Python中,打印與文件和流的概念緊密相連:
文件對象方法:
文件寫入方法是把字符串寫入到任意的文件,print() 默認(rèn)的把對象打印到 stdout
流,并添加了一些自動的格式化。和文件方法不同,在使用打印操作的時候,不需要把對象主動轉(zhuǎn)換為字符串,print() 函數(shù)默認(rèn)會調(diào)用 str() 方法,幫你自動轉(zhuǎn)換。
標(biāo)準(zhǔn)輸出流:
標(biāo)準(zhǔn)輸出流(通常叫做stdout)只是發(fā)送一個程序的文本輸出的默認(rèn)的地方。加上標(biāo)準(zhǔn)輸入流和錯誤流,他只是腳本啟動時所創(chuàng)建的3種數(shù)據(jù)連接的一種。標(biāo)準(zhǔn)輸出流通常映射到啟動
Python程序 的窗口,除非它已經(jīng)在操作系統(tǒng)的shell中重定向到了一個文件或管道。
打印流重定向
通常來說 print() 和sys.stdout 的關(guān)系如下:
print(x, y)
等價于:
import sys
sys.stdout.write(str(x) + ' ' + str(y) + '\n')
注意:最后的4是字符串的write()方法默認(rèn)返回的輸出的字符數(shù)。
我們可以把 sys.stdout
重設(shè)成已打開的文件對象。重設(shè)之后,程序中任何地方的print() 語句都會將文字寫到文件中(具體位置根據(jù)文件的打開方式確定),而不是原始的標(biāo)準(zhǔn)輸出流。因為你的進(jìn)程中只有一個sys模塊,通過這種方式賦值 sys.stdout 會把程序中任何地方的每個 print() 都進(jìn)行重定向。
因為 sys.stdout 只是普通的文件對象,你可以存儲他,需要時恢復(fù)它。
2、程序輸入:input() 函數(shù)
從用戶那里得到數(shù)據(jù)輸入的最容易的方法是使用 input()
內(nèi)建函數(shù)。 它讀取標(biāo)準(zhǔn)輸入 stdin
,并將讀取到的數(shù)據(jù)以 字符串格式 賦值給指定的變量。
你可以使用 int()
內(nèi)建函數(shù)將用戶輸入的字符串轉(zhuǎn)換為整數(shù)。使用 type()
函數(shù)可以查看變量類型。
3、交互式解釋器中獲得幫助:help() 函數(shù)
以一種整齊美觀的形式 顯示對象的文檔字符串, 如果沒有提供任何參數(shù), 則會進(jìn)入交互式幫助。在學(xué)習(xí) Python 的過程中,如果需要得到一個生疏函數(shù)的幫助,只需要對它調(diào)用內(nèi)建函數(shù) help()。通過用函數(shù)名作為 help() 的參數(shù)就能得到相應(yīng)的幫助信息:4、顯示對象的類型:type() 函數(shù)
Python 不支持方法或函數(shù)重載, 因此你必須自己保證調(diào)用的就是你想要的函數(shù)或?qū)ο蟆4_認(rèn)接收到的類型對象的身份有很多時候都是很有用的。 為了達(dá)到此目的,Python 提供了一個內(nèi)建函數(shù) type()。 type()返回任意 Python 對象對象的類型,而不局限于標(biāo)準(zhǔn)類型。
在 Python2.2 以前, type() 是內(nèi)建函數(shù)。不過從那時起,它變成了一個“工廠函數(shù)”。 在本章的后面部分我們會討論工廠函數(shù), 現(xiàn)在你仍然可以將 type()僅僅當(dāng)成一個內(nèi)建函數(shù)來看。
type() 的用法如下:
type(object)
type() 接受一個對象做為參數(shù),并返回它的類型。它的返回值是一個類型對象。在上面的例子里, 我們通過內(nèi)建函數(shù) type() 得到了一個整數(shù)和一個字符串的類型;為了確認(rèn)一下類型本身也是類型, 我們對 type()的返回值再次調(diào)用 type()。它看上去不象一個典型的 Python 數(shù)據(jù)類型, 比如一個整數(shù)或一個字符串,一些東西被一個大于號和一個小號包裹著。這種語法是為了告訴你它是一個對象。每個對象都可以實現(xiàn)一個可打印的字符串表示。不過并不總是這樣, 對那些不容易顯示的對象來說, Python 會以一個相對標(biāo)準(zhǔn)的格式表示這個對象, 格式通常是這種形式: <object_something_or_another> , 以這種形式顯示的對象通常會提供對象類別,對象 id 或位置, 或者其它合適的信息。
5、顯示對象的屬性 dir() 函數(shù)
內(nèi)置的dir() 函數(shù)是抓取對象內(nèi)所有屬性列表的簡單方式(例如,對象的方法以及數(shù)據(jù)項)。它能夠調(diào)用任何有屬性的對象。dir() 可以作為記憶提醒器,提供屬性名稱的列表,但并沒有告訴那些名稱的意義是什么。
二、類型工廠函數(shù)
Python 2.2 統(tǒng)一了類型和類, 所有的內(nèi)建類型現(xiàn)在也都是類, 在這基礎(chǔ)之上, 原來的所謂內(nèi)建轉(zhuǎn)換函數(shù)象 int(), type(), list() 等等, 現(xiàn)在都成了工廠函數(shù)。 也就是說雖然他們看上去有點(diǎn)象函數(shù), 實質(zhì)上他們是類。當(dāng)你調(diào)用它們時, 實際上是生成了該類型的一個實例, 就象工廠生產(chǎn)貨物一樣。
- int(), float(), complex()
- str()
- list(), tuple()
- type()
以前沒有工廠函數(shù)的其他類型,現(xiàn)在也都有了工廠函數(shù)。除此之外,那些支持新風(fēng)格的類的全新的數(shù)據(jù)類型,也添加了相應(yīng)的工廠函數(shù)。下面列出了這些工廠函數(shù):
- dict()
- bool()
- set(), frozenset()
- object()
- classmethod()
- staticmethod()
- super()
- property()
- file()
《Python基礎(chǔ)手冊》系列:
Python基礎(chǔ)手冊 1 —— Python語言介紹
Python基礎(chǔ)手冊 2 —— Python 環(huán)境搭建(Linux)
Python基礎(chǔ)手冊 3 —— Python解釋器
Python基礎(chǔ)手冊 4 —— 文本結(jié)構(gòu)
Python基礎(chǔ)手冊 5 —— 標(biāo)識符和關(guān)鍵字
Python基礎(chǔ)手冊 6 —— 操作符
Python基礎(chǔ)手冊 7 —— 內(nèi)建函數(shù)
Python基礎(chǔ)手冊 8 —— Python對象
Python基礎(chǔ)手冊 9 —— 數(shù)字類型
Python基礎(chǔ)手冊10 —— 序列(字符串)
Python基礎(chǔ)手冊11 —— 序列(元組&列表)
Python基礎(chǔ)手冊12 —— 序列(類型操作)
Python基礎(chǔ)手冊13 —— 映射(字典)
Python基礎(chǔ)手冊14 —— 集合
Python基礎(chǔ)手冊15 —— 解析
Python基礎(chǔ)手冊16 —— 文件
Python基礎(chǔ)手冊17 —— 簡單語句
Python基礎(chǔ)手冊18 —— 復(fù)合語句(流程控制語句)
Python基礎(chǔ)手冊19 —— 迭代器
Python基礎(chǔ)手冊20 —— 生成器
Python基礎(chǔ)手冊21 —— 函數(shù)的定義
Python基礎(chǔ)手冊22 —— 函數(shù)的參數(shù)
Python基礎(chǔ)手冊23 —— 函數(shù)的調(diào)用
Python基礎(chǔ)手冊24 —— 函數(shù)中變量的作用域
Python基礎(chǔ)手冊25 —— 裝飾器
Python基礎(chǔ)手冊26 —— 錯誤 & 異常
Python基礎(chǔ)手冊27 —— 模塊
Python基礎(chǔ)手冊28 —— 模塊的高級概念
Python基礎(chǔ)手冊29 —— 包