Mã nguồn: lib/symtable.py Lib/symtable.py
Các bảng biểu tượng được tạo bởi trình biên dịch từ AST ngay trước đó bytecode được tạo. Bảng ký hiệu chịu trách nhiệm tính toán phạm vi của mọi định danh trong mã. symtable
cung cấp một giao diện để kiểm tra các bảng này.
Tạo bảng biểu tượng
symtable.symtable [mã, tên tệp, compile_type] ¶symtable[code, filename, compile_type]¶Trả lại Toplevel SymbolTable
cho mã nguồn Python. Tên tệp là tên của tệp chứa mã. compile_type giống như đối số chế độ thành compile[]
.
Kiểm tra bảng biểu tượng
classSymtable.symboltable¶symtable.SymbolTable¶Một bảng không gian tên cho một khối. Các nhà xây dựng không công khai.
get_type [] ¶[]¶Trả về loại của bảng ký hiệu. Các giá trị có thể là 'class'
, 'module'
và 'function'
.
Trả lại số nhận dạng bảng.
get_name [] ¶[]¶Trả lại tên bảng. Đây là tên của lớp nếu bảng dành cho một lớp, tên của hàm nếu bảng dành cho hàm hoặc 'top'
nếu bảng là toàn cầu [get_type[]
trả về 'module'
].
Trả về số của dòng đầu tiên trong khối Bảng này biểu thị.
is_optimized [] ¶[]¶Trả lại symtable
0 Nếu người dân địa phương trong bảng này có thể được tối ưu hóa.
Trả về symtable
0 nếu khối là một lớp hoặc hàm lồng nhau.
Trả về symtable
0 Nếu khối có các không gian tên lồng nhau trong đó. Chúng có thể thu được với symtable
3.
Trả về một đối tượng xem chứa tên của các ký hiệu trong bảng. Xem tài liệu của các đối tượng xem.documentation of view objects.
Tra cứu [tên][name]¶Tên tra cứu trong bảng và trả về một thể hiện symtable
4.
Trả về một danh sách các phiên bản symtable
4 cho các tên trong bảng.
Trả về một danh sách các bảng biểu tượng lồng nhau.
ClassSymtable.Function¶ symtable.Function¶Một không gian tên cho một hàm hoặc phương thức. Lớp này kế thừa SymbolTable
.
Trả về một tuple chứa tên của các tham số cho hàm này.
get_locals [] ¶[]¶Trả về một tuple chứa tên của người dân địa phương trong chức năng này.
get_globals [][]¶Trả về một tuple chứa tên của Globals trong chức năng này.
get_nonlocals [][]¶Trả về một tuple có chứa tên của các phi địa điểm trong chức năng này.
get_frees [] ¶[]¶Trả về một tuple chứa tên của các biến miễn phí trong hàm này.
ClassSymtable.Class¶ symtable.Class¶Một không gian tên của một lớp học. Lớp này kế thừa SymbolTable
.
Trả về một tuple chứa tên của các phương thức được khai báo trong lớp.
classSymtable.symbol¶ symtable.Symbol¶Một mục trong một SymbolTable
tương ứng với một định danh trong nguồn. Các nhà xây dựng không công khai.
Trả lại tên bảng. Đây là tên của lớp nếu bảng dành cho một lớp, tên của hàm nếu bảng dành cho hàm hoặc 'top'
nếu bảng là toàn cầu [get_type[]
trả về 'module'
].
Trả về số của dòng đầu tiên trong khối Bảng này biểu thị.
is_optimized [] ¶[]¶Trả lại symtable
0 Nếu người dân địa phương trong bảng này có thể được tối ưu hóa.
Trả về symtable
0 nếu khối là một lớp hoặc hàm lồng nhau.
Trả về symtable
0 Nếu khối có các không gian tên lồng nhau trong đó. Chúng có thể thu được với symtable
3.
Trả về một đối tượng xem chứa tên của các ký hiệu trong bảng. Xem tài liệu của các đối tượng xem.
Tra cứu [tên][]¶Tên tra cứu trong bảng và trả về một thể hiện symtable
4.
Trả về một danh sách các phiên bản symtable
4 cho các tên trong bảng.
Trả về một danh sách các bảng biểu tượng lồng nhau.
ClassSymtable.Function¶
Một không gian tên cho một hàm hoặc phương thức. Lớp này kế thừaSymbolTable
.[]¶get_parameter []
Trả về một tuple chứa tên của các tham số cho hàm này.[]¶get_locals [] ¶
Trả về một tuple chứa tên của người dân địa phương trong chức năng này.[]¶get_globals []
Trả về một tuple chứa tên của Globals trong chức năng này.
get_nonlocals []
>>> table = symtable.symtable["def some_func[]: pass", "string", "exec"] >>> table.lookup["some_func"].is_namespace[] True
Trả về một tuple có chứa tên của các phi địa điểm trong chức năng này.
get_frees [] ¶[]¶Trả về một tuple chứa tên của các biến miễn phí trong hàm này.
ClassSymtable.Class¶[]¶Một không gian tên của một lớp học. Lớp này kế thừa SymbolTable
.