Build-in Function,啓動python解釋器,輸入dir(__builtins__), 可以看到很多python解釋器啓動後默認加載的屬性和函數,這些函數稱之爲內建函數, 這些函數因爲在編程時使用較多,cpython解釋器用c語言實現了這些函數,啓動解釋器 時默認加載。
下面對以上的函數一一介紹並且示例:
1.abs()
描述
abs() 函數返回數字的絕對值。
語法
以下是 abs() 方法的語法:
abs( x )
參數
- x -- 數值表達式,可以是整數,浮點數,複數。
返回值
函數返回 x(數字)的絕對值,如果參數是一個複數,則返回它的大小。
實例
以下展示了使用 abs() 方法的實例:
#!/usr/bin/python3 print ("abs(-40) : ", abs(-40)) print ("abs(100.10) : ", abs(100.10))
以上實例運行後輸出結果爲:
abs(-40) : 40 abs(100.10) : 100.1
2.all()
描述
all() 函數用於判斷給定的可迭代參數 iterable 中的所有元素是否不爲 0、''、False 或者 iterable 爲空,如果是返回 True,否則返回 False。
函數等價於:
def all(iterable): for element in iterable: if not element: return False return True
Python 2.5 以上版本可用。
語法
以下是 all() 方法的語法:
all(iterable)
參數
- iterable -- 元組或列表。
返回值
如果iterable的所有元素不爲0、''、False或者iterable爲空,all(iterable)返回True,否則返回False;
注意:空元組、空列表返回值爲True,這裏要特別注意。
實例
以下展示了使用 all() 方法的實例:
3.any()
描述
any() 函數用於判斷給定的可迭代參數 iterable 是否全部爲空對象,如果都爲空、0、false,則返回 False,如果不都爲空、0、false,則返回 True。
函數等價於:
def any(iterable): for element in iterable: if element: return True return False
Python 2.5 以上版本可用。
語法
以下是 any() 方法的語法:
any(iterable)
參數
- iterable -- 元組或列表。
返回值
如果都爲空、0、false,則返回false,如果不都爲空、0、false,則返回true。
實例
以下展示了使用 any() 方法的實例:
4.ascii()
描述
ascii() 函數類似 repr() 函數, 返回一個表示對象的字符串, 但是對於字符串中的非 ASCII 字符則返回通過 repr() 函數使用 \x, \u 或 \U 編碼的字符。 生成字符串類似 Python2 版本中 repr() 函數的返回值。
語法
以下是 ascii() 方法的語法:
ascii(object)
參數
- object -- 對象。
返回值
返回字符串。
實例
以下展示了使用 ascii() 方法的實例:
>>> ascii('runoob') "'runoob'"
5.bin()
描述
bin() 返回一個整數 int 或者長整數 long int 的二進制表示。
語法
以下是 bin() 方法的語法:
bin(x)
參數
- x -- int 或者 long int 數字
返回值
字符串。
實例
以下展示了使用 bin 函數的實例:
6.bool()
描述
bool() 函數用於將給定參數轉換爲布爾類型,如果沒有參數,返回 False。
bool 是 int 的子類。
語法
以下是 bool() 方法的語法:
class bool([x])
參數
- x -- 要進行轉換的參數。
返回值
返回 Ture 或 False。
實例
以下展示了使用 bool 函數的實例:
7.bytearray()
描述
bytearray() 方法返回一個新字節數組。這個數組裏的元素是可變的,並且每個元素的值範圍: 0 <= x < 256。
語法
bytearray()方法語法:
class bytearray([source[, encoding[, errors]]])
參數
- 如果 source 爲整數,則返回一個長度爲 source 的初始化數組;
- 如果 source 爲字符串,則按照指定的 encoding 將字符串轉換爲字節序列;
- 如果 source 爲可迭代類型,則元素必須爲[0 ,255] 中的整數;
- 如果 source 爲與 buffer 接口一致的對象,則此對象也可以被用於初始化 bytearray。
- 如果沒有輸入任何參數,默認就是初始化數組爲0個元素。
返回值
返回新字節數組。
實例
以下實例展示了 bytearray() 的使用方法:
8.bytes()
描述
bytes 函數返回一個新的 bytes 對象,該對象是一個 0 <= x < 256 區間內的整數不可變序列。它是 bytearray 的不可變版本。
語法
以下是 bytes 的語法:
class bytes([source[, encoding[, errors]]])
參數
- 如果 source 爲整數,則返回一個長度爲 source 的初始化數組;
- 如果 source 爲字符串,則按照指定的 encoding 將字符串轉換爲字節序列;
- 如果 source 爲可迭代類型,則元素必須爲[0 ,255] 中的整數;
- 如果 source 爲與 buffer 接口一致的對象,則此對象也可以被用於初始化 bytearray。
- 如果沒有輸入任何參數,默認就是初始化數組爲0個元素。
返回值
返回一個新的 bytes 對象。
實例
以下展示了使用 bytes 的實例:
實例
9.callable()
描述
callable() 函數用於檢查一個對象是否是可調用的。如果返回True,object仍然可能調用失敗;但如果返回False,調用對象ojbect絕對不會成功。
對於函數, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類實例, 它都返回 True。
語法
callable()方法語法:
callable(object)
參數
- object -- 對象
返回值
可調用返回 True,否則返回 False。
實例
以下實例展示了 callable() 的使用方法:
10.chr()
描述
chr() 用一個範圍在 range(256)內的(就是0~255)整數作參數,返回一個對應的字符。
語法
以下是 chr() 方法的語法:
chr(i)
參數
- i -- 可以是10進制也可以是16進制的形式的數字。
返回值
返回值是當前整數對應的ascii字符。
實例
以下展示了使用 chr() 方法的實例:
11.classmethod
描述
classmethod 修飾符對應的函數不需要實例化,不需要 self 參數,但第一個參數需要是表示自身類的 cls 參數,可以來調用類的屬性,類的方法,實例化對象等。
語法
classmethod 語法:
classmethod
參數
- 無。
返回值
返回函數的類方法。
實例
以下實例展示了 classmethod 的使用方法:
輸出結果爲:
func2
1
foo
12.compile()
描述
compile() 函數將一個字符串編譯爲字節代碼。
語法
以下是 compile() 方法的語法:
compile(source, filename, mode[, flags[, dont_inherit]])
參數
- source -- 字符串或者AST(Abstract Syntax Trees)對象。。
- filename -- 代碼文件名稱,如果不是從文件讀取代碼則傳遞一些可辨認的值。
- mode -- 指定編譯代碼的種類。可以指定爲 exec, eval, single。
- flags -- 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。
- flags和dont_inherit是用來控制編譯源碼時的標誌
返回值
返回表達式執行結果。
實例
以下展示了使用 compile 函數的實例:
13.complex()
描述
complex() 函數用於創建一個值爲 real + imag * j 的複數或者轉化一個字符串或數爲複數。如果第一個參數爲字符串,則不需要指定第二個參數。。
語法
complex 語法:
class complex([real[, imag]])
參數說明:
- real -- int, long, float或字符串;
- imag -- int, long, float;
返回值
返回一個複數。
實例
以下實例展示了 complex 的使用方法:
14.delattr()
描述
delattr 函數用於刪除屬性。
delattr(x, 'foobar') 相等於 del x.foobar。
語法
setattr 語法:
delattr(object, name)
參數
- object -- 對象。
- name -- 必須是對象的屬性。
返回值
無。
實例
以下實例展示了 delattr 的使用方法:
輸出結果:
('x = ', 10) ('y = ', -5) ('z = ', 0) --刪除 z 屬性後-- ('x = ', 10) ('y = ', -5) Traceback (most recent call last): File "test.py", line 22, in <module> print('z = ',point1.z) AttributeError: Coordinate instance has no attribute 'z'
15.dict()
描述
dict() 函數用於創建一個字典。
語法
dict 語法:
class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, **kwarg)
參數說明:
- **kwargs -- 關鍵字
- mapping -- 元素的容器。
- iterable -- 可迭代對象。
返回值
返回一個字典。
實例
以下實例展示了 dict 的使用方法:
16.dir()
描述
dir() 函數不帶參數時,返回當前範圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。
語法
dir 語法:
dir([object])
參數說明:
- object -- 對象、變量、類型。
返回值
返回模塊的屬性列表。
實例
以下實例展示了 dir 的使用方法:
17.divmod()
python divmod() 函數把除數和餘數運算結果結合起來,返回一個包含商和餘數的元組(a // b, a % b)。
在 python 2.3 版本之前不允許處理複數。
函數語法
divmod(a, b)
參數說明:
- a: 數字
- b: 數字
實例
描述
enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
語法
以下是 enumerate() 方法的語法:
enumerate(sequence, [start=0])
參數
- sequence -- 一個序列、迭代器或其他支持迭代對象。
- start -- 下標起始位置。
返回值
返回 enumerate(枚舉) 對象。
實例
以下展示了使用 enumerate() 方法的實例:
普通的 for 循環
for 循環使用 enumerate
描述
eval() 函數用來執行一個字符串表達式,並返回表達式的值。
語法
以下是 eval() 方法的語法:
eval(expression[, globals[, locals]])
參數
- expression -- 表達式。
- globals -- 變量作用域,全局命名空間,如果被提供,則必須是一個字典對象。
- locals -- 變量作用域,局部命名空間,如果被提供,可以是任何映射對象。
返回值
返回表達式計算結果。
實例
以下展示了使用 eval() 方法的實例:
描述
exec 執行儲存在字符串或文件中的 Python 語句,相比於 eval,exec可以執行更復雜的 Python 代碼。
語法
以下是 exec 的語法:
exec(object[, globals[, locals]])
參數
- object:必選參數,表示需要被指定的Python代碼。它必須是字符串或code對象。如果object是一個字符串,該字符串會先被解析爲一組Python語句,然後在執行(除非發生語法錯誤)。如果object是一個code對象,那麼它只是被簡單的執行。
- globals:可選參數,表示全局命名空間(存放全局變量),如果被提供,則必須是一個字典對象。
- locals:可選參數,表示當前局部命名空間(存放局部變量),如果被提供,可以是任何映射對象。如果該參數被忽略,那麼它將會取與globals相同的值。
返回值
exec 返回值永遠爲 None。
實例
以下展示了使用 exec 的實例:
實例 1
實例 2
輸出結果:
60 33 34
21.fiflter()
描述
filter() 函數用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個參數,第一個爲函數,第二個爲序列,序列的每個元素作爲參數傳遞給函數進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表中。
語法
以下是 filter() 方法的語法:
filter(function, iterable)
參數
- function -- 判斷函數。
- iterable -- 可迭代對象。
返回值
返回列表。
實例
以下展示了使用 filter 函數的實例:
過濾出列表中的所有奇數:
輸出結果 :
[1, 3, 5, 7, 9]
過濾出1~100中平方根是整數的數:
輸出結果 :
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
22.float()
描述
float() 函數用於將整數和字符串轉換成浮點數。
語法
float()方法語法:
class float([x])
參數
- x -- 整數或字符串
返回值
返回浮點數。
實例
以下實例展示了 float() 的使用方法:
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。
實例
也可以設置參數:
實例
輸出結果爲:
網站名:菜鳥教程, 地址 www.runoob.com 網站名:菜鳥教程, 地址 www.runoob.com 網站名:菜鳥教程, 地址 www.runoob.com
也可以向 str.format() 傳入對象:
實例
輸出結果爲:
value 爲: 6
數字格式化
下表展示了 str.format() 格式化數字的多種方法:
>>> print("{:.2f}".format(3.1415926)); 3.14
數字 | 格式 | 輸出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小數點後兩位 |
3.1415926 | {:+.2f} | +3.14 | 帶符號保留小數點後兩位 |
-1 | {:+.2f} | -1.00 | 帶符號保留小數點後兩位 |
2.71828 | {:.0f} | 3 | 不帶小數 |
5 | {:0>2d} | 05 | 數字補零 (填充左邊, 寬度爲2) |
5 | {:x<4d} | 5xxx | 數字補x (填充右邊, 寬度爲4) |
10 | {:x<4d} | 10xx | 數字補x (填充右邊, 寬度爲4) |
1000000 | {:,} | 1,000,000 | 以逗號分隔的數字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指數記法 |
13 | {:10d} | 13 | 右對齊 (默認, 寬度爲10) |
13 | {:<10d} | 13 | 左對齊 (寬度爲10) |
13 | {:^10d} | 13 | 中間對齊 (寬度爲10) |
11 |
'{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
進制 |
^, <, > 分別是居中、左對齊、右對齊,後面帶寬度, : 號後面帶填充的字符,只能是一個字符,不指定則默認是用空格填充。
+ 表示在正數前顯示 +,負數前顯示 -; (空格)表示在正數前加空格
b、d、o、x 分別是二進制、十進制、八進制、十六進制。
此外我們可以使用大括號 {} 來轉義大括號,如下實例:
實例
輸出結果爲:
runoob 對應的位置是 {0}
描述
frozenset() 返回一個凍結的集合,凍結後集合不能再添加或刪除任何元素。
語法
frozenset() 函數語法:
class frozenset([iterable])
參數
- iterable -- 可迭代的對象,比如列表、字典、元組等等。
返回值
返回新的 frozenset 對象,如果不提供任何參數,默認會生成空集合。。
實例
以下實例展示了 frozenset() 的使用方法:
描述
getattr() 函數用於返回一個對象屬性值。
語法
getattr 語法:
getattr(object, name[, default])
參數
- object -- 對象。
- name -- 字符串,對象屬性。
- default -- 默認返回值,如果不提供該參數,在沒有對應屬性時,將觸發 AttributeError。
返回值
返回對象屬性值。
實例
以下實例展示了 getattr 的使用方法:
描述
globals() 函數會以字典類型返回當前位置的全部全局變量。
語法
globals() 函數語法:
globals()
參數
- 無
返回值
返回全局變量的字典。
實例
以下實例展示了 globals() 的使用方法:
描述
hasattr() 函數用於判斷對象是否包含對應的屬性。
語法
hasattr 語法:
hasattr(object, name)
參數
- object -- 對象。
- name -- 字符串,屬性名。
返回值
如果對象有該屬性返回 True,否則返回 False。
實例
以下實例展示了 hasattr 的使用方法:
描述
hash() 用於獲取取一個對象(字符串或者數值等)的哈希值。
語法
hash 語法:
hash(object)
參數說明:
- object -- 對象;
返回值
返回對象的哈希值。
實例
以下實例展示了 hash 的使用方法:
描述
help() 函數用於查看函數或模塊用途的詳細說明。
語法
help 語法:
help([object])
參數說明:
- object -- 對象;
返回值
返回對象幫助信息。
實例
以下實例展示了 help 的使用方法:
描述
hex() 函數用於將10進制整數轉換成16進制整數。
語法
hex 語法:
hex(x)
參數說明:
- x -- 10進制整數
返回值
返回16進制整數。
實例
以下實例展示了 hex 的使用方法:
描述
id() 函數用於獲取對象的內存地址。
語法
id 語法:
id([object])
參數說明:
- object -- 對象。
返回值
返回對象的內存地址。
實例
以下實例展示了 id 的使用方法:
python input() 相等於 eval(raw_input(prompt)) ,用來獲取控制檯的輸入。
raw_input() 將所有輸入作爲字符串看待,返回字符串類型。而 input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的類型( int, float )。
注意:input() 和 raw_input() 這兩個函數均能接收 字符串 ,但 raw_input() 直接讀取控制檯的輸入(任何類型的輸入它都可以接收)。而對於 input() ,它希望能夠讀取一個合法的 python 表達式,即你輸入字符串的時候必須使用引號將它括起來,否則它會引發一個 SyntaxError 。
除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與用戶交互。
注意:python3 裏 input() 默認接收到的是 str 類型。
函數語法
input([prompt])
參數說明:
- 無
實例
input() 需要輸入 python 表達式
raw_input() 將所有輸入作爲字符串看待
描述
int() 函數用於將一個字符串會數字轉換爲整型。
語法
以下是 int() 方法的語法:
class int(x, base=10)
參數
- x -- 字符串或數字。
- base -- 進制數,默認十進制。
返回值
返回整型數據。
實例
以下展示了使用 int() 方法的實例:
描述
isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。
isinstance() 與 type() 區別:
type() 不會認爲子類是一種父類類型,不考慮繼承關係。
isinstance() 會認爲子類是一種父類類型,考慮繼承關係。
如果要判斷兩個類型是否相同推薦使用 isinstance()。
語法
以下是 isinstance() 方法的語法:
isinstance(object, classinfo)
參數
- object -- 實例對象。
- classinfo -- 可以是直接或間接類名、基本類型或者有它們組成的元組。
返回值
如果對象的類型與參數二的類型(classinfo)相同則返回 True,否則返回 False。。
實例
以下展示了使用 isinstance 函數的實例:
type() 與 isinstance()區別:
描述
issubclass() 方法用於判斷參數 class 是否是類型參數 classinfo 的子類。
語法
以下是 issubclass() 方法的語法:
issubclass(class, classinfo)
參數
- class -- 類。
- classinfo -- 類。
返回值
如果 class 是 classinfo 的子類返回 True,否則返回 False。
實例
以下展示了使用 basestring 函數的實例:
描述
iter() 函數用來生成迭代器。
語法
以下是 iter() 方法的語法:
iter(object[, sentinel])
參數
- object -- 支持迭代的集合對象。
- sentinel -- 如果傳遞了第二個參數,則參數 object 必須是一個可調用的對象(如,函數),此時,iter 創建了一個迭代器對象,每次調用這個迭代器對象的__next__()方法時,都會調用 object。 打開模式
返回值
迭代器對象。
實例
描述
Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。
語法
len()方法語法:
len( s )
參數
- s -- 對象。
返回值
返回對象長度。
實例
以下實例展示了 len() 的使用方法:
描述
list() 方法用於將元組轉換爲列表。
注:元組與列表是非常類似的,區別在於元組的元素值不能修改,元組是放在括號中,列表是放於方括號中。
語法
list()方法語法:
list( seq )
參數
- list -- 要轉換爲列表的元組。
返回值
返回列表。
實例
以下實例展示了 list()函數的使用方法:
#!/usr/bin/python3 aTuple = (123, 'Google', 'Runoob', 'Taobao') list1 = list(aTuple) print ("列表元素 : ", list1) str="Hello World" list2=list(str) print ("列表元素 : ", list2)
以上實例輸出結果如下:
列表元素 : [123, 'Google', 'Runoob', 'Taobao'] 列表元素 : ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
描述
locals() 函數會以字典類型返回當前位置的全部局部變量。
對於函數, 方法, lambda 函式, 類, 以及實現了 __call__ 方法的類實例, 它都返回 True。
語法
locals() 函數語法:
locals()
參數
- 無
返回值
返回字典類型的局部變量。
實例
以下實例展示了 locals() 的使用方法:
描述
map() 會根據提供的函數對指定序列做映射。
第一個參數 function 以參數序列中的每一個元素調用 function 函數,返回包含每次 function 函數返回值的新列表。
語法
map() 函數語法:
map(function, iterable, ...)
參數
- function -- 函數,有兩個參數
- iterable -- 一個或多個序列
返回值
返回列表。
實例
以下實例展示了 reduce() 的使用方法:
描述
max() 方法返回給定參數的最大值,參數可以爲序列。
語法
以下是 max() 方法的語法:
max( x, y, z, .... )
參數
- x -- 數值表達式。
- y -- 數值表達式。
- z -- 數值表達式。
返回值
返回給定參數的最大值。實例
以下展示了使用 max() 方法的實例:
#!/usr/bin/python3 print ("max(80, 100, 1000) : ", max(80, 100, 1000)) print ("max(-20, 100, 400) : ", max(-20, 100, 400)) print ("max(-80, -20, -10) : ", max(-80, -20, -10)) print ("max(0, 100, -400) : ", max(0, 100, -400))
以上實例運行後輸出結果爲:
max(80, 100, 1000) : 1000 max(-20, 100, 400) : 400 max(-80, -20, -10) : -10 max(0, 100, -400) : 100
描述
memoryview() 函數返回給定參數的內存查看對象(Momory view)。
所謂內存查看對象,是指對支持緩衝區協議的數據進行包裝,在不需要複製對象基礎上允許Python代碼訪問。
語法
memoryview 語法:
memoryview(obj)
參數說明:
- obj -- 對象
返回值
返回元組列表。
實例
以下實例展示了 memoryview 的使用方法:
描述
min() 方法返回給定參數的最小值,參數可以爲序列。
語法
以下是 min() 方法的語法:
min( x, y, z, .... )
參數
- x -- 數值表達式。
- y -- 數值表達式。
- z -- 數值表達式。
返回值
返回給定參數的最小值。實例
以下展示了使用 min() 方法的實例:
#!/usr/bin/python3 print ("min(80, 100, 1000) : ", min(80, 100, 1000)) print ("min(-20, 100, 400) : ", min(-20, 100, 400)) print ("min(-80, -20, -10) : ", min(-80, -20, -10)) print ("min(0, 100, -400) : ", min(0, 100, -400))
以上實例運行後輸出結果爲:
min(80, 100, 1000) : 80 min(-20, 100, 400) : -20 min(-80, -20, -10) : -80 min(0, 100, -400) : -400
描述
next() 返回迭代器的下一個項目。
語法
next 語法:
next(iterator[, default])
參數說明:
- iterator -- 可迭代對象
- default -- 可選,用於設置在沒有下一個元素時返回該默認值,如果不設置,又沒有下一個元素則會觸發 StopIteration 異常。
返回值
返回對象幫助信息。
實例
以下實例展示了 next 的使用方法:
描述
oct() 函數將一個整數轉換成8進制字符串。
語法
oct 語法:
oct(x)
參數說明:
- x -- 整數。
返回值
返回8進制字符串。
實例
以下實例展示了 oct 的使用方法:
python open() 函數用於打開一個文件,創建一個 file 對象,相關的方法纔可以調用它進行讀寫。
更多文件操作可參考:Python 文件I/O。
函數語法
open(name[, mode[, buffering]])
參數說明:
-
name : 一個包含了你要訪問的文件名稱的字符串值。
-
mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式爲只讀(r)。
-
buffering : 如果 buffering 的值被設爲 0,就不會有寄存。如果 buffering 的值取 1,訪問文件時會寄存行。如果將 buffering 的值設爲大於 1 的整數,表明了這就是的寄存區的緩衝大小。如果取負值,寄存區的緩衝大小則爲系統默認。
不同模式打開文件的完全列表:
模式 | 描述 |
---|---|
r | 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。 |
rb | 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。這是默認模式。 |
r+ | 打開一個文件用於讀寫。文件指針將會放在文件的開頭。 |
rb+ | 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。 |
w | 打開一個文件只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 |
wb | 以二進制格式打開一個文件只用於寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 |
w+ | 打開一個文件用於讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 |
wb+ | 以二進制格式打開一個文件用於讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。 |
a | 打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。 |
ab | 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。 |
a+ | 打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。 |
ab+ | 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。 |
file 對象方法
file.read([size]) size未指定則返回整個文件,如果文件大小>2倍內存則有問題.f.read()讀到文件尾時返回""(空字串)
file.readline() 返回一行
file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行
for line in f: print line #通過迭代器訪問
f.write("hello\n") #如果要寫入字符串以外的數據,先將他轉換爲字符串.
f.tell() 返回一個整數,表示當前文件指針的位置(就是到文件頭的比特數).
f.seek(偏移量,[起始位置]) 用來移動文件指針.
- 偏移量:單位:比特,可正可負
- 起始位置:0-文件頭,默認值;1-當前位置;2-文件尾
f.close() 關閉文件
實例
測試文件 test.txt,內容如下:
RUNOOB1 RUNOOB2
描述
ord() 函數是 chr() 函數(對於8位的ASCII字符串)或 unichr() 函數(對於Unicode對象)的配對函數,它以一個字符(長度爲1的字符串)作爲參數,返回對應的 ASCII 數值,或者 Unicode 數值,如果所給的 Unicode 字符超出了你的 Python 定義範圍,則會引發一個 TypeError 的異常。
語法
以下是 ord() 方法的語法:
ord(c)
參數
- c -- 字符。
返回值
返回值是對應的十進制整數。
實例
以下展示了使用 ord() 方法的實例:
描述
pow() 方法返回 xy(x的y次方) 的值。
語法
以下是 math 模塊 pow() 方法的語法:
import math math.pow( x, y )
內置的 pow() 方法
pow(x, y[, z])
函數是計算x的y次方,如果z在存在,則再對結果進行取模,其結果等效於pow(x,y) %z
注意:pow() 通過內置的方法直接調用,內置方法會把參數作爲整型,而 math 模塊則會把參數轉換爲 float。
參數
- x -- 數值表達式。
- y -- 數值表達式。
- z -- 數值表達式。
返回值
返回 xy(x的y次方) 的值。實例
以下展示了使用 pow() 方法的實例:
#!/usr/bin/python3 import math # 導入 math 模塊 print ("math.pow(100, 2) : ", math.pow(100, 2)) # 使用內置,查看輸出結果區別 print ("pow(100, 2) : ", pow(100, 2)) print ("math.pow(100, -2) : ", math.pow(100, -2)) print ("math.pow(2, 4) : ", math.pow(2, 4)) print ("math.pow(3, 0) : ", math.pow(3, 0))
以上實例運行後輸出結果爲:
math.pow(100, 2) : 10000.0 pow(100, 2) : 10000 math.pow(100, -2) : 0.0001 math.pow(2, 4) : 16.0 math.pow(3, 0) : 1.0
描述
print() 方法用於打印輸出,最常見的一個函數。
print 在 Python3.x 是一個函數,但在 Python2.x 版本不是一個函數,只是一個關鍵字。
語法
以下是 print() 方法的語法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
參數
- objects -- 複數,表示可以一次輸出多個對象。輸出多個對象時,需要用 , 分隔。
- sep -- 用來間隔多個對象,默認值是一個空格。
- end -- 用來設定以什麼結尾。默認值是換行符 \n,我們可以換成其他字符串。
- file -- 要寫入的文件對象。
返回值
無。
實例
以下展示了使用 print 函數的實例:
Python3 下測試
描述
property() 函數的作用是在新式類中返回屬性值。
語法
以下是 property() 方法的語法:
class property([fget[, fset[, fdel[, doc]]]])
參數
- fget -- 獲取屬性值的函數
- fset -- 設置屬性值的函數
- fdel -- 刪除屬性值函數
- doc -- 屬性描述信息
返回值
返回新式類屬性。
實例
定義一個可控屬性值 x
如果 c 是 C 的實例化, c.x 將觸發 getter,c.x = value 將觸發 setter , del c.x 觸發 deleter。
如果給定 doc 參數,其將成爲這個屬性值的 docstring,否則 property 函數就會複製 fget 函數的 docstring(如果有的話)。
將 property 函數用作裝飾器可以很方便的創建只讀屬性:
上面的代碼將 voltage() 方法轉化成同名只讀屬性的 getter 方法。
property 的 getter,setter 和 deleter 方法同樣可以用作裝飾器:
這個代碼和第一個例子完全相同,但要注意這些額外函數的名字和 property 下的一樣,例如這裏的 x。
pytho range() 函數可創建一個整數列表,一般用在 for 循環中。
函數語法
range(start, stop[, step])
參數說明:
- start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0, 5);
- end: 計數到 end 結束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
- step:步長,默認爲1。例如:range(0, 5) 等價於 range(0, 5, 1)
實例
以下是 range 在 for 中的使用,循環出runoob 的每個字母:
描述
repr() 函數將對象轉化爲供解釋器讀取的形式。
語法
以下是 repr() 方法的語法:
repr(object)
參數
- object -- 對象。
返回值
返回一個對象的 string 格式。
實例
以下展示了使用 repr() 方法的實例:
描述
reversed 函數返回一個反轉的迭代器。
語法
以下是 reversed 的語法:
reversed(seq)
參數
- seq -- 要轉換的序列,可以是 tuple, string, list 或 range。
返回值
返回一個反轉的迭代器。
實例
以下展示了使用 tuple 的實例:
實例
以上實例輸出結果爲:
['b', 'o', 'o', 'n', 'u', 'R'] ['b', 'o', 'o', 'n', 'u', 'R'] [8, 7, 6, 5] [5, 3, 4, 2, 1]
描述
round() 方法返回浮點數x的四捨五入值。
語法
以下是 round() 方法的語法:
round( x [, n] )
參數
- x -- 數值表達式。
- n -- 數值表達式。
返回值
返回浮點數x的四捨五入值。實例
以下展示了使用 round() 方法的實例:
#!/usr/bin/python3 print ("round(70.23456) : ", round(70.23456)) print ("round(56.659,1) : ", round(56.659,1)) print ("round(80.264, 2) : ", round(80.264, 2)) print ("round(100.000056, 3) : ", round(100.000056, 3)) print ("round(-100.000056, 3) : ", round(-100.000056, 3))
以上實例運行後輸出結果爲:
round(70.23456) : 70 round(56.659,1) : 56.7 round(80.264, 2) : 80.26 round(100.000056, 3) : 100.0 round(-100.000056, 3) : -100.0
描述
set() 函數創建一個無序不重複元素集,可進行關係測試,刪除重複數據,還可以計算交集、差集、並集等。
語法
set 語法:
class set([iterable])
參數說明:
- iterable -- 可迭代對象對象;
返回值
返回新的集合對象。
實例
以下實例展示了 set 的使用方法:
描述
setattr 函數對應函數 getatt(),用於設置屬性值,該屬性必須存在。
語法
setattr 語法:
setattr(object, name, value)
參數
- object -- 對象。
- name -- 字符串,對象屬性。
- value -- 屬性值。
返回值
無。
實例
以下實例展示了 setattr 的使用方法:
描述
slice() 函數實現切片對象,主要用在切片操作函數裏的參數傳遞。
語法
slice 語法:
class slice(stop) class slice(start, stop[, step])
參數說明:
- start -- 起始位置
- stop -- 結束位置
- step -- 間距
返回值
返回一個切片對象。
實例
以下實例展示了 slice 的使用方法:
描述
sorted() 函數對所有可迭代的對象進行排序操作。
sort 與 sorted 區別:
sort 是應用在 list 上的方法,sorted 可以對所有可迭代的對象進行排序操作。
list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。
語法
sorted 語法:
sorted(iterable[, cmp[, key[, reverse]]])
參數說明:
- iterable -- 可迭代對象。
- cmp -- 比較的函數,這個具有兩個參數,參數的值都是從可迭代對象中取出,此函數必須遵守的規則爲,大於則返回1,小於則返回-1,等於則返回0。
- key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。
- reverse -- 排序規則,reverse = True 降序 , reverse = False 升序(默認)。
返回值
返回重新排序的列表。
實例
以下實例展示了 sorted 的使用方法:
python staticmethod 返回函數的靜態方法。
該方法不強制要求傳遞參數,如下聲明一個靜態方法:
class C(object): @staticmethod def f(arg1, arg2, ...): ...
以上實例聲明瞭靜態方法 f,類可以不用實例化就可以調用該方法 C.f(),當然也可以實例化後調用 C().f()。
函數語法
staticmethod(function)
參數說明:
- 無
實例
描述
str() 函數將對象轉化爲適於人閱讀的形式。
語法
以下是 str() 方法的語法:
class str(object='')
參數
- object -- 對象。
返回值
返回一個對象的string格式。
實例
以下展示了使用 str() 方法的實例:
描述
sum() 方法對系列進行求和計算。
語法
以下是 sum() 方法的語法:
sum(iterable[, start])
參數
- iterable -- 可迭代對象,如列表。
- start -- 指定相加的參數,如果沒有設置這個值,默認爲0。
返回值
返回計算結果。
實例
以下展示了使用 sum 函數的實例:
描述
super() 函數用於調用下一個父類(超類)並返回該父類實例的方法。
super 是用來解決多重繼承問題的,直接用類名調用父類方法在使用單繼承的時候沒問題,但是如果使用多繼承,會涉及到查找順序(MRO)、重複調用(鑽石繼承)等種種問題。
MRO 就是類的方法解析順序表, 其實也就是繼承父類方法時的順序表。
語法
以下是 super() 方法的語法:
super(type[, object-or-type])
參數
- type -- 類。
- object-or-type -- 類,一般是 self
返回值
無。
實例
以下展示了使用 super 函數的實例:
執行結果:
Parent Child HelloWorld from Parent Child bar fuction I'm the parent.
描述
tuple 函數將列表轉換爲元組。。
語法
以下是 tuple 的語法:
tuple( seq )
參數
- seq -- 要轉換爲元組的序列。
返回值
返回元組。
實例
以下展示了使用 tuple 的實例:
實例
描述
type() 函數如果你只有第一個參數則返回對象的類型,三個參數返回新的類型對象。
isinstance() 與 type() 區別:
type() 不會認爲子類是一種父類類型,不考慮繼承關係。
isinstance() 會認爲子類是一種父類類型,考慮繼承關係。
如果要判斷兩個類型是否相同推薦使用 isinstance()。
語法
以下是 type() 方法的語法:
class type(name, bases, dict)
參數
- name -- 類的名稱。
- bases -- 基類的元組。
- dict -- 字典,類內定義的命名空間變量。
返回值
一個參數返回對象類型, 三個參數,返回新的類型對象。
實例
以下展示了使用 type 函數的實例:
type() 與 isinstance()區別:
描述
vars() 函數返回對象object的屬性和屬性值的字典對象。
語法
vars() 函數語法:
vars([object])
參數
- object -- 對象
返回值
返回對象object的屬性和屬性值的字典對象,如果沒有參數,就打印當前調用位置的屬性和屬性值 類似 locals()。
實例
以下實例展示了 vars() 的使用方法:
描述
zip() 函數用於將可迭代的對象作爲參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓爲列表。
語法
zip 語法:
zip([iterable, ...])
參數說明:
- iterabl -- 一個或多個迭代器;
返回值
返回元組列表。
實例
以下實例展示了 zip 的使用方法:
描述
__import__() 函數用於動態加載類和函數 。
如果一個模塊經常變化就可以使用 __import__() 來動態載入。
語法
__import__ 語法:
__import__(name[, globals[, locals[, fromlist[, level]]]])
參數說明:
- name -- 模塊名
返回值
返回元組列表。
實例
以下實例展示了 __import__ 的使用方法:
a.py 文件代碼:
test.py 文件代碼:
執行 test.py 文件,輸出結果爲:
在 a.py 文件中 4394716136