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
Thí dụTên biến pháp lý Show
myvar = "John" Thí dụTên biến bất hợp pháp 2myvar = "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 PascalMỗi từ bắt đầu bằng một chữ in hoa trường hợp con rắnMỗ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. xVí 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ấtChọ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ụ 1Trong 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ểnCá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 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. |