You are on page 1of 13

Chức năng tích hợp

Trình thông dịch Python có một số hàm và kiểu được tích hợp sẵn luôn sẵn dùng. Chúng được liệt kê ở
đây theo thứ tự bảng chữ cái.

Built-in Functions

L
len()
list() R
A E locals() range()
abs() enumerate() repr()
aiter() eval() reversed()
all() exec() round()
any() M
anext() map()
ascii() max()
F memoryview() S
filter() min() set()
float() setattr()
B format() slice()
bin() frozenset() sorted()
bool() N
staticmethod()
breakpoint() next()
str()
bytearray() G sum()
bytes() getattr() super()
globals() O
object()
C oct()
T
callable() open()
H tuple()
chr() ord()
hasattr() type()
classmethod() hash()
compile() help()
complex() hex() P
V
pow()
vars()
print()
D property()
I
delattr() id()
dict() Z
input() zip()
dir() int()
divmod() isinstance()
issubclass()
iter() _
__import__()

abs ( x )

Trả về giá trị tuyệt đối của một số. Đối số có thể là số nguyên, số dấu phẩy động hoặc đối tượng triển khai
__abs__(). Nếu đối số là một số phức, độ lớn của nó được trả về.

aiter ( async_iterable )

Trả về một trình vòng lặp không đồng bộ cho một vòng lặp không đồng bộ . Tương đương với việc gọi
x.__aiter__().
Lưu ý: Không giống như iter(), aiter()không có biến thể 2 đối số.

Mới trong phiên bản 3.10.

all(iterable)
Trả về Truenếu tất cả các phần tử của iterable là đúng (hoặc nếu iterable
trống). Tương đương với:

def all(iterable):
for element in iterable:
if not element:
return False
return True

awaitable anext(async_iterator)

awaitable anext(async_iterator, default)

Khi được chờ đợi, hãy trả về mục tiếp theo từ trình lặp không đồng bộ đã cho
hoặc mặc định nếu được cung cấp và trình lặp đã hết.

Đây là biến thể không đồng bộ của next()nội trang và hoạt động tương tự.
Điều này gọi __anext__()phương thức async_iterator , trả về một giá trị có thể
chờ đợi . Đang chờ điều này trả về giá trị tiếp theo của trình vòng lặp. Nếu
giá trị mặc định được đưa ra, nó sẽ được trả về nếu trình vòng lặp cạn kiệt,
nếu không thì StopAsyncIterationsẽ được nâng lên.

Mới trong phiên bản 3.10.

any(iterable)

Trả về Truenếu bất kỳ phần tử nào của iterable là đúng. Nếu iterable trống,
hãy trả về False. Tương đương với:

def any(iterable):
for element in iterable:
if element:
return True
return False

ascii(object)

Khi repr(), trả về một chuỗi chứa biểu diễn có thể in được của một đối tượng,
nhưng thoát khỏi các ký tự không phải ASCII trong chuỗi được trả về bằng cách
repr()sử dụng \x, \uhoặc \Uthoát. Điều này tạo ra một chuỗi tương tự như chuỗi
được trả về repr()trong Python 2.

bin(x)

Chuyển đổi một số nguyên thành một chuỗi nhị phân có tiền tố là “0b”. Kết quả
là một biểu thức Python hợp lệ. Nếu x không phải là một đối tượng Python int,
thì nó phải định nghĩa một __index__()phương thức trả về một số nguyên. Vài ví
dụ:

>>>>>> bin(3)
'0b11'
>>> bin(-10)
'-0b1010'
Nếu muốn hoặc không muốn tiền tố “0b”, bạn có thể sử dụng một trong các cách
sau.

>>>>>> format(14, '#b'), format(14, 'b')


('0b1110', '1110')
>>> f'{14:#b}', f'{14:b}'
('0b1110', '1110')

Xem thêm format()để biết thêm thông tin.

class bool(x=False)

Trả về một giá trị Boolean, tức là một trong Truehoặc False. x được chuyển đổi
bằng quy trình kiểm tra sự thật tiêu chuẩn . Nếu x là sai hoặc bị bỏ qua, điều
này sẽ trả về False; nếu không, nó sẽ trả về True. Lớp này boollà một lớp con
của int(xem Các kiểu số — int, float, complex ). Nó không thể được phân lớp
hơn nữa. Các trường hợp duy nhất của nó là Falsevà True(xem Giá trị Boolean ).

Đã thay đổi trong phiên bản 3.7: x hiện là tham số chỉ theo vị trí.

breakpoint(*args, **kws)

Chức năng này đưa bạn vào trình gỡ lỗi tại trang cuộc gọi. Cụ thể, nó gọi
sys.breakpointhook(), đi qua argsvà kwsđi thẳng qua. Theo mặc định,
sys.breakpointhook()các cuộc gọi pdb.set_trace()không mong đợi đối số. Trong
trường hợp này, nó hoàn toàn là một chức năng tiện lợi, do đó bạn không cần
phải nhập pdbhoặc nhập nhiều mã một cách rõ ràng để vào trình gỡ lỗi. Tuy
nhiên, sys.breakpointhook()có thể được đặt thành một số chức năng khác và
breakpoint()sẽ tự động gọi chức năng đó, cho phép bạn chuyển sang trình gỡ lỗi
tùy chọn. Nếu sys.breakpointhook()không thể truy cập, chức năng này sẽ tăng
RuntimeError.

Tăng sự kiện kiểm tra builtins.breakpoint với đối số breakpointhook.

class bytes(source=b'')

class bytes(source, encoding)

class bytes(source, encoding, errors)

Trả về một đối tượng "byte" mới là một chuỗi số nguyên bất biến trong phạm
vi . là một phiên bản không thay đổi của - nó có cùng các phương thức không
thay đổi và cùng hành vi lập chỉ mục và cắt. 0 <= x < 256bytesbytearray

Theo đó, các đối số của hàm tạo được hiểu là đối với bytearray().

Đối tượng byte cũng có thể được tạo bằng chữ, xem Chuỗi và byte chữ .

Xem thêm Các loại chuỗi nhị phân — byte, bytearray, memoryview , Bytes Objects
và Byte và Bytearray Operations .

callable(object)

Trả về Truenếu đối số đối tượng xuất hiện có thể gọi được, Falsenếu không. Nếu
điều này trả về True, vẫn có khả năng cuộc gọi không thành công, nhưng nếu
đúng như vậy False, việc gọi đối tượng sẽ không bao giờ thành công. Lưu ý rằng
các lớp có thể gọi được (gọi một lớp trả về một thể hiện mới); các thể hiện có
thể gọi được nếu lớp của chúng có một __call__()phương thức.
Tính năng mới trong phiên bản 3.2: Chức năng này lần đầu tiên bị xóa trong
Python 3.0 và sau đó được đưa trở lại trong Python 3.2.

chr(i)

Trả về chuỗi đại diện cho một ký tự có điểm mã Unicode là số nguyên i . Ví dụ:
chr(97)trả về chuỗi 'a', trong khi chr(8364)trả về chuỗi '€'. Đây là nghịch đảo
của ord().

Phạm vi hợp lệ cho đối số là từ 0 đến 1.114.111 (0x10FFFF trong cơ số 16).


ValueErrorsẽ được nâng lên nếu tôi nằm ngoài phạm vi đó.

@classmethod

Chuyển đổi một phương thức thành một phương thức lớp.

Một phương thức lớp nhận lớp dưới dạng đối số đầu tiên ngầm định, giống như
một phương thức thể hiện nhận thể hiện. Để khai báo một phương thức lớp, hãy
sử dụng thành ngữ này:

class C:
@classmethod
def f(cls, arg1, arg2): ...

Biểu @classmethodmẫu là một công cụ trang trí hàm – xem Định nghĩa hàm để biết
chi tiết.

Một phương thức lớp có thể được gọi trên lớp (chẳng hạn như C.f()) hoặc trên
một thể hiện (chẳng hạn như C().f()). Thể hiện bị bỏ qua ngoại trừ lớp của nó.
Nếu một phương thức lớp được gọi cho một lớp dẫn xuất, thì đối tượng lớp dẫn
xuất được truyền dưới dạng đối số đầu tiên được ngụ ý.

Các phương thức lớp khác với các phương thức tĩnh của C++ hoặc Java. Nếu bạn
muốn những thứ đó, hãy xem staticmethod()trong phần này. Để biết thêm thông
tin về các phương thức lớp, hãy xem Hệ thống phân cấp loại tiêu chuẩn .

Đã thay đổi trong phiên bản 3.9: Các phương thức lớp hiện có thể bọc các bộ mô
tả khác , chẳng hạn như property().

Đã thay đổi trong phiên bản 3.10: Các phương thức lớp hiện kế thừa các thuộc
tính phương thức ( __module__, __name__, và ) và có một thuộc tính
mới.__qualname____doc____annotations____wrapped__

Đã thay đổi trong phiên bản 3.11: Các phương thức lớp không còn có thể bọc các
bộ mô tả khác , chẳng hạn như property().

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=- 1)

biên dịch ( nguồn , tên tệp , chế độ , flags = 0 , dont_inherit = False , tối
ưu hóa = - 1 )

Biên dịch nguồn thành mã hoặc đối tượng AST. Các đối tượng mã có thể được thực
thi bởi exec()hoặc eval(). nguồn có thể là một chuỗi bình thường, một chuỗi
byte hoặc một đối tượng AST. Tham khảo asttài liệu mô-đun để biết thông tin về
cách làm việc với các đối tượng AST.

Đối số tên tệp sẽ cung cấp tệp mà mã được đọc từ đó; chuyển một số giá trị có
thể nhận dạng nếu nó không được đọc từ tệp ( '<string>'thường được sử dụng).
Đối số chế độ chỉ định loại mã nào phải được biên dịch; nó có thể là 'exec'nếu
nguồn bao gồm một chuỗi các câu lệnh, 'eval'nếu nó bao gồm một biểu thức đơn
lẻ hoặc 'single'nếu nó bao gồm một câu lệnh tương tác duy nhất (trong trường
hợp sau, các câu lệnh biểu thức đánh giá một thứ khác Nonesẽ được in ra).

Các cờ đối số tùy chọn và not_inherit kiểm soát các tùy chọn trình biên dịch
nào sẽ được kích hoạt và các tính năng nào trong tương lai sẽ được cho phép.
Nếu không có (hoặc cả hai đều bằng 0) thì mã được biên dịch với cùng các cờ
ảnh hưởng đến mã đang gọi compile(). Nếu đối số flags được đưa ra và
không_inherit không (hoặc bằng 0) thì các tùy chọn trình biên dịch và các câu
lệnh trong tương lai được chỉ định bởi đối số flags sẽ được sử dụng ngoài các
tùy chọn sẽ được sử dụng. Nếunt_inherit là một số nguyên khác 0 thì các cờđối
số là nó – các cờ (các tính năng trong tương lai và tùy chọn trình biên dịch)
trong mã xung quanh bị bỏ qua.

Các tùy chọn trình biên dịch và các câu lệnh trong tương lai được chỉ định bởi
các bit có thể được ORed theo chiều bit với nhau để chỉ định nhiều tùy chọn.
Trường bit được yêu cầu để chỉ định một tính năng nhất định trong tương lai có
thể được tìm thấy dưới dạng compiler_flagthuộc tính trên _Featurecá thể trong
__future__mô-đun. Cờ trình biên dịch có thể được tìm thấy trong ast mô-đun,
với PyCF_tiền tố.

Đối số tối ưu hóa chỉ định mức độ tối ưu hóa của trình biên dịch; giá trị mặc
định của -1chọn mức độ tối ưu hóa của trình thông dịch như được đưa ra bởi -
Ocác tùy chọn. Các mức rõ ràng là 0(không tối ưu hóa; __debug__là đúng), 1(các
xác nhận bị xóa, __debug__là sai) hoặc 2(các chuỗi tài liệu cũng bị xóa).

Hàm này tăng SyntaxErrornếu nguồn đã biên dịch không hợp lệ và ValueErrornếu
nguồn chứa byte rỗng.

Nếu bạn muốn phân tích mã Python thành biểu diễn AST của nó, hãy xem
ast.parse().

Tăng sự kiện kiểm tra compile với các đối số sourcevà filename. Sự kiện này
cũng có thể được nâng lên bằng cách tổng hợp ngầm.

Ghi chú

Khi biên dịch một chuỗi có mã nhiều dòng ở chế độ 'single'hoặc 'eval', đầu vào
phải được kết thúc bằng ít nhất một ký tự xuống dòng. Điều này là để tạo điều
kiện phát hiện các báo cáo không đầy đủ và đầy đủ trong codemô-đun.

Cảnh báo

Có thể làm hỏng trình thông dịch Python với một chuỗi đủ lớn/phức tạp khi biên
dịch thành đối tượng AST do giới hạn độ sâu ngăn xếp trong trình biên dịch AST
của Python.

Đã thay đổi trong phiên bản 3.2: Cho phép sử dụng dòng mới của Windows và Mac.
Ngoài ra, đầu vào trong 'exec'chế độ không phải kết thúc bằng một dòng mới
nữa. Đã thêm tham số tối ưu hóa .

Đã thay đổi trong phiên bản 3.5: Trước đây, TypeErrorđã được nâng lên khi gặp
phải byte rỗng trong nguồn .
Tính năng mới trong phiên bản 3.8: ast.PyCF_ALLOW_TOP_LEVEL_AWAIT giờ đây có thể
được chuyển vào các cờ để kích hoạt hỗ trợ cho await, và .async forasync with

class complex(real=0, imag=0)

class complex(string)

Trả về một số phức có giá trị thực + hình ảnh *1j hoặc chuyển đổi một chuỗi
hoặc số thành một số phức. Nếu tham số đầu tiên là một chuỗi, nó sẽ được hiểu
là một số phức và hàm phải được gọi mà không có tham số thứ hai. Tham số thứ
hai không bao giờ có thể là một chuỗi. Mỗi đối số có thể là bất kỳ loại số nào
(bao gồm cả số phức). Nếu hình ảnh bị bỏ qua, nó sẽ mặc định bằng 0 và hàm tạo
đóng vai trò chuyển đổi số như intvà float. Nếu cả hai đối số bị bỏ qua, trả
về 0j.

Đối với một đối tượng Python chung x, complex(x)hãy ủy quyền cho
x.__complex__(). Nếu __complex__()không được xác định thì nó sẽ quay trở lại
__float__(). Nếu __float__()không được xác định thì nó sẽ quay trở lại
__index__().

Ghi chú

Khi chuyển đổi từ một chuỗi, chuỗi không được chứa khoảng trắng xung quanh
trung tâm +hoặc -toán tử. Ví dụ, complex('1+2j')là tốt, nhưng tăng .complex('1
+ 2j')ValueError

Loại phức hợp được mô tả trong Loại số — int, float, complex .

Đã thay đổi trong phiên bản 3.6: Cho phép nhóm các chữ số có dấu gạch dưới như
trong mã chữ.

Đã thay đổi trong phiên bản 3.8: Trở về __index__()nếu __complex__()và


__float__()không được xác định.

delattr(object, name)
Đây là họ hàng của setattr(). Các đối số là một đối tượng và một chuỗi. Chuỗi
phải là tên của một trong các thuộc tính của đối tượng. Hàm xóa thuộc tính
được đặt tên, miễn là đối tượng cho phép. Ví dụ, tương đương với . tên không
cần phải là mã định danh Python (xem tài nguyên ). delattr(x, 'foobar')del
x.foobarsetattr()

class dict(**kwarg)

class dict(mapping, **kwarg)

class dict(iterable, **kwarg)

Tạo một từ điển mới. Đối dicttượng là lớp từ điển. Xem dictvà Các loại ánh xạ
- dict để biết tài liệu về lớp này.

Đối với các vùng chứa khác, hãy xem các lớp list, setvà tupleđược tích hợp sẵn
cũng như collectionsmô-đun.

dir()

dir(object)
Không có đối số, trả về danh sách tên trong phạm vi cục bộ hiện tại. Với một
đối số, cố gắng trả về một danh sách các thuộc tính hợp lệ cho đối tượng đó.

Nếu đối tượng có một phương thức có tên __dir__(), phương thức này sẽ được gọi
và phải trả về danh sách các thuộc tính. Điều này cho phép các đối tượng triển
khai tùy chỉnh __getattr__()hoặc __getattribute__()chức năng tùy chỉnh cách
dir()báo cáo các thuộc tính của chúng.

Nếu đối tượng không cung cấp __dir__(), hàm sẽ cố gắng hết sức để thu thập
thông tin từ __dict__thuộc tính của đối tượng, nếu được xác định và từ đối
tượng loại của nó. Danh sách kết quả không nhất thiết phải đầy đủ và có thể
không chính xác khi đối tượng có tệp __getattr__().

Cơ chế mặc định dir()hoạt động khác với các loại đối tượng khác nhau, vì nó cố
gắng tạo ra thông tin có liên quan nhất, thay vì đầy đủ:

 Nếu đối tượng là một đối tượng mô-đun, danh sách chứa tên của các
thuộc tính của mô-đun.
 Nếu đối tượng là một đối tượng kiểu hoặc lớp, thì danh sách chứa
tên của các thuộc tính của nó và đệ quy các thuộc tính của các cơ
sở của nó.
 Mặt khác, danh sách chứa các tên thuộc tính của đối tượng, tên
của các thuộc tính của lớp đối tượng và đệ quy các thuộc tính của
các lớp cơ sở của lớp đối tượng.

 Danh sách kết quả được sắp xếp theo thứ tự bảng chữ cái. Ví dụ:

 >>>>>> import struct


>>> dir() # show the names in the module namespace
['__builtins__', '__name__', 'struct']
>>> dir(struct) # show the names in the struct module
['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__',
'__initializing__', '__loader__', '__name__', '__package__',
'_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']
>>> class Shape:
... def __dir__(self):
... return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'location', 'perimeter']

 Ghi chú

 Do dir()được cung cấp chủ yếu để thuận tiện cho việc sử dụng tại một dấu
nhắc tương tác, nên nó cố gắng cung cấp một tập hợp tên thú vị hơn là
cố gắng cung cấp một tập hợp tên được xác định chặt chẽ hoặc nhất quán
và hành vi chi tiết của nó có thể thay đổi qua các bản phát hành. Ví
dụ: các thuộc tính siêu lớp không có trong danh sách kết quả khi đối số
là một lớp.

divmod ( a , b )
Lấy hai số (không phức tạp) làm đối số và trả về một cặp số bao gồm thương và số
dư của chúng khi sử dụng phép chia số nguyên. Với các loại toán hạng hỗn hợp, áp
dụng các quy tắc cho toán tử số học nhị phân. Đối với số nguyên, kết quả giống như
(a // b, a % b). Đối với các số dấu phẩy động, kết quả là (q, a % b), trong đó q
thường là math.floor(a / b) nhưng có thể nhỏ hơn 1. Trong mọi trường hợp q * b + a
% b rất gần với a, nếu a % b khác không thì nó có cùng dấu với b và 0 <= abs(a %
b) < abs(b).

enumerate(iterable, start=0)¶

rả về một đối tượng liệt kê. iterable phải là một chuỗi, một iterator hoặc một
số đối tượng khác hỗ trợ phép lặp. Phương __next__()thức của trình vòng lặp
được trả về bởi enumerate()trả về một bộ chứa số đếm (từ đầu giá trị mặc định
là 0) và các giá trị thu được từ việc lặp qua iterable .

>>>>>> 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')]

Tương đương với:

def enumerate(iterable, start=0):


n = start
for elem in iterable:
yield n, elem
n += 1

eval ( biểu thức , toàn cục = Không có , địa phương = Không có )

Các đối số là một chuỗi và toàn cầu và cục bộ tùy chọn. Nếu được cung cấp,
toàn cầu phải là một từ điển. Nếu được cung cấp, các địa phương có thể là bất
kỳ đối tượng ánh xạ nào.

Đối số biểu thức được phân tích cú pháp và đánh giá dưới dạng một biểu thức
Python (về mặt kỹ thuật, một danh sách điều kiện) bằng cách sử dụng từ điển
toàn cục và cục bộ dưới dạng không gian tên toàn cầu và cục bộ. Nếu có từ điển
toàn cục và không chứa giá trị cho khóa __builtins__, thì một tham chiếu đến
từ điển của mô-đun tích hợp builtinssẽ được chèn vào bên dưới khóa đó trước
khi biểu thức được phân tích cú pháp . Bằng cách đó, bạn có thể kiểm soát nội
trang nào có sẵn cho mã được thực thi bằng cách chèn từ điển của riêng bạn
__builtins__vào toàn cầu trước khi chuyển nó tới eval(). Nếu từ điển địa
phương bị bỏ qua, nó sẽ mặc định là từ điển toàn cầutừ điển. Nếu cả hai từ
điển đều bị bỏ qua, thì biểu thức được thực thi với toàn cầu và cục bộ trong
môi trường nơi eval()được gọi. Lưu ý, eval() không có quyền truy cập vào phạm
vi lồng nhau (không phải cục bộ) trong môi trường kèm theo.

Giá trị trả về là kết quả của biểu thức được đánh giá. Lỗi cú pháp được báo
cáo là ngoại lệ. Ví dụ:

>>>>>> x = 1
>>> eval('x+1')
2
Hàm này cũng có thể được sử dụng để thực thi các đối tượng mã tùy ý (chẳng hạn
như các đối tượng được tạo bởi compile()). Trong trường hợp này, hãy chuyển
một đối tượng mã thay vì một chuỗi. Nếu đối tượng mã đã được biên dịch làm
'exec'đối số chế độ , eval()giá trị trả về của sẽ là None.

Gợi ý: hàm hỗ trợ thực thi động các câu lệnh exec() . Các hàm globals()và
locals()trả về từ điển cục bộ và cục bộ hiện tại, tương ứng, có thể hữu ích để
chuyển qua sử dụng bởi eval()hoặc exec().

Nếu nguồn đã cho là một chuỗi, thì các dấu cách và tab ở đầu và cuối sẽ bị
loại bỏ.

Xem ast.literal_eval()một hàm có thể đánh giá các chuỗi một cách an toàn bằng
các biểu thức chỉ chứa các ký tự.

Tăng sự kiện kiểm tra exec với đối tượng mã làm đối số. Các sự kiện biên dịch
mã cũng có thể được nâng lên.

exec(object, globals=None, locals=None, /, *, closure=None)

exec ( đối tượng , toàn cầu = Không có , địa phương = Không có , / , * , đóng
cửa = Không có )

Hàm này hỗ trợ thực thi động mã Python. đối tượng phải là một chuỗi hoặc một
đối tượng mã. Nếu đó là một chuỗi, thì chuỗi đó được phân tích thành một tập
hợp các câu lệnh Python, sau đó được thực thi (trừ khi xảy ra lỗi cú pháp). 1
Nếu nó là một đối tượng mã, nó sẽ được thực thi đơn giản. Trong mọi trường
hợp, mã được thực thi phải hợp lệ dưới dạng đầu vào tệp (xem phần Nhập tệp
trong Hướng dẫn tham khảo). Xin lưu ý rằng các câu lệnh nonlocal, yield, và
return có thể không được sử dụng bên ngoài các định nghĩa hàm ngay cả trong
ngữ cảnh mã được truyền cho hàm exec(). Giá trị trả về là None.

Trong mọi trường hợp, nếu các phần tùy chọn bị bỏ qua, mã sẽ được thực thi
trong phạm vi hiện tại. Nếu chỉ toàn cầu được cung cấp, nó phải là một từ điển
(chứ không phải là một lớp con của từ điển), sẽ được sử dụng cho cả biến toàn
cục và biến cục bộ. Nếu toàn cầu và cục bộ được đưa ra, chúng được sử dụng
tương ứng cho các biến toàn cục và biến cục bộ. Nếu được cung cấp, các địa
phương có thể là bất kỳ đối tượng ánh xạ nào. Hãy nhớ rằng ở cấp độ mô-đun,
toàn cầu và cục bộ là cùng một từ điển. Nếu exec lấy hai đối tượng riêng biệt
là toàn cục và cục bộ , thì mã sẽ được thực thi như thể nó được nhúng trong
một định nghĩa lớp.

Nếu từ điển toàn cục không chứa giá trị cho khóa __builtins__, thì một tham
chiếu đến từ điển của mô-đun tích hợp sẵn builtinssẽ được chèn vào bên dưới
khóa đó. Bằng cách đó, bạn có thể kiểm soát nội trang nào có sẵn cho mã được
thực thi bằng cách chèn từ điển của riêng bạn __builtins__vào toàn cầu trước
khi chuyển nó tới exec().

Đối số đóng chỉ định một đóng – một bộ các ô. Nó chỉ hợp lệ khi đối tượng là
một đối tượng mã có chứa các biến miễn phí. Độ dài của bộ dữ liệu phải khớp
chính xác với số lượng biến miễn phí được tham chiếu bởi đối tượng mã.

Tăng sự kiện kiểm tra exec với đối tượng mã làm đối số. Các sự kiện biên dịch
mã cũng có thể được nâng lên.

Ghi chú
Các hàm dựng sẵn globals()và locals()trả về từ điển cục bộ và cục bộ hiện tại,
tương ứng, có thể hữu ích để chuyển xung quanh để sử dụng làm đối số thứ hai
và thứ ba cho exec().

Ghi chú

Các địa phương mặc định hoạt động như được mô tả cho chức năng bên dưới: không
nên thử locals()sửa đổi từ điển địa phương mặc định. Vượt qua một từ điển địa
phương rõ ràng nếu bạn cần xem tác động của mã đối với người dân địa phương
sau khi hàm exec()trả về.

Đã thay đổi trong phiên bản 3.11: Đã thêm tham số đóng .

filter(function, iterable)
bộ lọc ( chức năng , có thể lặp lại )
Xây dựng một iterator từ các phần tử iterable mà hàm nào là true. iterable có
thể là một chuỗi, một vùng chứa hỗ trợ phép lặp hoặc một trình lặp. Nếu chức
năng là None, thì chức năng nhận dạng được giả định, nghĩa là tất cả các phần
tử của iterable sai sẽ bị xóa.

Lưu ý rằng nó tương đương với biểu thức trình tạo if function is not và if
function is .filter(function, iterable)(item for item in iterable if
function(item))None(item for item in iterable if item)None

Xem itertools.filterfalse()hàm bổ sung trả về các phần tử của iterable để biết


hàm nào sai.

class float ( x = 0.0 )

Trả về một số dấu phẩy động được tạo từ một số hoặc chuỗi x .

Nếu đối số là một chuỗi, thì đối số đó phải chứa số thập phân, tùy chọn đứng
trước dấu và được nhúng tùy chọn trong khoảng trắng. Dấu hiệu tùy chọn có thể
là '+'hoặc '-'; một '+'dấu hiệu không ảnh hưởng đến giá trị sản xuất. Đối số
cũng có thể là một chuỗi đại diện cho một NaN (không phải là số) hoặc vô cực
dương hoặc âm. Chính xác hơn, đầu vào phải tuân theo floatvaluequy tắc sản
xuất trong ngữ pháp sau, sau khi các ký tự khoảng trắng ở đầu và cuối bị xóa:

dấu ::= "+" | "-"


vô cực ::= "Vô cực" | "inf"
nan ::= "nan"
phần chữ số ::= digit(["_"] digit)*
số ::= [ digitpart] "." digitpart| digitpart[".."]
số mũ ::= ("e" | "E") ["+" | "-"] digitpart
số float ::= số [ exponent]
floatvalue ::= [ sign] ( floatnumber| infinity| nan)

Đây digitlà một chữ số thập phân Unicode (ký tự trong danh mục chung Unicode
Nd). Trường hợp không đáng kể, vì vậy, ví dụ: “inf”, “Inf”, “INFINITY” và
“iNfINity” đều là những cách viết được chấp nhận cho vô cực dương.

Mặt khác, nếu đối số là một số nguyên hoặc số dấu phẩy động, thì một số dấu
phẩy động có cùng giá trị (trong phạm vi độ chính xác của dấu phẩy động của
Python) sẽ được trả về. Nếu đối số nằm ngoài phạm vi float của Python, thì một
đối số OverflowErrorsẽ được nâng lên.

Đối với một đối tượng Python chung x, float(x)hãy ủy quyền cho x.__float__().
Nếu __float__()không được xác định thì nó sẽ quay trở lại __index__().

Nếu không có đối số được đưa ra, 0.0được trả lại.

Ví dụ:

>>>>>> float('+1.23')
1.23
>>> float(' -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf

Kiểu float được mô tả trong Numeric Type — int, float, complex .

Đã thay đổi trong phiên bản 3.6: Cho phép nhóm các chữ số có dấu gạch dưới như
trong mã chữ.

Đã thay đổi trong phiên bản 3.7: x hiện là tham số chỉ theo vị trí.

Đã thay đổi trong phiên bản 3.8: Trở lại __index__()nếu __float__()không được
xác định.

format(value, format_spec='')
Chuyển đổi một giá trị thành một đại diện "được định dạng", như được kiểm soát
bởi format_spec . Việc giải thích format_spec sẽ phụ thuộc vào loại đối số
giá trị ; tuy nhiên, có một cú pháp định dạng chuẩn được sử dụng bởi hầu hết
các loại tích hợp sẵn: Đặc tả định dạng Ngôn ngữ nhỏ .

format_spec mặc định là một chuỗi rỗng thường mang lại tác dụng tương tự như
gọi str(value).

Một cuộc gọi đến được dịch sang để bỏ qua từ điển cá thể khi tìm kiếm phương
thức của giá trị. Một ngoại lệ được đưa ra nếu tìm kiếm phương thức đạt đến và
format_spec không trống hoặc nếu format_spec hoặc giá trị trả về không phải là
chuỗi.format(value, format_spec)type(value).__format__(value,
format_spec)__format__()TypeErrorobject

Đã thay đổi trong phiên bản 3.4: object().__format__(format_spec) tăng TypeError


nếu format_spec không phải là một chuỗi rỗng.

class frozenset(iterable=set())
Trả về một đối tượng mới frozenset, tùy chọn với các phần tử được lấy từ
iterable . frozensetlà một lớp tích hợp. Xem frozensetvà Đặt các loại — set,
freezeset để biết tài liệu về lớp này.

Đối với các vùng chứa khác, hãy xem các lớp set, list, tuplevà dictđược tích
hợp sẵn cũng như collections mô-đun.
getattr(object, name)

getattr(object, name, default)

Trả về giá trị của thuộc tính được đặt tên của đối tượng. tên phải là một
chuỗi. Nếu chuỗi là tên của một trong các thuộc tính của đối tượng, thì kết
quả là giá trị của thuộc tính đó. Ví dụ: getattr(x, 'foobar') tương đương với
x.foobar. Nếu thuộc tính được đặt tên không tồn tại, giá trị mặc định sẽ được
trả về nếu được cung cấp, nếu không thì AttributeError sẽ được nâng lên. tên
không cần phải là mã định danh Python (xem setattr()).

Ghi chú:
Vì việc xáo trộn tên riêng xảy ra tại thời điểm biên dịch, người ta phải xáo
trộn tên của một thuộc tính riêng (các thuộc tính có hai dấu gạch dưới ở đầu)
theo cách thủ công để truy xuất nó bằng getattr().

globals()
Trả về từ điển triển khai không gian tên mô-đun hiện tại. Đối với mã bên trong
hàm, giá trị này được đặt khi hàm được xác định và giữ nguyên bất kể hàm được
gọi ở đâu.

hasattr(object, name)
Các đối số là một đối tượng và một chuỗi. Kết quả là Đúng nếu chuỗi là tên của
một trong các thuộc tính của đối tượng, Sai nếu không. (Điều này được thực
hiện bằng cách gọi getattr(object, name) và xem liệu nó có tăng AttributeError
hay không.)

hash(object)
Trả về giá trị băm của đối tượng (nếu có). Giá trị băm là số nguyên. Chúng
được sử dụng để so sánh nhanh các khóa từ điển trong quá trình tra cứu từ
điển. Các giá trị số so sánh bằng nhau có cùng giá trị băm (ngay cả khi chúng
thuộc các loại khác nhau, như trường hợp của 1 và 1.0).

help()

help(request) ( yêu cầu )

Gọi hệ thống trợ giúp tích hợp. (Chức năng này dành cho sử dụng tương tác.)
Nếu không có đối số nào được đưa ra, hệ thống trợ giúp tương tác sẽ bắt đầu
trên bảng điều khiển phiên dịch. Nếu đối số là một chuỗi, thì chuỗi đó được
tra cứu dưới dạng tên của mô-đun, hàm, lớp, phương thức, từ khóa hoặc chủ đề
tài liệu và trang trợ giúp được in trên bảng điều khiển. Nếu đối số là bất kỳ
loại đối tượng nào khác, một trang trợ giúp về đối tượng sẽ được tạo.

Lưu ý rằng nếu dấu gạch chéo (/) xuất hiện trong danh sách tham số của hàm khi
gọi help(), điều đó có nghĩa là các tham số trước dấu gạch chéo chỉ là vị trí.
Để biết thêm thông tin, hãy xem mục Câu hỏi thường gặp về thông số chỉ vị trí.

Chức năng này được mô-đun trang web thêm vào không gian tên tích hợp.
Đã thay đổi trong phiên bản 3.4: Các thay đổi đối với pydoc và kiểm tra có
nghĩa là các chữ ký được báo cáo cho các vật phẩm có thể gọi được hiện toàn
diện và nhất quán hơn.

hex(x)
Chuyển đổi một số nguyên thành một chuỗi thập lục phân chữ thường có tiền tố
là “0x”. Nếu x không phải là đối tượng int của Python, thì nó phải xác định
một phương thức __index__() trả về một số nguyên. Vài ví dụ:

>>>

lục giác(255)

'0xff'

lục giác(-42)

'-0x2a'

Nếu bạn muốn chuyển đổi một số nguyên thành một chuỗi thập lục phân chữ hoa
hoặc chữ thường có tiền tố hoặc không, bạn có thể sử dụng một trong hai cách
sau:

>>>

'%#x' % 255, '%x' % 255, '%X' % 255

('0xff', 'ff', 'FF')

định dạng (255, '#x'), định dạng (255, 'x'), định dạng (255, 'X')

('0xff', 'ff', 'FF')

f'{255:#x}', f'{255:x}', f'{255:X}'

('0xff', 'ff', 'FF')

Xem thêm định dạng() để biết thêm thông tin.

Xem thêm int() để chuyển đổi chuỗi thập lục phân thành số nguyên sử dụng cơ số
16.

Lưu ý Để có được biểu diễn chuỗi thập lục phân cho số float, hãy sử dụng
phương thức float.hex().

You might also like