Bốn phạm vi trong python là gì?

Trong khi lập trình trong python, chúng ta phải xử lý các cấu trúc khác nhau như biến, hàm, mô-đun, thư viện, v.v. Trong một số trường hợp, có thể một tên biến được sử dụng tại một địa điểm cũng có thể được sử dụng tại một địa điểm khác mà không có bất kỳ mối liên hệ nào với định nghĩa trước đó. Trong bài viết về phạm vi python này, chúng ta sẽ cố gắng hiểu cách định nghĩa của các biến được xử lý bởi trình thông dịch python

Phạm vi trong Python là gì?

Khi chúng ta định nghĩa một biến, một hàm hoặc một tên lớp trong một chương trình, nó chỉ có thể truy cập được trong một vùng nhất định của chương trình. Vùng nhất định này trong đó một tên, sau khi được xác định, có thể được sử dụng để xác định một đối tượng, một biến hoặc một hàm được gọi là phạm vi. Phạm vi có thể mở rộng từ một khối mã đơn lẻ như một hàm đến toàn bộ môi trường thời gian chạy tùy thuộc vào định nghĩa của tên biến hoặc hàm.   

Khái niệm phạm vi liên quan chặt chẽ đến không gian tên và phạm vi được triển khai dưới dạng không gian tên. Chúng ta có thể coi một không gian tên là một từ điển python ánh xạ tên đối tượng tới các đối tượng. Các khóa của từ điển tương ứng với tên và các giá trị tương ứng với các đối tượng trong python

Trong python, có bốn loại định nghĩa phạm vi, cụ thể là phạm vi tích hợp, phạm vi toàn cầu, phạm vi cục bộ và phạm vi kèm theo. Chúng ta sẽ nghiên cứu về tất cả những điều này trong các phần sau

Phạm vi dựng sẵn trong Python là gì?

Phạm vi tích hợp trong python chứa các định nghĩa hàm và đối tượng tích hợp. Nó được triển khai bằng cách sử dụng mô-đun dựng sẵn trong các phiên bản gần đây của python.  

Bất cứ khi nào chúng tôi khởi động trình thông dịch python, mô-đun nội trang sẽ tự động được tải vào môi trường thời gian chạy của chúng tôi. Kết quả là, chúng ta có thể truy cập tất cả các chức năng và đối tượng được xác định trong mô-đun trong chương trình của mình mà không cần nhập chúng

Các hàm như print[],abs[],input[],int[], float[], string[],sum[],max[],sorted[] và các hàm tương tự khác không cần nhập trước đó . Chúng ta có thể xem các hàm và định nghĩa đối tượng có sẵn trong phạm vi tích hợp như sau

builtin_names = dir[__builtins__]
for name in builtin_names:
    print[name]

đầu ra

ArithmeticError
AssertionError
AttributeError
BaseException
BlockingIOError
BrokenPipeError
BufferError
BytesWarning
ChildProcessError
ConnectionAbortedError
ConnectionError
ConnectionRefusedError
ConnectionResetError
DeprecationWarning
EOFError
Ellipsis
EnvironmentError
Exception
False
FileExistsError
FileNotFoundError
FloatingPointError
FutureWarning
GeneratorExit
IOError
ImportError
ImportWarning
IndentationError
IndexError
InterruptedError
IsADirectoryError
KeyError
KeyboardInterrupt
LookupError
MemoryError
ModuleNotFoundError
NameError
None
NotADirectoryError
NotImplemented
NotImplementedError
OSError
OverflowError
PendingDeprecationWarning
PermissionError
ProcessLookupError
RecursionError
ReferenceError
ResourceWarning
RuntimeError
RuntimeWarning
StopAsyncIteration
StopIteration
SyntaxError
SyntaxWarning
SystemError
SystemExit
TabError
TimeoutError
True
TypeError
UnboundLocalError
UnicodeDecodeError
UnicodeEncodeError
UnicodeError
UnicodeTranslateError
UnicodeWarning
UserWarning
ValueError
Warning
ZeroDivisionError
__build_class__
__debug__
__doc__
__import__
__loader__
__name__
__package__
__spec__
abs
all
any
ascii
bin
bool
breakpoint
bytearray
bytes
callable
chr
classmethod
compile
complex
copyright
credits
delattr
dict
dir
divmod
enumerate
eval
exec
exit
filter
float
format
frozenset
getattr
globals
hasattr
hash
help
hex
id
input
int
isinstance
issubclass
iter
len
license
list
locals
map
max
memoryview
min
next
object
oct
open
ord
pow
print
property
quit
range
repr
reversed
round
set
setattr
slice
sorted
staticmethod
str
sum
super
tuple
type
vars
zip

Phạm vi tích hợp được tạo sau khi trình thông dịch được tải và bị hủy khi đóng trình thông dịch python. Tất cả các tên được xác định trong mô-đun nội trang đều nằm trong phạm vi tích hợp sẵn của chương trình

Phạm vi toàn cầu là gì?

Tập lệnh python mà chúng tôi viết mã của mình được trình thông dịch python gọi là mô-đun __main__. Phạm vi được liên kết với mô-đun __main__ được gọi là phạm vi toàn cầu.  

Đối với bất kỳ chương trình python nào, chỉ có thể có một phạm vi toàn cầu. Phạm vi toàn cầu được tạo khi chương trình bắt đầu và bị hủy khi kết thúc chương trình python

Chúng ta có thể hiểu khái niệm về phạm vi toàn cầu từ chương trình sau

myNum1 = 10
myNum2 = 10


def add[num1, num2]:
    temp = num1 + num2

    def print_sum[]:
        print[temp]

    return temp

Trong chương trình trên, myNum1 và myNum2 nằm trong phạm vi toàn cục của chương trình. Các đối tượng hiện diện trong phạm vi toàn cầu được xác định bên ngoài bất kỳ khối mã nào

Phạm vi địa phương là gì?

Phạm vi cục bộ trong chương trình python được xác định cho một khối mã, chẳng hạn như chức năng. Mỗi hàm trong chương trình python có phạm vi cục bộ riêng, trong đó tất cả các biến và tên đối tượng của nó được xác định.  

Phạm vi cục bộ của hàm được tải khi hàm được gọi bởi bất kỳ hàm nào khác. Khi chức năng kết thúc, phạm vi cục bộ được liên kết với nó cũng bị chấm dứt

Để hiểu khái niệm về phạm vi cục bộ, hãy xem ví dụ sau

myNum1 = 10
myNum2 = 10


def add[num1, num2]:
    temp = num1 + num2

    def print_sum[]:
        print[temp]

    return temp

Trong chương trình trên, các biến num1, num2 và temp tồn tại trong phạm vi cục bộ của hàm add[]. Những tên này chỉ tồn tại cho đến khi hàm add[] được thực thi

Phạm vi kèm theo trong Python là gì?

Bất cứ khi nào một chức năng được xác định bên trong bất kỳ chức năng nào khác, phạm vi của chức năng bên trong được xác định bên trong phạm vi của chức năng bên ngoài. Do đó, phạm vi của chức năng bên ngoài được gọi là phạm vi kèm theo của chức năng bên trong.  

Chúng ta có thể truy cập tất cả các tên biến trong một hàm đã được xác định trong phạm vi kèm theo của nó. Tuy nhiên, chúng ta không thể truy cập các tên biến bên trong hàm bên ngoài được xác định trong hàm bên trong. Điều này có thể rõ ràng hơn từ ví dụ sau

myNum1 = 10
myNum2 = 10


def add[num1, num2]:
    temp = num1 + num2

    def print_sum[]:
        print[temp]

    return temp

Ở đây, hàm print_sum[] tồn tại trong phạm vi cục bộ của hàm add[]. Do đó, các tên biến num1, num2 và temp được xác định trong hàm add[] có thể truy cập được trong phạm vi của hàm print_sum[]

Phần kết luận

Trong bài viết này, chúng ta đã tìm hiểu khái niệm về phạm vi trong python. Chúng tôi cũng đã nghiên cứu các loại phạm vi khác nhau và ví dụ về chúng. Để đọc các khái niệm python khác như hiểu danh sách, hãy theo dõi

Có liên quan

Đào tạo Python được đề xuất

Món ăn. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

Bốn loại phạm vi là gì?

Chúng ta đã học bốn loại phạm vi – phạm vi toàn cầu, phạm vi cục bộ, phạm vi kèm theo và phạm vi tích hợp .

4 biến trong Python là gì?

Các loại biến Python .
số
Chuỗi
Tuple

3 loại phạm vi là gì?

JavaScript có 3 loại phạm vi. .
Phạm vi chặn
phạm vi chức năng
Phạm vi toàn cầu

Có bao nhiêu loại phạm vi?

hai loại phạm vi. Phạm vi toàn cầu. Phạm vi địa phương.

Chủ Đề