6.python內置函數

1. abs() 獲取絕對值python

複製代碼
>>> abs(-10)
10
>>> a = -10
>>> a.__abs__()
10
複製代碼

2. all()   參數爲可迭代對象,迭代對象爲空時,返回True.若是迭代對象的全部元素都爲真,那麼返回True,不然返回False.算法

複製代碼
all(['python',123])
--->True
 
all([])
--->True
 
all([0])
--->False
 
all(" ")
--->True
 
all(1,' ',2,None)
--->False
複製代碼

3.any()  參數爲可迭代對象,參數爲空時返回Trueshell

複製代碼
print(any([None,0,' ',{},1]))
--->True
 
print(any(' '))
--->True
複製代碼

4.sum()  求和app

>>> res = sum(i for i in range(5))
>>> print(res)
10

5.bin()  將參數轉化爲二進制less

>>> bin(3)
'0b11'
>>> bin(10)
'0b1010'

6.bool()   布爾函數,返回bool值,False或True函數

複製代碼
>>> bool(3)
True
>>> bool(0)
False
>>> bool(None)
False
複製代碼

7. ascii()  調用對象的__repr__()方法,得到該方法的返回值post

8.bytes()  將一個字符串轉化爲字節類型ui

>>> print(bytes('hello',encoding='utf-8'))
b'hello

9.str()  將字符類型/數值類型等轉換爲字符串類型this

 

>> str(1)
'1'

 

10.chr()   查看十進制數對應的ASCII字符spa

複製代碼
>>> chr(65)
'A'
>>> chr(90)
'Z'
>>> chr(97)
'a'
>>> chr(122)
'z'
複製代碼

11.ord()   查看某個ASCII對應的十進制數

>>> ord('a')
97
>>> ord('A')
65

12.callabe()   判斷對象是否能夠被調用,能被調用的對象就是一個callables對象,好比函數和帶有__call__()的實例

13. classmethod()  用來指定一個方法爲類的方法,由類直接調用執行,只有一個cls參數,執行雷的方法時,自動將調用該方法的類賦值給cls.沒有此參數指定的類的方法爲實例方法

複製代碼
class Province:
    country = "中國"
       
    def __init__(self, name):
        self.name = name
       
    @classmethod
    def show(cls):  # 類方法,由類調用,最少要有一個參數cls,調用的時候這個參數不用傳值,自動將類名賦值給cls
        print(cls)
       
# 調用方法
Province.show()
複製代碼

14.complie()  將字符串編譯成python能識別或能夠執行的代碼,也能夠將文字讀成字符串再編譯

?
1
2
3
4
5
6
compile (source, filename, mode, flags = 0 , dont_inherit = False , optimize = - 1 )
說明:
   1. 將source編譯爲代碼或者AST對象。代碼對象可以經過 exec 語句來執行或者 eval ()進行求值。
   2. 參數source:字符串或者AST(Abstract Syntax Trees)對象。即須要動態執行的代碼段。
   3. 參數 filename:代碼文件名稱,若是不是從文件讀取代碼則傳遞一些可辨認的值。當傳入了source參數時,filename參數傳入空字符便可。
   4. 參數mode:指定編譯代碼的種類,能夠指定爲 ‘ exec ’,’ eval ’,’single’。當source中包含流程語句時,mode應指定爲‘ exec ’;當source中只包含一個簡單的求值表達式,mode應指定爲‘ eval ’;當source中包含了交互式命令語句,mode應指定爲 'single'
複製代碼
#流程語句使用exec
code1 = 'for i in range(10):print(i)'
aa = compile(code1,'','exec')  #source,filename,mode
exec(aa)

結果:
0
1
2
3
4
5
6
7
8
9

#簡單求值表達式用eval
code2 = "1+2+3+4"
bb = compile(code2,'','eval')
print(eval(bb))

結果:
10


#交互語句用single
code3 = "name = input('please input your name:')"
cc = compile(code3,'','single')
exec(cc)   #執行時提示輸入name
複製代碼

 

15.complex()

複製代碼
1 建立一個值爲real + imag * j的複數或者轉化一個字符串或數爲複數。若是第一個參數是字符串,則不須要指定第二個參數。
2 參數real:int,long,float或字符串。
3 參數imag:int,long,float

x=complex(1-2j)
print(x.real)
--->1.0
 
print(x.imag)
--->2.0
複製代碼

16. delattr()  刪除對象的屬性

18. float()  講一個字符串或整數轉換爲浮點數

>>> print(float(1))
1.0

19.list()  參數爲可迭代對象

20.tuple() 元組

21.dict()   建立數據字典

22.set()  集合

23.frozenset()   不可變集合

24.dir()  不帶參數時返回當前範圍內的變量,方法和定義的類型列表,帶參數時返回參數的屬性,方法列表

 

>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> dir(sum)#輸出sum下有哪些可被sum調用的方法。(對象.方法),sum.方法

 

25.divmod()  分別取商和餘數.二個參數x和y,輸出元組(x//y,x%y)

print(divmod(100,33))
--->(3,1)

26. enumerate()  返回一個能夠枚舉的對象,該對象的next()方法將返回一個元組

複製代碼
for i in enumerate(['a','b','c','d']):
    print(i)
結果: (0,
'a') (1, 'b') (2, 'c') (3, 'd')
複製代碼

27.eval()  將字符串str中的表達式提取出來並運行

複製代碼
s= "1 + 2 * 3"
print(type(s))
print(eval(s))

結果:
<class 'str'>
7
複製代碼

28.exec()  執行字符串或complie方法編譯過的字符串,沒有返回值

複製代碼
exec函數和eval函數相似,也是執行動態語句,只不過eval函數只用於執行表達式求值,而exec函數主要用於執行語句塊。

>>> eval('a=1+2') #執行語句報錯
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    eval('a=1+2')
  File "<string>", line 1
    a=1+2
     ^
SyntaxError: invalid syntax

>>> exec('a=1+2') #執行語句
>>> a
3
複製代碼

29.filter()  過濾器,構造一個序列,等價於[ item for item in iterables if function(item)],在函數中設定過濾條件,逐一循環迭代器中的元素,將返回值爲True時的元素留下,造成一個filter類型數據

30.format()  格式化輸出字符串,format(value, format_spec)實質上是調用了value的__format__(format_spec)方法

>>> print("I am {0}, I like {1}".format("derek","python"))
I am derek, I like python

31.getattr()  獲取對象的屬性

複製代碼
getattr(object, name [, defalut])
獲取對象object名爲name的特性,若是object不包含名爲name的特性,將會拋出AttributeError異常;若是不包含名爲name的特性
且提供default參數,將返回default。
參數object:對象
參數name:對象的特性名
參數default:缺省返回值
 
print(getattr(list, 'append'))
---> <method 'append' of 'list' objects>
 
mylist = [3, 4, 5]
append(mylist, 6)
print(mylist)
--->[3, 4, 5, 6]
 
print(getattr(list, 'add'))
--->Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'list' has no attribute 'add'
 
print(getattr(list, 'add', 'NoMethod'))
---> 'NoMethod'
複製代碼

32.globals()  返回一個描述當前全局變量的字典

33.hasattr()

複製代碼
hasattr(object,name)
判斷對象object是否包含名爲name的特性(hasattr是經過調用getattr(object,name))是否拋出異常來實現的。
參數object:對象
參數name:特性名稱
 
print(hasattr(list, 'append'))
---> True
 
print(hasattr(list, 'add'))
---> False
複製代碼

34.hash()  哈希值

hash(object)
hash是一種算法,二個數值相等hash值是肯定的惟一的,經常使用來校驗數據。<br>hash值不能逆推。
若是對象object爲哈希表類型,返回對象object的哈希值。哈希值爲整數,在字典查找中,哈希值用於快遞比價字典的鍵。
兩個數值若是相等,則哈希值也相等。

35.hex()   十進制轉化爲十六進制

>>> print(hex(10))
0xa

36. id()  查看惟一標識的身份

37. help()  返回對象的幫助文檔

38. input()  獲取用戶輸入內容

39. isinstance()  檢查對象是不是類的對象,返回True或False

複製代碼
isinstance(obj, cls)
檢查obj是不是類cls的對象, 返回True 或 False
class Foo(object):
     pass
obj = Foo()
isinstance(obj, Foo)
複製代碼

40. issubclass()  檢查一個類是不是另外一個類的子類。返回True或False

複製代碼
issubclass(sub, super)
檢查sub類是不是super類的派生類(子類)。返回True 或 False
  
class Foo(object):
    pass
    
class Bar(Foo):
    pass
    
issubclass(Bar, Foo)
複製代碼

41. iter()

42. len()  返回對象長度,參數能夠是序列類型(字符串,元組或列表)或映射類型(如字典)

43.  locals()  打印當前可用的局部變量的字典

44. lambda匿名函數 

45. zip()     ‘拉鍊’,一對一的

46. sorted()    返回列表,列表包含全部的元素,按升序排列

 

47. map()       映射,第一個參數爲函數,第二個參數爲可迭代對象

48.max()  返回給定元素裏最大值

49.min()  返回給定元素裏最小值

50.object()

 

 1.獲取一個新的,無特性(geatureless)對象。Object是全部類的基類。它提供的方法將在全部的類型實例中共享。
2 該函數時2.2.版本新增,2.3版本以後,該函數不接受任何參數。

 

51.open()  打開文件

52.print()  輸出函數

53.range()  根據須要生成一個指定範圍的數字,能夠提供你須要的控制來迭代指定的次數

55. repr()  將任意值轉換爲字符串,供計時器讀取的形式

返回一個對象的字符串表示。有時可使用這個函數來訪問操做。
對於許多類型來講,repr()嘗試返回一個字符串,eval()方法可使用該字符串產生對象;
不然用尖括號括起來的,包含類名稱和其餘二外信息的字符串被返回。

57.round()  四捨六入五留雙,五留雙留離整數最近的偶數

 

複製代碼
print(round(10.3))
----> 10
 
print(round(10.5))
----> 10
 
print(round(10.6))
----> 11
 
print(round(10.9))
----> 11
 
print(round(11.5))
----> 12
複製代碼

58.pow()  冪函數

>>> print(pow(3,3))
27
>>> print(pow(2,5))
32

59. reduce()         合併,第一個參數爲函數,第二個參數爲可迭代對象。第三個參數無關緊要,默認初始值。

60. filter    過濾

61.oct()   十進制轉化爲八進制

print(oct(10))
---->0o12

62.slice  切片

複製代碼
l=[1,2,3,4,5]
print(l[2:4])
--->[3,4]
 
s=slice(2,4)
print(l[s])
---->[3,4]
複製代碼

63. vars    沒有參數時和locals()同樣,有參數獲得字典

64. __import__

相關文章
相關標籤/搜索