相关疑难解决方法(0)

Python中的动态/运行时方法创建(代码生成)

我需要在运行时为方法生成代码.能够运行任意代码并拥有文档字符串非常重要.

我想出了一个解决方案相结合exec,并setattr,这里是一个虚拟的例子:

class Viking(object):
    def __init__(self):
        code = '''
            def dynamo(self, arg):
                """ dynamo's a dynamic method!
                """
                self.weight += 1
                return arg * self.weight
            '''
        self.weight = 50

        d = {}
        exec code.strip() in d
        setattr(self.__class__, 'dynamo', d['dynamo'])


if __name__ == "__main__":
    v = Viking()
    print v.dynamo(10)
    print v.dynamo(10)
    print v.dynamo.__doc__
Run Code Online (Sandbox Code Playgroud)

是否有更好/更安全/更惯用的方式来实现相同的结果?

python metaprogramming exec

42
推荐指数
3
解决办法
4万
查看次数

用简单的英语,Python,Perl和Ruby在将它们翻译成另一种语言时有什么区别?

更新:收到了很多很棒的信息,谢谢 - 回过头来再次阅读我的问题,根据一些答案说明可以做XYZ,这不是问题.这个问题的核心是:"这个问题的主要焦点是用简单的英语找到答案,解释为什么Python,Perl和Ruby在将它们移植到另一种语言时就是这样的."


一直在研究Perl,Python和Ruby之间的差异 - 这对我而言是迄今为止我发现的最有趣的差异之一,即看起来可以将Python转录为C,但这是不可能的将Perl转录成任何语言.没有发现任何关于Ruby的东西,但是猜测它是99.99%的所有东西都是一个对象可能会使这个很难,如果不是不可能转录到另一种语言.

这个问题的主要焦点是用简单的英语找到答案,为什么Python,Perl和Ruby在将它们移植到另一种语言时就是这样的.

ruby python perl translation

0
推荐指数
2
解决办法
2271
查看次数

如何将perl脚本转换为Java?

可能重复:
如何将OO Perl转换为Java?

你好.

我有一个perl脚本,我想把它翻译成Java.

是否有从perl脚本到Java的翻译/转换器?

顺便说一下,我正在开发一个Android 2.2应用程序.

编辑
我已经关闭了这个问题.停止低估我!!!!!! 如果你downvote告诉我们为什么!

谢谢.

java perl android

0
推荐指数
1
解决办法
2184
查看次数

标签 统计

perl ×2

python ×2

android ×1

exec ×1

java ×1

metaprogramming ×1

ruby ×1

translation ×1