Python 内建函数
Python內置函數:
官方幫助文檔:
https://docs.python.org/2.7/
????返回數字的絕對值.
????def fun(x):
????if x < 0:
????return -x
????return x
????print fun(10)
常用函數:
abs()
????>>> abs(-100)
????100
取列表最大值和最小值
max()
????>>> max('1235',123)
????'1235'
min()
????>>> min('asdfq3w45')
????'3'
len()
????>>> len('abcdf')
????5
????>>> len([1,3,4,5])
????4
????>>> len((1,3,4,5))
????4
????>>> len({1:3,2:5})
????2
divmod()
????>>> help(divmod)
????Help on built-in function divmod in module __builtin__:
????divmod(...)
????divmod(x, y) -> (quotient, remainder)
????Return the tuple (x//y, x%y). ?Invariant: div*y + mod == x.
???
?????>>> divmod(5,2)
????(2, 1)
pow()
????pow(...)
????pow(x, y[, z]) -> number
????With two arguments, equivalent to x**y. ?With three arguments,
????equivalent to (x**y) % z, but may be more efficient (e.g. for longs).
????>>> pow(2,3)
????8
????>>> pow(2,3,3)
????2
round()
????round(...)
????round(number[, ndigits]) -> floating point number
????Round a number to a given precision in decimal digits (default 0 digits).
????This always returns a floating point number. ?Precision may be negative.
????>>> round(12.2)
????12.0
????>>> round(12.23)
????12.0
????>>> round(12.233,2)
????12.23
callable()
是否是可調用對象
????>>> a = 123
????>>> callable(a)
????False
????>>> def a():
????... ? ? pass
????...
????>>> callable(a)
????True
????>>> class A(object):
????... ? ? pass
????...
????>>> callable(A)
????True
type()
????判斷類型
????>>> type(a)
????<type 'function'>
isinstance()
????判斷類型,
????>>> l =[1,2,3]
????>>> isinstance(l,list)
????True
????>>> isinstance(l,str)
????False
????>>> isinstance(l,(list,str))
????True
????判斷是不是一個類
????>>> A
????<class 'A'>
????>>> a = A()
????>>> a
????<A object at 0x0379BE70>
????>>> isinstance(a,A)
????True
cmp()
????>>> cmp(1,2)
????-1
????>>> cmp(1,0)
????1
????>>> cmp(1,1)
????0
????>>> cmp('a','ab')
????-1
????>>> cmp('a','a')
????0
????>>> cmp('helloa','hello')
????1
range()
????>>> a = range(10)
????>>> a
xrange()
????效率更高,不用時候不在內存中產生值
????[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
????>>> b = xrange(10)
????>>> b
????xrange(10)
????>>> for i in b:print i
????...
????0
????1
????2
????3
????4
????5
????6
????7
????8
????9
int()
????>>> int(123.33)
????123
long()
????>>> long(200)
????200L
float()
????>>> float('123')
????123.0
????>>> float('123.0022')
????123.0022
????>>> float(123.0034)
????123.0034
????>>> float(123)
????123.0
complex()
????轉換成復數
????>>> complex(123)
????(123+0j)
????>>> complex(3.1415926)
????(3.1415926+0j)
str()
????>>> str('123')
????'123'
list()
????>>> list('123')
????['1', '2', '3']
tuple()
????>>> tuple('123')
????('1', '2', '3')
hex()
????變為16進制
????>>> hex(10)
????'0xa'
????>>> hex(10L)
????'0xaL'
????>>> int(0xaL)
????10
eval()
????把字符串當成有效表達式求值。
????>>> eval('0xaL')
????10L
????>>> eval("[1,23,'a']")
????[1, 23, 'a']
oct()
????10進制轉成8進制
????>>> oct(10)
????'012'
????>>> oct(8)
????'010'
chr()
查ASSIC碼對應值:
????>>> chr(97)
????'a'
????>>> chr(65)
????'A'
ord()
????>>> ord('A')
????65
字符串處理的函數:
str.capitalize()
????首字母變大寫:
????capitalize(...)
????S.capitalize() -> string
????Return a copy of the string S with only its first character
????capitalized.
????>>> s
????'hello'
????>>> s.capitalize()
????'Hello'
str.replace()
????replace(...)
????S.replace(old, new[, count]) -> string
????Return a copy of string S with all occurrences of substring
????old replaced by new. ?If the optional argument count is
????given, only the first count occurrences are replaced.
????>>> s = 'hello,h'
????>>> s.replace('h','H')
????'Hello,H'
split()
????split(...)
????S.split([sep [,maxsplit]]) -> list of strings
????Return a list of the words in the string S, using sep as the
????delimiter string. ?If maxsplit is given, at most maxsplit
????splits are done. If sep is not specified or is None, any
????whitespace string is a separator and empty strings are removed
????from the result.
????>>> s = 'hello a\tb\nc'
????>>> s
????'hello a\tb\nc'
????>>> s.split()
????['hello', 'a', 'b', 'c']
????>> s
????'hello a\tb\nc'
????>>> s.split(' ')
????['hello', 'a\tb\nc']
????>>> s.split('\t')
????['hello a', 'b\nc']
????>>> ip = '192.168.1.1'
????>>> ip.split('.')
????['192', '168', '1', '1']
????>>> ip.split('.',1)
????['192', '168.1.1']
????>>> ip.split('.',2)
????['192', '168', '1.1']
join()
????>>> range(10)
????[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
????>>> ''.join(str(i) for i in range(10))
????'0123456789'
????>>> int(''.join(str(i) for i in range(10)))
????123456789
string:
????import string
????string.lower
????>>> string.lower('Kfdfa')
????'kfdfa'
????string.upper
????>>> string.upper('Kfdfa')
????'KFDFA'
????string.capitalize()
????>>> string.capitalize('adfafgh')
????'Adfafgh'?
????string.replace()
???>>> string.replace('afkgha','a','A')
????'AfkghA'
序列處理函數:
len()
max()
min()
filter()
????filter(...)
????filter(function or None, sequence) -> list, tuple, or string
????Return those items of sequence for which function(item) is true. ?If
????function is None, return the items that are true. ?If sequence is a tuple
????or string, return the same type, else return a list.
????>>> filter(None,range(10))
????[1, 2, 3, 4, 5, 6, 7, 8, 9]
????>>> def f(x):
????... ? ? if x % 2 == 0:
????... ? ? ? ? return True
????...
????>>> filter(f,range(10))
????[0, 2, 4, 6, 8]
????>>> filter(lambda x: x%2==0,range(10))
????[0, 2, 4, 6, 8]
zip()
????zip(...)
????zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]
????Return a list of tuples, where each tuple contains the i-th element
????from each of the argument sequences. ?The returned list is truncated
????in length to the length of the shortest argument sequence.
????>>> a1 = [1,3,4]
????>>> a2 = ['a','b','c']
????>>> zip(a1,a2)
????[(1, 'a'), (3, 'b'), (4, 'c')]
????>>> dict(zip(a1,a2))
????{1: 'a', 3: 'b', 4: 'c'}
????>>> dict(zip(a2,a1))
????{'a': 1, 'c': 4, 'b': 3}
????>>> a3 = ['x','y','z']
????>>> zip(a1,a2,a3)
????[(1, 'a', 'x'), (3, 'b', 'y'), (4, 'c', 'z')]
????>>> zip(a1,a3)
????[(1, 'x'), (3, 'y'), (4, 'z')]
????>>> a3 = ['x','y']
????>>> zip(a1,a3)
????[(1, 'x'), (3, 'y')]
????>>> zip(a1,a2,a3)
????[(1, 'a', 'x'), (3, 'b', 'y')]
map()
????map(...)
????map(function, sequence[, sequence, ...]) -> list
????Return a list of the results of applying the function to the items of
????the argument sequence(s). ?If more than one sequence is given, the
????function is called with an argument list consisting of the corresponding
????item of each sequence, substituting None for missing values when not all
????sequences have the same length. ?If the function is None, return a list of
????the items of the sequence (or a list of tuples if more than one sequence).
????參數有幾個,函數里的參數也應該對應有幾個
????>>> map(None,a1,a2,a3)
????[(1, 'a', 'x'), (3, 'b', 'y'), (4, 'c', None)]
????>>> def f(x):
????... ? ? return x**2
????...
????>>> map(f,a1)
????[1, 9, 16]
????>>> a1
????[1, 3, 4]
????>>> a1
????[1, 3, 4]
????>>> a2
????[2, 5, 6]
????>>> def f(x,y):
????... ? ? return x*y
????...
????>>> map(f,a1,a2)
????[2, 15, 24]
????>>> map(lambda x,y: x*y ,range(1,10),range(1,10))
????[1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce()
????reduce(...)
????reduce(function, sequence[, initial]) -> value
????Apply a function of two arguments cumulatively to the items of a sequence,
????from left to right, so as to reduce the sequence to a single value.
????For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
????((((1+2)+3)+4)+5). ?If initial is present, it is placed before the items
????of the sequence in the calculation, and serves as a default when the
????sequence is empty.
????>>> def f(x,y):
????... ? ? return x + y
????...
????>>> reduce(f,range(1,101))
????5050
列表表達式:
[i*2 for i in range(10)]
????>>> [i*2 for i in range(10)]
????[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
????>>> [i*2+10 for i in range(10)]
????[10, 12, 14, 16, 18, 20, 22, 24, 26, 28]
[i*2+10 for i in range(10) if i%3 == 0]
????>>> [i*2+10 for i in range(10) if i%3 == 0]
????[10, 16, 22, 28]
????
轉載于:https://blog.51cto.com/fengyunshan911/2058835
總結
以上是生活随笔為你收集整理的Python 内建函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI加剧贫富分化不可避免,我们的职业会发
- 下一篇: Java基础——组合关系