Python tạo tên biến từ chuỗi

Một biến có thể có tên ngắn [như x và y] hoặc tên mô tả hơn [tuổi, carname, total_volume]. Quy tắc cho các biến Python
  • Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới
  • Tên biến không được bắt đầu bằng số
  • Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới [A-z, 0-9 và _ ]
  • Tên biến phân biệt chữ hoa chữ thường [tuổi, Tuổi và TUỔI là ba biến khác nhau]

Thí dụ

Tên biến pháp lý

myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "
MYVAR = "John"
myvar2 = "John"

Tự mình thử »

Thí dụ

Tên biến bất hợp pháp

2myvar = "John"
my-var = "John"
my var = "John"

Tự mình thử »

Hãy nhớ rằng tên biến phân biệt chữ hoa chữ thường

Tên biến nhiều từ

Tên biến có nhiều hơn một từ có thể khó đọc

Có một số kỹ thuật bạn có thể sử dụng để làm cho chúng dễ đọc hơn

Trường hợp lạc đà

Mỗi từ, ngoại trừ từ đầu tiên, bắt đầu bằng một chữ in hoa

Trường hợp Pascal

Mỗi từ bắt đầu bằng một chữ in hoa

trường hợp con rắn

Mỗi từ cách nhau bởi một ký tự gạch dưới

my_variable_name = "John"


Trong Python, có một số cách để chuyển đổi một chuỗi thành tên biến, nhưng quy trình ngược lại không được sử dụng chính xác thường xuyên trong thế giới lập trình. Bài viết này tập trung vào cách lấy tên biến dưới dạng chuỗi trong Python

Tên biến trong Python là gì?

Thuật ngữ

pikachu = 10
6 có thể được định nghĩa là một vật chứa hoặc lưu trữ các giá trị dữ liệu trong Python. Các biến có thể là
pikachu = 10
7 hoặc
pikachu = 10
8 tùy thuộc vào định nghĩa của chúng.
Việc khai báo biến không cần thiết trong Python và các giá trị chỉ có thể được cập nhật bằng cách gán các giá trị mới trong mã.

Làm cách nào để lấy tên biến dưới dạng chuỗi trong Python?

Hàm

pikachu = 10
9 hoặc hàm
pikachu = 10
0 có thể được sử dụng để lấy tên biến ở dạng chuỗi trong Python. Tuy nhiên, điều cần thiết là khám phá chuỗi tên biến để giải phóng nó.

Đây là một tinh chỉnh đối với quy trình ban đầu, giúp mã tìm kiếm ngược lại để tìm tên biến

Trong phương pháp này, chúng tôi sẽ sử dụng hàm

pikachu = 10
0 hoặc hàm
pikachu = 10
9, được sử dụng để cung cấp danh sách tất cả các biến hiện có trong phạm vi đã cho cùng với các giá trị mà chúng đang giữ làm đầu ra

Trong Python 2. x

Ví dụ sau sử dụng hàm

pikachu = 10
9 để lấy tên biến dưới dạng chuỗi trong
pikachu = 10
79

Chọn một trang web để nhận nội dung đã dịch nếu có và xem các sự kiện và ưu đãi tại địa phương. Dựa trên vị trí của bạn, chúng tôi khuyên bạn nên chọn.

Bạn cũng có thể chọn một trang web từ danh sách sau

Làm thế nào để có được hiệu suất trang web tốt nhất

Chọn trang Trung Quốc [bằng tiếng Trung hoặc tiếng Anh] để có hiệu suất trang tốt nhất. Các trang web quốc gia khác của MathWorks không được tối ưu hóa cho các lượt truy cập từ vị trí của bạn

Một chuỗi là một tập hợp các ký tự được lưu trữ dưới dạng một giá trị. Không giống như các công nghệ khác, không cần khai báo rõ ràng các chuỗi trong python [đối với vấn đề đó là bất kỳ biến nào], bạn chỉ cần gán các chuỗi cho một nghĩa đen, điều này làm cho các chuỗi Python dễ sử dụng

Trong Python, một chuỗi được đại diện bởi lớp có tên String. Lớp này cung cấp một số hàm và phương thức mà bạn có thể thực hiện các thao tác khác nhau trên chuỗi.

Trong bài viết này, chúng ta sẽ tập trung vào cách lấy tên biến dưới dạng chuỗi trong Python

Các biến về cơ bản là ánh xạ tên tới các đối tượng, do đó đây không phải là thứ bạn làm trong Python. Các mô-đun, hàm và lớp là những đối tượng Python duy nhất có tên chuẩn và không có gì đảm bảo rằng tên chuẩn này sẽ có bất kỳ ý nghĩa nào trong bất kỳ không gian tên nào sau khi hàm hoặc lớp đã được khai báo hoặc mô-đun được nhập. Những tên này cũng có thể được thay đổi sau khi các đối tượng đã được tạo, do đó chúng không phải lúc nào cũng đáng tin cậy

Vẫn có các kỹ thuật để lấy tên biến dưới dạng chuỗi. Để trích xuất tên biến, bạn cần biết chuỗi. Đây cũng là một tìm kiếm tên biến ngược lại. Do đó, nếu bạn có hai biến có cùng giá trị, nó có thể trả về một trong hai biến đó. Hàm items trả về danh sách tất cả các biến trong phạm vi, cùng với các giá trị tương ứng của chúng. Đối với trăn 2. x, chúng tôi cũng sẽ sử dụng các mục phương thức tương tự

ví dụ 1

Trong ví dụ được đưa ra dưới đây, chúng tôi đang lấy 2 biến và chúng tôi đang tìm ra tên biến bằng cách sử dụng local[]. phương thức item[]

Gần đây tôi đang thực hiện một nhiệm vụ và ở đó, có nhu cầu chuyển đổi một số chuỗi thành tên biến. Tôi có một danh sách các chuỗi mà tôi phải chuyển đổi thành tên biến để lưu trữ các giá trị số nguyên. Tôi đã khám phá một chút và đã có thể hoàn thành nó. Có thể có những lúc bạn cũng cần phải làm điều đó

Chia sẻ một số cách tiếp cận bên dưới có thể được sử dụng để chuyển đổi động các giá trị chuỗi thành tên biến

Nhiệm vụ

Chuỗi giá trị,

x = "pikachu"

đến một biến

pikachu = 10
4 để lưu trữ giá trị số nguyên [hoặc bất kỳ kiểu dữ liệu nào khác mà bạn muốn]

pikachu = 10

Cách tiếp cận số 1 – Sử dụng toàn cầu [] và địa phương []

Chúng ta có thể sử dụng

pikachu = 10
5 và
pikachu = 10
6 để chuyển đổi giá trị chuỗi thành một biến

Ví dụ với globals[]

x = "pikachu"
globals[][x] = 10
print[pikachu]

Đầu ra là,

10

VÍ DỤ VỚI LOCALS[]

Nếu chúng ta cần tạo biến trong phạm vi cục bộ, chúng ta sẽ sử dụng

pikachu = 10
6 thay vì
pikachu = 10
5, phần còn lại sẽ giống nhau

Trong ví dụ dưới đây, chúng ta sẽ tạo một biến bên trong một hàm. Vì bên trong hàm, nó sẽ là một biến có phạm vi cục bộ, chúng tôi sẽ sử dụng

pikachu = 10
6

pikachu = 10
0

Đầu ra là,

pikachu = 10
1

Cách tiếp cận #2 – Sử dụng vars[]

x = "pikachu"
globals[][x] = 10
print[pikachu]
0 cung cấp quyền truy cập cấp thấp vào các biến được tạo bởi python. Khi được sử dụng mà không có bất kỳ đối số nào, nó hoạt động giống như
pikachu = 10
6. Phạm vi của 
x = "pikachu"
globals[][x] = 10
print[pikachu]
2 sẽ hoàn toàn giống với phạm vi của 
x = "pikachu"
globals[][x] = 10
print[pikachu]
3

Thí dụ

pikachu = 10
6

Đầu ra là,

pikachu = 10
7

Cách tiếp cận 3 – Sử dụng từ điển

Cách tốt nhất để làm điều này là sử dụng từ điển. Nó ít bị lỗi và rủi ro bảo mật hơn nhiều

Thí dụ

pikachu = 10
8

Đầu ra là,

pikachu = 10
7

Cách tiếp cận #3 – Sử dụng hàm exec[]

Hàm Exec có thể tự động thực thi mã của chương trình python. Mã có thể được chuyển vào dưới dạng chuỗi hoặc mã đối tượng cho chức năng này. Mã đối tượng được thực thi nguyên trạng trong khi chuỗi được phân tích cú pháp lần đầu và được kiểm tra xem có bất kỳ lỗi cú pháp nào không. Nếu không tìm thấy lỗi cú pháp, chuỗi được thực thi dưới dạng mã python

Thí dụ

pikachu = 10
0

Phương pháp này không được khuyến nghị

x = "pikachu"
globals[][x] = 10
print[pikachu]
4 có một số rủi ro về bảo mật. Nó được coi là không an toàn vì nó cho phép người dùng tự động thực thi mã Python tùy ý, đây có thể là một lỗ hổng bảo mật lớn.

Cách tiếp cận #4 – Sử dụng phương thức setattr[]

Cách tiếp cận này sử dụng phương thức setattr[] của python

Phương thức

x = "pikachu"
globals[][x] = 10
print[pikachu]
5 đặt giá trị của thuộc tính được chỉ định của đối tượng được chỉ định

Cú pháp diễn ra như thế này -

pikachu = 10
1

Ví dụ

x = "pikachu"
globals[][x] = 10
print[pikachu]
6

tương đương với

x = "pikachu"
globals[][x] = 10
print[pikachu]
7

Như bạn có thể đã quan sát, setattr[] mong đợi một đối tượng được truyền cùng với giá trị để tạo/sửa đổi một thuộc tính mới

Làm cách nào để lấy giá trị của một biến được đặt tên trong một chuỗi?

Giả định rằng bạn biết chuỗi là an toàn để đánh giá, thì eval sẽ đưa ra giá trị của biến trong ngữ cảnh hiện tại . Không bao giờ sử dụng eval [hoặc exec ] trên dữ liệu có thể đến từ bên ngoài chương trình dưới mọi hình thức. Đó là một rủi ro bảo mật quan trọng.

Bạn có thể tạo tên biến động trong Python không?

Tạo một tên biến động trong Python bằng for Loop . Cách tiếp cận này cũng sẽ sử dụng hàm globals[] ngoài vòng lặp for. Hàm globals[] của Python trả về một từ điển chứa bảng ký hiệu toàn cầu hiện tại. Iteration may be used to create a dynamic variable name in Python. This approach will also use the globals[] function in addition to the for loop. Python's globals[] function returns a dictionary containing the current global symbol table.

Chủ Đề