參考python built-in function
輸入:整數或者浮點數
輸出:絕對值
all(iterable)
如果輸入的可迭代物件中的元素都為true(或者這個物件沒有元素),那麼函式返回true
>>> list=
>>> all(list)
true
any(iterable)如果可迭代物件中的元素存在為true,那麼函式返回true,如果物件為沒有元素,那麼返回false
>>> list=
>>> any(list)
false
bin(x)將乙個數轉換為二進位制字串,如果x不是int,那麼需要定義__index__()方法返回乙個整數
>>> bin(10)
'0b1010'
>>>bin(12.21)
traceback (most recent call last):
file "", line
1, in
typeerror: 'float' object cannot be interpreted as
aninteger
class bool([x])判斷x是否符合以下條件,返回false
repr(object)
參考
>>> repr('hello')
"'hello'"
>>> repr('你你好')
"'你你好'"
ascii(object)作用和repr()函式相似,返回乙個字串,字串包含object的可列印表達,但是非ascii字元會使用\x,\u,\u轉義
>>> ascii('你好')
"'\\u4f60\\u597d'"
>>> ascii('hello')
"'hello'"
eval(expression,globals=none,locals=none)>>> x = 1
>>> eval('x+1')
2
>>> locals()
>>> globals()
class bytearray([source[,encoding[,errors]]]建立乙個位元組陣列物件,可以方便的使用一些函式,bytes and bytearray operations
>>> c=bytearray('你好','utf-8')
>>> c
bytearray(b'\xe4\xbd
\xa0\xe5\xa5\xbd')
class bytes([source[,encoding[,errors]]]返回乙個不可變位元組序列
>>> c=bytes('你好','utf-8')
>>> c
b'\xe4\xbd
\xa0\xe5\xa5\xbd'
callable(object)如果object可以呼叫,那麼返回true
>>> def printhello():
... print("hello")
...>>> callable(printhello)
true
chr(i)返回i(範圍是0~1,114,111(0x10ffff))對應的字元
>>> chr(8364)
'€'
如果出現這種情況請設定環境編碼格式
>>> chr(8364)
'\u20ac'
ord(c)返回字元的unicode整數值
>>> ord('歐')
27431
classmethod(function)使類可以直接呼叫該函式
>>> class c:
... @classmethod
... def f(self):
... print("hello")
>>>
>>> c.f()
hello
>>> class b:
... def f(self):
... print("hello")
...>>> b.f()
traceback (most recent call last):
file "", line 1, in
typeerror: f() missing 1 required positional argument: 'self'
compile(source,filename,mode,flag=0,dont_inherit=false,optimize=-1)編譯source成乙個可以被exec()和eval()執行的code object
>>> str = '[i for i in range(10)]'
>>> a=compile(str,'','eval')
>>> eval(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
delattr(object, name)刪除object的屬性
divmod(a,b)
返回商和餘數,餘數和b同號
>>> divmod(8,4)
(2, 0)
>>> divmod(8,-2.5)
(-4.0, -2.0)
enumerate(iterable, start=0)物件要可迭代
>>> seasons = ['spring', 'summer', 'fall', 'winter']
>>> list(enumerate(seasons))
[(0, 'spring'), (1, 'summer'), (2, 'fall'), (3, 'winter')]
>>> list(enumerate(seasons, start=1))
[(1, 'spring'), (2, 'summer'), (3, 'fall'), (4, 'winter')]
filter(function,iterable)建立乙個迭代器,item for item in iterable if function(item)
>>> a=[1,2,3,4]
>>> list(filter(lambda x : not x%2 ,a))
[2, 4]
相反:itertools.filte***lse(predicate,iterable)如果函式返回false,則被新增
>>>
import itertools
>>> list(itertools.filte***lse(lambda x:x%2,range(10)))
[0, 2, 4, 6, 8]
class float([x])
>>> float('+1.23')
1.23
>>> float(' -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1e6')
1000000.0
>>> float('-infinity')
-inf
>>> float()
0.0
zip(*iterables)按照最短原則依次連線各個序列的元素,返回乙個元組迭代器
>>> list(zip([1,2],[1,2,3],[1,2]))
[(1, 1, 1), (2, 2, 2)]
>>> list(zip('nihao','wodhi'))
[('n', 'w'), ('i', 'o'), ('h', 'd'), ('a', 'h'), ('o', 'i')]
在傳入序列前使用*操作符,作用相當於把序列的元素傳入
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>>zip(*zip(x, y))
>zip(*[(1,4),(2,5),(3,6)])
>zip((1,4),(2,5),(3,6))
>[(1,2,3),(4,5,6)]
Python原始碼學習 內建型別簡析並簡析int物件
本文環境python2.5系列 參考書籍位於include object.h中 typedef struct object pyobject typedef struct pyvarobject define pyobject head pyobject head extra py ssize t ...
Python之函式簡析 二
python之函式 本節重點理解一下map,reduce,filter,lambda,sorted函式的用法 map函式例項 usr bin env python coding utf8 time 2017 11 2 9 32 author hantong file func.py map函式,返回...
strtok函式簡析
官方的strtok函式,用來通過分隔字元 不支援字串,傳入的串中每個字元單獨當分隔符,如下例子組合的如123會處理1而23會被跳過 返回分隔的串的首位址 比如呼叫strtok abc123def 123456 返回值是指向abc的指標 下次要獲得 def 需要呼叫strtok null,123456...