我可以将python-2.7的函数导入并绑定到python-3.x中的另一个函数吗?

时间:2017-07-05 23:44:25

标签: python python-2.7 syntax

某些python-2.7和python-3.x函数具有相同的名称,但执行方式不同。我可以导入python-3.x中使用py2.7函数,通过更改其名称吗?

激励示例是python-2.7的“print”,即print "TEXT",与python 3中的print("TEXT")相比,不使用括号。我可以保持python 2“print”将它绑定到像pr

这样的东西

(顺便说一下,我的问题是键入并转义括号。键()比空格键更难按。而且,因为我的IDE放了然后我自动将光标移出它。)

  

注意:我之前曾问过此问题,但错误地将其标记为重复。    再说一遍,我要特别询问是否可以将python 2函数绑定到一个新名称,以便在python-3.x中使用它的功能。

     

Can I bind python-2.7's `print` in python-3.x, allowing me to use `print` without parenthesis in python-3.x?

     

我不知道如何通过内部消息联系主持人或更正此错误标志。

2 个答案:

答案 0 :(得分:0)

真正的解决方案是配置您的IDE,而不是试图破解这些配置问题。

也就是说,Python 3中不存在带空格且没有括号的Python 2 print语句。虽然您可以找到使用Python 2中的函数的方法,但不能使用该语法。

答案 1 :(得分:0)

如果你的真正问题在于print() for python 3中的括号,那么不,据我所知,那里并不是真正的解决方案。如果它是一个不同的功能,你可以随时

def funcName(arg):
    return anotherFunc(arg)

或作为chepner评论

funcName = anotherFunc

有效地重命名anotherFunc()

至于你的IDE特定问题,可能有办法关闭自动括号(或者你可以只使用键盘上的箭头键),你使用括号越多,你就越快&#39我会使用它们,这可能是一件好事,因为它们基本上用于你曾经使用过的所有功能。

最后,最好不要强迫语言去做一件它没有真正提供的特定事物。你没有在Python中使用GOTO - 它们并不是出于某种原因而内置的。您可以使用其他方法编写它们。你在python 3中使用括号 - 不要试图改变它!还有另一个原因是不按照您描述的方式更改语言 - 这会降低代码的可读性。你写的时候每个人都会知道你的意思

''.join(something)

但不是在你写的时候

randomFuncName(something)

然后在一些不起眼的地方你有一个像上面描述的那样重命名''.join的功能。