- 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"
Thí dụ
Tên biến bất hợp pháp
2myvar = "John"
my-var = "John"
my var = "John"
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 = 106 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 = 107 hoặc
pikachu = 108 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 = 109 hoặc hàm
pikachu = 100 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 = 100 hoặc hàm
pikachu = 109, đượ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 = 109 để lấy tên biến dưới dạng chuỗi trong
pikachu = 1079
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 = 104 để 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 = 105 và
pikachu = 106 để 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 = 106 thay vì
pikachu = 105, 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 = 106
pikachu = 100
Đầu ra là,
pikachu = 101
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 = 106. 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 = 106
Đầu ra là,
pikachu = 107
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 = 108
Đầu ra là,
pikachu = 107
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 = 100
Phương pháp này không được khuyến nghị vì
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 = 101
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