Utilities for Python programmers with background in other languages.
Project description
This library provides utilities to use features of other languages in Python.
You can find a functional example of each feature in the examples directory. Test cases in tests directory run on top of these examples to ensure the functionality.
Access Modifiers
To identify a variable as private::
from pythonlangutil.access_modifiers import private_variable class PrivateVariableTest(object): def __init__(self): self.id = "123" @private_variable('id') def __setattr__(self, *args, **kwargs): return object.__setattr__(self, *args, **kwargs) def insider(self): self.id = "321"
To identify a method as private::
from pythonlangutil.access_modifiers import private_function class PrivateFunctionTest(object): def __init__(self): pass @private_function def private_method(self): return 'called from inside my own class' def insider(self): return self.private_method()
Creating Overloads
To create overloads::
from pythonlangutil.overload import Overload, signature class OverloadTest(): def __init__(self): self.male_pref = "Mr. %s" self.female_pref = "Ms. %s" self.general_pref = "Dear %s" @Overload @signature("str", "bool") def my_method(self, name, male): if male: return self.male_pref % name return self.female_pref % name @my_method.overload @signature("str") def my_method(self, name): return self.general_pref % name @my_method.overload @signature("int", "str") def my_method(self, times, name): return "\n".join([self.general_pref % name for i in range(times)])
Using Singleton Model
It prevents the instantiation of the class. The only instance of the class will be accessible through get_instance() method which will be added to class automatically.
To use singleton::
from pythonlangutil.singleton import Singleton @Singleton() class SingletonTest(): def __init__(self): pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pythonlangutil-0.1.zip
(7.3 kB
view details)
File details
Details for the file pythonlangutil-0.1.zip
.
File metadata
- Download URL: pythonlangutil-0.1.zip
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54cfc6a8f7c2286c20a6f2b724b0e7d91e9b3e6c924f01b5af6748c6bfafb9d5 |
|
MD5 | b5d443a261044d771239cd05ae334cbc |
|
BLAKE2b-256 | e7b7f689879f8c9b9ae8994b89d8220fc63fddaceda920b12184f45fd5cdb5a8 |