6.python內置函數


1. abs() 獲取絕對值

>>> 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()  參數為可迭代對象,參數為空時返回True

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

4.sum()  求和

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

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

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

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

>>> bool(3)
True
>>> bool(0)
False
>>> bool(None)
False

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

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

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

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

 

>> str(1)
'1'

 

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

>>> 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能識別或可以執行的代碼,也可以將文字讀成字符串再編譯

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__

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM