Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta dan Menetapkan Nilai Secara Dinamik kepada Pembolehubah dalam Python Menggunakan Pembolehubah Rentetan?

Bagaimanakah Saya Boleh Mencipta dan Menetapkan Nilai Secara Dinamik kepada Pembolehubah dalam Python Menggunakan Pembolehubah Rentetan?

Susan Sarandon
Susan Sarandonasal
2024-11-29 00:39:13738semak imbas

How Can I Dynamically Create and Assign Values to Variables in Python Using String Variables?

Penugasan Pembolehubah daripada Pembolehubah Rentetan

Dalam Python, memberikan nilai kepada nama pembolehubah boleh dicapai secara langsung. Walau bagaimanapun, mungkin timbul bahawa anda mempunyai pembolehubah rentetan yang mengandungi nama pembolehubah yang diingini dan anda ingin mencipta pembolehubah baharu dengan nama itu dan nilai sepadannya.

Senario:

Pertimbangkan situasi berikut:

foo = "bar"
foo = "something else"   
# What I actually want:    
bar = "something else"

Dalam contoh ini, memberikan "sesuatu yang lain" kepada foo akan menimpa nilai foo. Walau bagaimanapun, niatnya adalah untuk mencipta pembolehubah baharu bernama bar dan menetapkan "sesuatu yang lain" kepadanya.

Penyelesaian: Menggunakan exec()

Untuk menyelesaikan tugas ini, Fungsi exec() Python boleh digunakan. exec() menilai kod Python secara dinamik. Dengan menggabungkan pembolehubah rentetan dengan pernyataan tugasan yang diingini dan menyerahkannya kepada exec(), anda boleh mencipta pembolehubah baharu dengan berkesan.

>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>> 

Dalam coretan ini:

  • foo " = 'something else'" membina pernyataan tugasan untuk mencipta pembolehubah bar.
  • exec() menilai pernyataan ini secara dinamik, mengakibatkan penciptaan dan penugasan bar.

Kaedah ini menyediakan cara yang fleksibel untuk mencipta pembolehubah secara dinamik berdasarkan nilai rentetan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta dan Menetapkan Nilai Secara Dinamik kepada Pembolehubah dalam Python Menggunakan Pembolehubah Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn