在Python环境中管理Perl习惯

nam*_*tep 6 python perl transitions

Perl的习惯很难.变量声明,作用域,全局/本地在两种语言之间是不同的.是否有一组推荐的python语言习语,它们将使从perl编码到python编码的过渡变得不那么痛苦.

微妙的变量拼写错误会浪费大量时间.

我理解变量声明问题在python人员中是准宗教我不是在争论语言变化或功能,只是两种语言之间的可靠桥梁,这不会导致我的perl习惯沉没我的python努力.

谢谢.

ste*_*eha 1

我喜欢这个问题,但我没有任何 Perl 经验,所以我不知道如何给你最好的建议。

我建议你在谷歌上搜索“Python idioms”。你会发现一些宝石。尤其:

http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html

http://docs.python.org/dev/howto/doanddont.html

http://jaynes.colorado.edu/PythonIdioms.html

至于变量“声明”问题,这是我给您的最佳建议:

请记住,在 Python 中,对象有自己的生命周期,与变量名称分开。变量名是绑定到对象的标签。您可以随时将名称重新绑定到不同的对象,也许是完全不同的类型。因此,这是完全合法的:

x = 1    # bind x to integer, value == 1
x = "1"  # bind x to string, value is "1"
Run Code Online (Sandbox Code Playgroud)

Python 实际上是强类型的;如果您不相信我,请尝试执行代码 1 +“1”,看看它的效果如何。在没有显式类型强制的情况下,值为 1 的整数对象不接受字符串值的添加。因此,Python 名称永远不会有标记变量属性的符号字符;Python 不是这样做事的。任何合法的标识符名称都可以绑定到任何类型的任何 Python 对象。