Get the App
SLTechnology News&Howtos  ›  Development  › 

How does python build a virtual namespace

Shulou Source: shulou.com Published: 2022-06-03 17:36:08 09月19日 Update

This article is about how python builds virtual namespaces. The editor thinks it is very practical, so share it with you as a reference and follow the editor to have a look.

Description

1. You need to create a virtual namespace to store all the functions collected during the definition phase.

2. Because there is only one namespace / registry, create a single example class and save the function in the dictionary.

The key of this dictionary is not the function name, but the tuple we get from the key function, which contains elements that can only recognize one function.

In this way, we can save all functions in the registry, even if they have the same name (but different parameters), thus achieving function overloading.

Example

Class Namespace (object): "" Namespace is a singleton class Responsible for saving all functions "" _ _ instance = None def _ _ init__ (self): if self.__instance is None: self.function_map = dict () Namespace.__instance = self else: raise Exception ("cannot instantiate a virtual Namespace again") @ staticmethod def get_instance (): if Namespace.__instance is None: Namespace () return Namespace.__instance def register (self) Fn): "registers the function in the virtual namespace And return the callable instance of the Function class "" func = Function (fn) self.function_map [func.key ()] = fn return func Thank you for reading! This is the end of the article on "how to build virtual namespaces in python". I hope the above content can be of some help to you, so that you can learn more knowledge. if you think the article is good, you can share it for more people to see!

Tags: Function space content dictionary instance more registry article different good practical same example element single parameter only name article way Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Microsoft OPPO Reno Docker Apple Shulou Tech Info