为具有其他语言背景的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第三方库


热门话题
java附加两个数组   java如何在Extjs的不同页面中使用相同的存储   java Jung,大顶点的布局重叠,图形出现在奇怪的位置   java如何在Android中通过画布绘制圆?   java验证库设计模式选择   java研磨机未知标记“timedTests”   java Android领域子类实例方法   java使用resteasy/jaxrs从请求负载接收两种类型的数据   缓冲策略Java缓冲策略有时不能正确绘制   java跟踪棋子   密度无关像素如何在java中锐化图像缩略图?   java如何在MongoDB更新查询中编写(或)更新   java A*寻路游戏系统退出问题   java在安卓中读取xml的最佳方式是什么?   通过反射调用的方法的java抑制警告   安卓 java。语言错误:信号11(SIGSEGV),代码10(?),故障地址006e006f   java lombok 1.18.2使用DexBuilderForDebug抛出TransformClasses   java JOptionPane CD对话框按钮?   java只返回json中的一些值,而不是完整实体对象   java包不存在错误,请稍后重试