其實(shí)安裝python包會(huì)自帶一個(gè)有問(wèn)號(hào)標(biāo)示“?”的"Python Manuals"可以仔細(xì)閱讀一下,也可作幫助文檔的。
為博樂(lè)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及博樂(lè)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、博樂(lè)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
介紹Python的內(nèi)建函數(shù)和異常.許多內(nèi)建函數(shù)的細(xì)節(jié)及特性可以在這里找到.
內(nèi)建函數(shù)
本節(jié)介紹的函數(shù)在解釋器中總是可用的,他們被包含在 __builtin__ 模塊里.另外每個(gè)模塊的 __builtins__ 屬性經(jīng)常指的是這個(gè)模塊(除了當(dāng)在restricted execution環(huán)境下運(yùn)行時(shí)).
_(下劃線)
默認(rèn)情況下,變量 _ 用于在交互模式下表示最近一個(gè)表達(dá)式的運(yùn)行結(jié)果.
參閱 sys.displayhook (118)
__import__(name [, globals [, locals [, fromlist]]])
import語(yǔ)句通過(guò)調(diào)用這個(gè)函數(shù)來(lái)導(dǎo)入模塊. name是包含模塊名字的字符串, globals是一個(gè)可選的定義全局名稱(chēng)空間的字典, locals是定義局部名稱(chēng)空間的字典, fromlist是from語(yǔ)句目標(biāo)的列表.例如, import spam語(yǔ)句會(huì)調(diào)用__import__('spam', globals(), locals(), []) ,而from spam import foo 語(yǔ)句會(huì)調(diào)用 __import__('spam', globals(), locals(), ['foo']). 如果模塊名在包名字之后(如foo.bar)而且fromlist為空時(shí),就返回對(duì)應(yīng)的模塊對(duì)象.如果fromlist不為空,則只會(huì)返回最頂級(jí)的包.
這個(gè)函數(shù)是一個(gè)低等級(jí)的模塊載入接口.它并不執(zhí)行import語(yǔ)句的所有步驟(通常情況下局部名稱(chēng)空間并不會(huì)隨模塊中包含對(duì)象的名稱(chēng)引用的改變而改變.這個(gè)函數(shù)可以由用戶來(lái)重新定義,這樣為import語(yǔ)句加入新的行為.默認(rèn)的執(zhí)行并不會(huì)檢查locals參數(shù),而globals只用于決定包的內(nèi)容(這些參數(shù)可以使 __import__()能夠完整地訪問(wèn)全局和局部名稱(chēng)空間)
abs(x)
返回x的絕對(duì)值
apply(func [, args [, keywords]])
對(duì)可調(diào)用對(duì)象func執(zhí)行函數(shù)調(diào)用. args是一個(gè)包含固定位置參數(shù)的元組, keywords是包含關(guān)鍵參數(shù)的字典. apply()函數(shù)也可以寫(xiě)做func(*args ,**keywords ).
buffer(sequence [, offset [, size]])
創(chuàng)建一個(gè)新的緩沖器對(duì)象.緩沖器通常是一個(gè)序列(如字符串)的字節(jié)導(dǎo)向序列.緩沖器和字符串在許多地方是相同的,但是它不支持字符串方法,而且也不能使用string模塊的函數(shù).
callable(object)
當(dāng)object為可調(diào)用對(duì)象時(shí)返回True,否則返回False
chr(i)
將一個(gè)0到255的整數(shù)轉(zhuǎn)換為一個(gè)字符.
cmp(x,y)
比較x和y. x y返回負(fù)數(shù); x== y返回零; x y返回整數(shù).它可以比較任意兩個(gè)對(duì)象并返回結(jié)果,即使有時(shí)候?qū)ο蟮谋容^豪無(wú)意義(例如比較文件對(duì)象).在某些環(huán)境下,這樣的比較會(huì)引發(fā)異常.
coerce(x,y)
將x和y值轉(zhuǎn)換為同一個(gè)數(shù)值類(lèi)型并作為一個(gè)元組返回.(第三章,類(lèi)型和對(duì)象)
compile(string, filename, kind)
使用exec()或eval()將字符串編譯為代碼對(duì)象. filename is a string containing the name of the file in which the string was defined. kind為'exec'時(shí)代表一個(gè)表達(dá)式的序列, 'eval'代表一個(gè)表達(dá)式, 'single'代表一個(gè)運(yùn)行語(yǔ)句.
complex(real [, imag])
創(chuàng)建一個(gè)復(fù)數(shù)
delattr(object, attr)
刪除對(duì)象的一個(gè)屬性, attr是一個(gè)字符串.與 del object.attr相同
dir([object])
返回包含屬性名稱(chēng)的列表.它們來(lái)自對(duì)象的 __dict__, __methods__,以及 __members__ 屬性.如果沒(méi)有傳遞給它參數(shù),則會(huì)返回當(dāng)前的local symbol table
divmod(a,b)
返回一個(gè)包含商和余數(shù)的元組.對(duì)于整數(shù),將返回(a / b , a % b ),對(duì)于浮點(diǎn)數(shù),將返回(math.floor(a / b ), a % b )
eval(expr [, globals [, locals]])
計(jì)算一個(gè)表達(dá)式的值. expr是一個(gè)字符串或由compile()創(chuàng)建的一個(gè)代碼對(duì)象. globals和locals為操作定義的全局和局部名稱(chēng)空間,當(dāng)省略時(shí),表達(dá)式將在調(diào)用時(shí)的名稱(chēng)空間計(jì)算.
execfile(filename [, globals [, locals]])
運(yùn)行文件filename中的語(yǔ)句. globals和locals定義了文件運(yùn)行的全局和局部名稱(chēng)空間,當(dāng)省略時(shí),文件將在調(diào)用時(shí)的名稱(chēng)空間運(yùn)行.這個(gè)函數(shù)不能在一個(gè)函數(shù)主體里使用,因?yàn)樗c內(nèi)嵌范圍不相容.
filter(function, list)
使用func()函數(shù)來(lái)過(guò)濾s中的元素.使func返回值為false的元素被丟棄,其它的存入filter函數(shù)返回的列表中.如果function是None,則list中值為False的元素就被刪除.
float(x)
將x轉(zhuǎn)換為浮點(diǎn)數(shù)
getattr(object, name [, default])
返回一個(gè)對(duì)象的屬性. name是一個(gè)字符串. default是一個(gè)可選的值,代表當(dāng)沒(méi)有這個(gè)屬性時(shí)返回的值. 與 object.name 結(jié)果相同
globals()
返回一個(gè)與全局名稱(chēng)空間對(duì)應(yīng)的字典
hasattr(object, name)
返回object是否有name屬性,布爾值
hash(object)
返回一個(gè)對(duì)象的整數(shù)哈希值(如果可能).兩個(gè)相等對(duì)象的哈希值是相同的.模塊沒(méi)有定義一個(gè)哈希值.
hex(x)
將一個(gè)整數(shù)或長(zhǎng)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制的字符串
id(object)
返回一個(gè)對(duì)象的整數(shù)id
input([prompt])
相當(dāng)于eval(raw_input(prompt ))
int(x [, base])
將一個(gè)數(shù)字或字符串轉(zhuǎn)換為整數(shù). 可選參數(shù)base代表從字符串轉(zhuǎn)換時(shí)的基礎(chǔ)/根據(jù)
intern(string)
Checks to see whether string is contained in an internal table of strings. If found, a copy of the internal string is returned. If not, string is added to the internal table and returned. This function is primarily used to get better performance in operations involving dictionary lookups. Interned strings are never garbage-collected. Not applicable to Unicode strings.
isinstance(object, classobj)
檢查object是否是classobj的事例或子類(lèi).也可用于檢查類(lèi)型
issubclass(class1, class2)
檢查class1是否是class2的子類(lèi)(派生類(lèi))
注意: issubclass(A , A )返回True
len(s)
返回序列s中包含的條目數(shù)目
list(s)
返回一個(gè)包含序列s中條目的新列表
locals()
返回一個(gè)與調(diào)用時(shí)局部名稱(chēng)空間相對(duì)應(yīng)的字典
long(x [, base])
將一個(gè)數(shù)字或字符串轉(zhuǎn)換為長(zhǎng)整數(shù),可選參數(shù)base代表從字符串轉(zhuǎn)換時(shí)的基礎(chǔ)/根據(jù)
map(function, list, ...)
將序列l(wèi)ist中的每個(gè)元素傳遞給function函數(shù)做參數(shù),函數(shù)的返回值組成列表并返回.如果提供給多個(gè)列表,則函數(shù)應(yīng)包含有多個(gè)參數(shù),每個(gè)參數(shù)從不同的列表獲得.如果函數(shù)為None,則默認(rèn)為 identity function(?身份函數(shù)).如果None映射到多個(gè)列表,則返回一個(gè)包含元組的列表,元組的每個(gè)元素分別來(lái)自各個(gè)列表.如果有必要,短的列表將使用None來(lái)擴(kuò)充到與最長(zhǎng)列表長(zhǎng)度相等. map可以使用list comprehensions 來(lái)代替.例如map(function , alist ),可以使用[function (x) for x in alist ]來(lái)代替
參閱 zip (105).
max(s [, args, ...])
單個(gè)參數(shù)時(shí),返回序列s中的最大值.多個(gè)參數(shù)時(shí),返回值最大的參數(shù)
min(s [, args, ...])
單個(gè)參數(shù)時(shí),返回序列s中的最小值.多個(gè)參數(shù)時(shí),返回值最小的參數(shù)
oct(x)
將一個(gè)整數(shù)或者長(zhǎng)整數(shù)轉(zhuǎn)換為八進(jìn)制字符串
open(filename [, mode [, bufsize]])
打開(kāi)文件filename并返回一個(gè)文件對(duì)象(第十章,運(yùn)行環(huán)境). mode代表文件打開(kāi)的模式. 'r' 表示讀, 'w' 表示寫(xiě), 'a' 表示在文件末尾添加內(nèi)容. 還有一種更新模式,你只要在讀寫(xiě)模式后增加一個(gè)'+'就可以使用這種模式,如'r+' 或 'w+'.當(dāng)一個(gè)文件以更新模式打開(kāi),你就可以對(duì)這個(gè)文件進(jìn)行讀寫(xiě)操作.只要在任何讀取操作之前刷新所有的輸出緩沖就不會(huì)有問(wèn)題.如果一個(gè)文件以 'w+' 模式打開(kāi),它的長(zhǎng)度就度截為 0.當(dāng)mode省略時(shí),將會(huì)使用'w'模式.bufsize參數(shù)指定了緩沖行為, 0代表無(wú)緩沖,1代表行緩沖,其他正數(shù)代表一個(gè)大約的字節(jié)緩沖器大小,負(fù)數(shù)代表使用系統(tǒng)默認(rèn)緩沖器大小(也是默認(rèn)行為)
ord(c)
返回單個(gè)字符c的整數(shù)順序值.普通字符返回[0,255]中的一個(gè)值,Unicode字符返回 [0,65535]中的一個(gè)值
pow(x, y [, z])
返回x ** y ,如果z存在返回(x ** y ) % z
range([start,] stop [, step])
返回一個(gè)從start到stop的整數(shù)序列, step代表步進(jìn),默認(rèn)值為1. start默認(rèn)值為0.負(fù)數(shù)的step可以創(chuàng)建一個(gè)遞減的整數(shù)序列
參閱xrange (105)
raw_input([prompt])
從標(biāo)準(zhǔn)輸入(sys.stdin)中讀取一行,并把它作為字符串返回.如果提供了prompt,它將首先打印到標(biāo)準(zhǔn)輸出(sys.stdout).當(dāng)讀取到一個(gè)EOF時(shí),就會(huì)引發(fā)一個(gè)EOFError異常.如果readline模塊被導(dǎo)入,那么這個(gè)函數(shù)會(huì)使用它來(lái)提供更高級(jí)的功能
reduce(func, seq [, initializer])
函數(shù)從一個(gè)序列收集信息,然后只返回一個(gè)值(例如求和,最大值,等).它首先以序列的前兩個(gè)元素調(diào)用函數(shù),再將返回值和第三個(gè)參數(shù)作為參數(shù)調(diào)用函數(shù),依次執(zhí)行下去,返回最終的值. func函數(shù)有且只有兩個(gè)參數(shù).在seq為空時(shí),將使用初始值initializer.
reload(module)
重新導(dǎo)入一個(gè)已經(jīng)導(dǎo)入的模塊. module必須是一個(gè)已經(jīng)存在的模塊對(duì)象.一般情況下并不鼓勵(lì)使用這個(gè)函數(shù),除了在調(diào)試的時(shí)候.
當(dāng)一個(gè)模塊重導(dǎo)入時(shí),定義它的全局名稱(chēng)空間的字典依然存在.Thus, definitions in the old module that aren’t part of the newly reloaded module are retained.模塊可以利用這個(gè)來(lái)檢查他們是否已經(jīng)被導(dǎo)入.
重導(dǎo)入一個(gè)使用C編寫(xiě)的模塊通常是不合法的
If any other modules have imported this module by using the from statement, they’ll continue to use the definitions in the previously imported module. This problem can be avoided by either reissuing the from statement after a module has been reloaded or using fully qualified names such as module.name .
如果有使用以前模塊中類(lèi)創(chuàng)建的實(shí)例,它們將繼續(xù)使用以前的模塊
repr(object)
返回一個(gè)對(duì)象的標(biāo)準(zhǔn)字符串表示.與向后的引號(hào) `object` 相同.大多數(shù)情況下,返回的字符串可以使用eval()來(lái)再次創(chuàng)建這個(gè)對(duì)象.
round(x [, n])
Returns the result of rounding the floating-point number x to the closest multiple of 10 to the power minus n . If n is omitted, it defaults to 0. If two multiples are equally close, rounding is done away from 0 (例如, 0.5 is rounded to 1.0 and -0.5 is rounded to -1.0).
setattr(object, name, value)
設(shè)置一個(gè)對(duì)象的屬性. name是一個(gè)字符串. 相當(dāng)于object.name = value .
slice([start,] stop [, step])
返回一個(gè)代表指定數(shù)列中一個(gè)整數(shù)的切片對(duì)象.切片對(duì)象也可以有擴(kuò)展切片操作語(yǔ)句來(lái)產(chǎn)生.(第三章,序列和映射方法)
str(object)
返回表示對(duì)象的可打印形式的字符串.與print語(yǔ)句產(chǎn)生的字符串相同.
tuple(s)
從序列s中創(chuàng)建一個(gè)元組.如果s已經(jīng)是一個(gè)元組,則返回s
type(object)
返回object的類(lèi)型,它是一個(gè)types模塊中定義type類(lèi)型
參閱isinstance (102)
unichr(i)
將一個(gè)0到65535的整數(shù)轉(zhuǎn)換為一個(gè)Unicode字符
unicode(string [, encoding [, errors]])
將string轉(zhuǎn)換為Unicode字符串. encoding指定了string的數(shù)據(jù)編碼,它被省略時(shí),將使用sys.getdefaultencoding(). errors指定編碼錯(cuò)誤處理方式.('strict', 'ignore', 或 'replace' .參閱第三章和第九章中有關(guān)Unicode內(nèi)容)
vars([object])
返回object的 symbol table (通常在object的__dict__屬性).如果沒(méi)有給它提供參數(shù),則返回對(duì)應(yīng)當(dāng)前局部名稱(chēng)空間的字典.
xrange([start,] stop [, step])
和range函數(shù)相似,但返回的是一個(gè)XRangeType對(duì)象.它生成一個(gè)迭代器,就是只有用那個(gè)數(shù)時(shí)才臨時(shí)通過(guò)計(jì)算提供值,而不是全部?jī)?chǔ)存它們.這樣在處理大的數(shù)列時(shí)能節(jié)省大量的內(nèi)存.
zip(s1 [, s2 [,..]])
用來(lái)將幾個(gè)序列組合成一個(gè)包含元組的序列,序列中的每個(gè)元素t[i ] = (s1[i ], s2[i ], ..., sn[i ]).結(jié)果與最短序列的長(zhǎng)度相等.
【區(qū)別】:
標(biāo)準(zhǔn)庫(kù)函數(shù)都需要import xxx才能取得。
內(nèi)建函數(shù)都在__builtins__里面,在global里直接就能用。
【補(bǔ)充】:
1.python中,我們可以通過(guò)對(duì)內(nèi)建的比較函數(shù)進(jìn)行自定義,來(lái)實(shí)現(xiàn)運(yùn)算符重載。
我們常用的比較運(yùn)算符有
大于 對(duì)應(yīng)的內(nèi)建比較函數(shù)為 __gt__()
大于等于 = 對(duì)應(yīng)的內(nèi)建比較函數(shù)為 __ge__()
等于 == 對(duì)應(yīng)的內(nèi)建比較函數(shù)為 __eq__()
小于 對(duì)應(yīng)的內(nèi)建比較函數(shù)為 __lt__()
小于等于 = 對(duì)應(yīng)的內(nèi)建比較函數(shù)為 __le__()
2.庫(kù)函數(shù)(Library function)是把函數(shù)放到庫(kù)里,供別人使用的一種方式。.方法是把一些常用到的函數(shù)編完放到一個(gè)文件里,供不同的人進(jìn)行調(diào)用。調(diào)用的時(shí)候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
參考資料
百度.百度[引用時(shí)間2018-4-12]
使用關(guān)鍵詞 def 聲明這是一個(gè)函數(shù) 1def 函數(shù)名 (參數(shù)): 2 語(yǔ)句塊 參數(shù)可以沒(méi)有,也可以有多個(gè),用逗號(hào)隔開(kāi),第一行稱(chēng)為函數(shù)頭,結(jié)尾一定要加冒號(hào),代表開(kāi)始進(jìn)入函數(shù)體的執(zhí)行。
第一步
e:/pip-1.3.1python setup.py install
第二步
e:/Python27/Scriptseasy_install pip
第三步
e:/Python27/Scriptspip install -U math
QtCore.QObject.connect(self.ui.button_open, QtCore.SIGNAL('clicked()'),self.file_dialog)
舉個(gè)例子了,這個(gè)是一個(gè)窗口類(lèi)中,打開(kāi)按鈕,在點(diǎn)擊的時(shí)候調(diào)用函數(shù)為 self.file_dialog()
這個(gè)self.file_dialog()就是自己定義的函數(shù)。
例如我在我的窗口類(lèi)里,自己定義了一個(gè)函數(shù):
def pt(self):
self.button_open.setText(QtGui.QApplication.translate("notepad", "關(guān)閉", None, QtGui.QApplication.UnicodeUTF8))#功能是重置我的名為"notepad"的窗口的button_open按鈕的顯示為關(guān)閉
然后就可以這樣調(diào)用這個(gè)函數(shù)
QtCore.QObject.connect(self.ui.button_open, QtCore.SIGNAL('clicked()'),self.pt)
也可以用python自帶的安裝工具,pip install numpy scipy 等。如果沒(méi)有pip的話,可以試試easy-install numpy scipy。打開(kāi)cmd,在里面輸入這些命令。 不想自己一個(gè)一個(gè)裝的話,最簡(jiǎn)單的方法是安裝python(x,y)套裝,也可以考慮enthought套裝