Không gian tên đơn giản Python

Không gian tên là một ý tưởng tuyệt vời - hãy làm nhiều hơn nữa. Không gian tên là các cấu trúc được sử dụng để tổ chức các tên được gán cho các đối tượng trong chương trình python. Trong bài này chúng ta sẽ tìm hiểu khái niệm name và namespace trong python

Tên trong Python là gì?

Tên hoặc mã định danh là tên được đặt cho các đối tượng khi chúng ta tạo các đối tượng trong python.  

Tên chỉ đơn giản là tên biến mà chúng tôi sử dụng trong các chương trình của mình. Trong python ta có thể khai báo tên biến và gán cho đối tượng như sau

myInt = 1117
myString = "PythonForBeginners"

Ở đây, chúng ta đã định nghĩa hai biến có tên myInt và myString, lần lượt trỏ tới một số nguyên và một đối tượng chuỗi

Không gian tên là gì?

Nói một cách đơn giản, Một không gian tên là một tập hợp các tên và các chi tiết của các đối tượng được tham chiếu bởi các 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 không gian tên, đó là không gian tên tích hợp, không gian tên toàn cầu, không gian tên cục bộ và không gian tên kèm theo. Chúng tôi sẽ nghiên cứu về từng người trong số họ trong các phần sau

Không gian tên tích hợp trong Python là gì?

Một không gian tên dựng sẵn chứa tên của các hàm và đối tượng dựng sẵn. Nó được tạo trong khi khởi động trình thông dịch python, tồn tại miễn là trình thông dịch chạy và bị hủy khi chúng tôi đóng trình thông dịch. Nó chứa tên của các kiểu dữ liệu, ngoại lệ và chức năng tích hợp sẵn như print[] và input[]. Chúng tôi có thể truy cập tất cả các tên được xác định trong không gian tên dựng sẵn 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

Trong ví dụ trên, chúng ta có thể thấy rằng có 152 tên được xác định trong không gian tên dựng sẵn cho python 3. số 8

Không gian tên toàn cầu trong python là gì?

Không gian tên chung được xác định ở cấp độ chương trình hoặc mô-đun. Nó chứa tên của các đối tượng được định nghĩa trong một mô-đun hoặc chương trình chính. Một không gian tên chung được tạo khi chương trình bắt đầu và tồn tại cho đến khi chương trình kết thúc bởi trình thông dịch python. Khái niệm về một không gian tên toàn cầu có thể được hiểu từ ví dụ sau

myNum1 = 10
myNum2 = 10


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

Trong ví dụ trên, myNum1 và myNum2 nằm trong không gian tên chung của chương trình

Không gian tên cục bộ trong Python là gì?

Một không gian tên cục bộ được xác định cho một lớp, một hàm, một vòng lặp hoặc bất kỳ khối mã nào. Các tên được xác định trong một khối mã hoặc một hàm là cục bộ của nó. Tên biến không thể được truy cập bên ngoài khối mã hoặc chức năng mà chúng được định nghĩa. Không gian tên cục bộ được tạo khi khối mã hoặc hàm bắt đầu thực thi và kết thúc khi hàm hoặc khối mã kết thúc. Khái niệm về không gian tên cục bộ có thể được hiểu từ ví dụ sau

myNum1 = 10
myNum2 = 10


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

Ở đây, các tên biến num1, num2 và temp được xác định trong vùng tên cục bộ trong hàm add

một không gian tên kèm theo là gì?

Như chúng ta biết rằng chúng ta có thể định nghĩa một khối mã hoặc một hàm bên trong một khối mã hoặc hàm khác, Một hàm hoặc một khối mã được xác định bên trong bất kỳ hàm nào cũng có thể truy cập không gian tên của hàm hoặc khối mã bên ngoài. Do đó, không gian tên bên ngoài được gọi là không gian tên kèm theo cho không gian tên của hàm bên trong hoặc khối mã. Điều này sẽ 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

Trong ví dụ trên, vùng tên cục bộ của hàm add[] là vùng tên kèm theo của hàm print_sum[] vì print_sum[] được định nghĩa bên trong hàm add[]

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về tên và không gian tên trong python. Chúng tôi cũng đã thấy các loại không gian tên khác nhau và chức năng của chúng. Bạn có thể đọc bài viết này về hiểu danh sách. Hãy theo dõi để biết thêm các bài viết thông tin

Có liên quan

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

Khóa học. 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

Không gian tên đơn giản trong Python là gì?

Lớp SimpleNamespace của Python cung cấp một cách dễ dàng để lập trình viên tạo một đối tượng để lưu trữ các giá trị dưới dạng thuộc tính mà không cần tạo lớp [gần như trống] của riêng chúng. While it is useful [and used] in its present form, Raymond Hettinger thinks it could be better.

Không gian tên đơn giản là gì?

Một lớp con đối tượng đơn giản cung cấp quyền truy cập thuộc tính vào không gian tên của nó, cũng như một đại diện có ý nghĩa . Không giống như đối tượng, với SimpleNamespace, bạn có thể thêm và xóa các thuộc tính. Nếu một đối tượng SimpleNamespace được khởi tạo với các đối số từ khóa, chúng sẽ được thêm trực tiếp vào không gian tên bên dưới.

Ba loại không gian tên trong Python là gì?

Chúng ta có thể định nghĩa không gian tên là một tập hợp các tên được liên kết với địa chỉ trong bộ nhớ chính. Có ba loại không gian tên trong python - Không gian tên tích hợp, Không gian tên toàn cầu và Không gian tên cục bộ .

Các loại không gian tên khác nhau trong Python là gì?

Có ba loại không gian tên Python- toàn cầu, cục bộ và tích hợp

Chủ Đề