溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python內(nèi)置函數(shù)

發(fā)布時間:2021-11-02 13:37:27 來源:億速云 閱讀:139 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么使用Python內(nèi)置函數(shù)”,在日常操作中,相信很多人在怎么使用Python內(nèi)置函數(shù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用Python內(nèi)置函數(shù)”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

abs()

返回數(shù)字絕對值

>>> abs(-100)
100
>>> abs(10)
10
>>>

all()

判斷給定的可迭代參數(shù) iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False

>>> all([100,100,100])
True
>>> all([3,0,1,1])
False
>>>

any()

判斷給定的可迭代參數(shù) iterable 是否全部為 False,則返回 False,如果有一個為 True,則返回 True

>>> any([0,0,0,0])
False
>>> any([0,0,0,1])
True
>>>

ascii()

調用對象的repr()方法,獲取該方法的返回值

>>> ascii('test')
"'test'"
>>>

bin()

將十進制轉換為二進制

>>> bin(100)
'0b1100100'
>>>

oct()

將十進制轉換為八進制

>>> oct(100)
'0o144'
>>>

hex()

將十進制轉換為十六進制

>>> hex(100)
'0x64'
>>>

bool()

測試對象是True,還是False

>>> bool(1)
True
>>> bool(-1)
True
>>> bool()
False
>>>

bytes()

將一個字符轉換為字節(jié)類型

>>> s = "blxt"
>>> bytes(s,encoding='utf-8')
b'blxt'
>>>

str()

將字符、數(shù)值類型轉換為字符串類型

>>> str(123)
'123'
>>>

callable()

檢查一個對象是否是可調用的

False
>>> callable(str)
True
>>> callable(int)
True
>>> callable(0)
False
>>>

chr()

查看十進制整數(shù)對應的ASCll字符

>>> chr(100)
'd'
>>>

ord()

查看某個ascii對應的十進制

>>> ord('a')
97
>>>

classmethod()

修飾符對應的函數(shù)不需要實例化,不需要 self 參數(shù),但第一個參數(shù)需要是表示自身類的 cls 參數(shù),可以來調用類的屬性,類的方法,實例化對象等

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class A(object):
    bar = 1
    def func1(self):  
        print ('foo') 
    @classmethod
    def func2(cls):
        print ('func2')
        print (cls.bar)
        cls().func1()   # 調用 foo 方法

輸出結果:

func2
1
foo

compile()

將字符串編譯成python能識別或者可以執(zhí)行的代碼。也可以將文字讀成字符串再編譯

>>> blxt = "print('hello')"
>>> test = compile(blxt,'','exec')
>>> test
<code object <module> at 0x02E9B840, file "", line 1>
>>> exec(test)
hello
>>>

complex()

創(chuàng)建一個復數(shù)

>>> complex(13,18)
(13+18j)
>>>

delattr()

刪除對象屬性

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Coordinate:
    x = 10
    y = -5
    z = 0
point1 = Coordinate() 
print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)
delattr(Coordinate, 'z')
print('--刪除 z 屬性后--')
print('x = ',point1.x)
print('y = ',point1.y)
# 觸發(fā)錯誤
print('z = ',point1.z)

輸出結果:

>>> 
x =  10
y =  -5
z =  0
--刪除 z 屬性后--
x =  10
y =  -5
Traceback (most recent call last):
  File "C:\Users\fdgh\Desktop\test.py", line 22, in <module>
    print('z = ',point1.z)
AttributeError: 'Coordinate' object has no attribute 'z'
>>>

dict()

創(chuàng)建數(shù)據(jù)字典

>>> dict()
{}
>>> dict(a=1,b=2)
{'a': 1, 'b': 2}
>>>

dir()

函數(shù)不帶參數(shù)時,返回當前范圍內(nèi)的變量、方法和定義的類型列表

>>> dir()
['Coordinate', '__annotations__', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'point1', 'y']
>>>

divmod()

分別取商和余數(shù)

>>> divmod(11,2)
(5, 1)
>>>

enumerate()

返回一個可以枚舉的對象,該對象的next()方法將返回一個元組

>>> blxt = ['a','b','c','d']
>>> list(enumerate(blxt))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
>>>

eval()

將字符串str當成有效表達式來求值并返回計算結果取出字符串中內(nèi)容

>>> blxt = "5+1+2"
>>> eval(blxt)
8
>>>

exec()

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

>>> blxt = "print('hello')"
>>> test = compile(blxt,'','exec')
>>> test
<code object <module> at 0x02E9B840, file "", line 1>
>>> exec(test)
hello
>>>

filter()

過濾器,構建一個序列

#過濾列表中所有奇數(shù)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def is_odd(n):
    return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)

輸出結果:

[ 1, 3, 5, 7, 9 ]

float()

將一個字符串或整數(shù)轉換為浮點數(shù)

>>> float(3)
3.0
>>> float(10)
10.0
>>>

format()

格式化輸出字符串

>>> "{0} {1} {3} {2}".format("a","b","c","d")
'a b d c'
>>> print("網(wǎng)站名:{name},地址:{url}".format(name="blxt",url="www.blxt.best"))
網(wǎng)站名:blxt,地址:www.blxt.best
>>>

frozenset()

創(chuàng)建一個不可修改的集合

>>> frozenset([2,4,6,6,7,7,8,9,0])
frozenset({0, 2, 4, 6, 7, 8, 9})
>>>

getattr()

獲取對象屬性

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> getattr(a, 'bar')        # 獲取屬性 bar 值
1
>>> getattr(a, 'bar2')       # 屬性 bar2 不存在,觸發(fā)異常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'bar2'
>>> getattr(a, 'bar2', 3)    # 屬性 bar2 不存在,但設置了默認值
3
>>>

globals()

返回一個描述當前全局變量的字典

>>> print(globals()) # globals 函數(shù)返回一個全局變量的字典,包括所有導入的變量。
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, 'a': 'runoob', '__package__': None}

hasattr()

函數(shù)用于判斷對象是否包含對應的屬性

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> hasattr(a,'bar')
True
>>> hasattr(a,'test')
False

hash()

返回對象的哈希值

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> hash(a)
-2143982521
>>>

help()

返回對象的幫助文檔

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> help(a)
Help on A in module __main__ object:
class A(builtins.object)
 |  Data descriptors defined here:
 |  
 |  __dict__
 |      dictionary for instance variables (if defined)
 |  
 |  __weakref__
 |      list of weak references to the object (if defined)
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  bar = 1
>>>

id()

返回對象的內(nèi)存地址

>>>class A(object):
...     bar = 1
... 
>>> a = A()
>>> id(a)
56018040
>>>

input()

獲取用戶輸入內(nèi)容

>>> input()
... test
'test'
>>>

int()

用于將一個字符串或數(shù)字轉換為整型

>>> int('14',16)
20
>>> int('14',8)
12
>>> int('14',10)
14
>>>

isinstance()

來判斷一個對象是否是一個已知的類型,類似 type()

>>> test = 100
>>> isinstance(test,int)
True
>>> isinstance(test,str)
False
>>>

issubclass()

用于判斷參數(shù) class 是否是類型參數(shù) classinfo 的子類

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class A:
    pass
class B(A):
    pass
print(issubclass(B,A))    # 返回 True

iter()

返回一個可迭代對象,sentinel可省略

>>>lst = [1, 2, 3]
>>> for i in iter(lst):
...     print(i)
... 
1
2
3

len()

返回對象的長度

>>> dic = {'a':100,'b':200}
>>> len(dic)
2
>>>

list()

返回可變序列類型

>>> a = (123,'xyz','zara','abc')
>>> list(a)
[123, 'xyz', 'zara', 'abc']
>>>

map()

返回一個將function應用于iterable中每一項并輸出其結果的迭代器

>>>def square(x) :            # 計算平方數(shù)
...     return x ** 2
... 
>>> map(square, [1,2,3,4,5])   # 計算列表各個元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函數(shù)
[1, 4, 9, 16, 25]
# 提供了兩個列表,對相同位置的列表數(shù)據(jù)進行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

max()

返回最大值

>>> max (1,2,3,4,5,6,7,8,9)
9
>>>

min()

返回最小值

>>> min (1,2,3,4,5,6,7,8)
1
>>>

memoryview()

返回給定參數(shù)的內(nèi)存查看對象(memory view)

>>>v = memoryview(bytearray("abcefg", 'utf-8'))
>>> print(v[1])
98
>>> print(v[-1])
103
>>> print(v[1:4])
<memory at 0x10f543a08>
>>> print(v[1:4].tobytes())
b'bce'
>>>

next()

返回可迭代對象的下一個元素

>>> a = iter([1,2,3,4,5])
>>> next(a)
1
>>> next(a)
2
>>> next(a)
3
>>> next(a)
4
>>> next(a)
5
>>> next(a)
Traceback (most recent call last):
  File "<pyshell#72>", line 1, in <module>
    next(a)
StopIteration
>>>

object()

返回一個沒有特征的新對象

>>> a = object()
>>> type(a)
<class 'object'>
>>>

open()

返回文件對象

>>>f = open('test.txt')
>>> f.read()
'123/123/123'

pow()

base為底的exp次冪,如果mod給出,取余

>>> pow (3,1,4)
3
>>>

print()

打印對象

class property()

返回property屬性

class C(object):
    def __init__(self):
        self._x = None
    def getx(self):
        return self._x
    def setx(self, value):
        self._x = value
    def delx(self):
        del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")

range()

生成一個不可變序列

>>> range(10)
range(0, 10)
>>>

reversed()

返回一個反向的iterator

>>> a = 'test'
>>> a
'test'
>>> print(list(reversed(a)))
['t', 's', 'e', 't']
>>>

round()

四舍五入

>>> round (3.33333333,1)
3.3
>>>

class set()

返回一個set對象,可實現(xiàn)去重

>>> a = [1,2,3,4,5,5,6,5,4,3,2]
>>> set(a)
{1, 2, 3, 4, 5, 6}
>>>

class slice()

返回一個表示有1range所指定的索引集的slice對象

>>> a = [1,2,3,4,5,5,6,5,4,3,2]
>>> a[slice(0,3,1)]
[1, 2, 3]
>>>

sorted()

對所有可迭代的對象進行排序操作

>>> a = [1,2,3,4,5,5,6,5,4,3,2]
>>> sorted(a,reverse=True)
[6, 5, 5, 5, 4, 4, 3, 3, 2, 2, 1]
>>>

@staticmethod

將方法轉換為靜態(tài)方法

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class C(object):
    @staticmethod
    def f():
        print('blxt');
C.f();          # 靜態(tài)方法無需實例化
cobj = C()
cobj.f()        # 也可以實例化后調用

輸出結果:

    test
    test

sum()

求和

a = [1,2,3,4,5,5,6,5,4,3,2]
>>> sum(a)
40
>>>

super()

返回一個代理對象

class A:
     def add(self, x):
         y = x+1
         print(y)
class B(A):
    def add(self, x):
        super().add(x)
b = B()
b.add(2)  # 3

tuple()

不可變的序列類型

>>> a = 'www'
>>> b =tuple(a)
>>> b
('w', 'w', 'w')
>>>

zip()

將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表

>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素個數(shù)與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 與 zip 相反,*zipped 可理解為解壓,返回二維矩陣式
[(1, 2, 3), (4, 5, 6)]

到此,關于“怎么使用Python內(nèi)置函數(shù)”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI