为具有其他语言背景的python程序员提供的实用程序。

pythonlangutil的Python项目详细描述


这个库提供了一些实用程序来使用python中其他语言的特性。

https://badge.fury.io/py/pythonlangutil.svghttps://travis-ci.org/ehsan-keshavarzian/pythonlangutil.svg?branch=master

您可以在examples目录中找到每个特性的功能示例。测试目录中的测试用例运行在 这些例子确保了功能性。

访问修饰符

将变量标识为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"

将方法标识为私有方法:

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()

创建重载

创建重载::

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)])

使用单例模型

它防止类的实例化。类的唯一实例将通过 将自动添加到类中的get_instance()方法。

使用singleton::

from pythonlangutil.singleton import Singleton

@Singleton()
class SingletonTest():
    def __init__(self):
        pass

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Windows 7 64位上运行Jive Dev Enrivoment的java   Java/C/C++/C#/PHP到Pascal的转换器?   java将字符串列表转换为单个对象   java SimpleAdapter,spinner中的文本和图像   java当客户端返回时,有状态会话bean如何恢复状态?   JavaWebLogic。jdbc。包装纸。无法将数组\u oracle\u sql\u数组强制转换为oracle。sql。大堆   java MySQL/Hibernate检索列映射为LocalTime的错误数据   java如何检测页面中是否包含句子(模糊)?   java如何在springboot框架中验证wsdl   JTextPane中的java双列表项插入   java根据窗口大小调整JScrollPane的大小   sql如何在java中映射VARCHAR2(5)的类型表?   用于生成Cron表达式的java类型转换   如何将基于spring注释的Hibernate代码迁移到JavaEE   java对象作为参数?   JavaSeleniumWebDriver:在许多输入中设置值的更快方法