Home > Backend Development > Python Tutorial > How Can I Access Python Variables Using Their String Names?

How Can I Access Python Variables Using Their String Names?

Susan Sarandon
Release: 2024-12-21 08:02:09
Original
462 people have browsed it

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']
Copy after login

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']
Copy after login

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']
Copy after login

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']
Copy after login

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!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template