Home >Backend Development >Python Tutorial >How Can I Access Python Variables Using Their String Names?
Accessing Variables by String Names
In Python, you may encounter situations where you want to dynamically access variables by their string names. To achieve this, there are several approaches you can consider.
Using a Dictionary
One common method is to use a dictionary to associate string names with their corresponding values. Here's an example:
get_ext = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } print(get_ext['audio']) # Output: ['mp3', 'wav']
Assigning to the Dictionary's 'get' Method
Alternatively, you can assign the 'get' method of the dictionary to a variable or function. This provides a concise way to access values based on string names.
get_ext = get_ext.get print(get_ext('video')) # Output: ['mp4', 'mkv']
Using a Custom Function
If you prefer a function-based approach, you can wrap the dictionary inside a function and handle unknown keys as needed. For example:
def get_ext(file_type): types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } return types.get(file_type, []) print(get_ext('audio')) # Output: ['mp3', 'wav']
Using a Class-Based Approach
For more complex scenarios, you can create a class to manage the variable lookup. This provides flexibility and allows for dynamic updates to the recognized file types. For instance:
class get_ext(object): def __init__(self): self.types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } def __call__(self, file_type): return self.types.get(file_type, []) get_ext = get_ext() print(get_ext('audio')) # Output: ['mp3', 'wav'] get_ext.types['binary'] = ['bin', 'exe'] print(get_ext('binary')) # Output: ['bin', 'exe']
By embracing these techniques, you can effectively access variables by string names in Python, enabling flexible and dynamic programming patterns.
The above is the detailed content of How Can I Access Python Variables Using Their String Names?. For more information, please follow other related articles on the PHP Chinese website!