如何python3中调用python2中的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何python3中调用python2中的方法相关的知识,希望对你有一定的参考价值。
在Windows操作系统上,Python一般被安装在C:Pythonxx的位置,这里xx代表版本号,例如,Python3.4就被安装在C:Python34文件夹中。你只需要把C:Pythonxx加入到系统环境变量中的path变量中,就可以从任何位置调用python解释器了。OK,打开命令行窗口,输入python,就可以调用python解释器了。
要退出解释器,可以输入exit()函数或者quit()函数。
当然,还有另外一种方式调用python解释器直接解释执行Python语句,格式:python -c command [arg] ...,这里command就是要执行的python语句。
有一些脚本很有用,也可以直接作为模块来运行,格式: python -m module [arg] ...,其中module就是要运行的模块名字,当然这个模块必须要能够被Python运行时环境找到,也就是说它必须能够被import到,换句话说,相当于运行了import module. 参考技术A 二者的代码并不兼容,你可以考虑进程调用
如何从 Python 中的另一个文件调用类方法?
【中文标题】如何从 Python 中的另一个文件调用类方法?【英文标题】:How do I call a class method from another file in Python? 【发布时间】:2018-01-05 19:55:21 【问题描述】:我正在学习 Python,并且在同一个目录中有两个文件。
printer.py
class Printer(object):
def __init__(self):
self.message = 'yo'
def printMessage(self):
print self.message
if __name__ == "__main__":
printer = Printer()
printer.printMessage()
如何从同一目录中的另一个文件example.py
调用printMessage(self)
方法?我认为this answer 很接近,但它显示了如何从同一文件中的另一个类调用类方法。
【问题讨论】:
你导入printed.py
了吗?
对这个问题的多次反对让我有点生气。 3 年前,我还是一个初学者,即使在阅读了 SO 帖子之后,我也很沮丧。对于想要自学的初学者来说,如何使用导入系统是非常困难的。
【参考方案1】:
在example.py文件中你可以写下面的代码
从打印机导入打印机
prnt = 打印机()
prnt.printer()
【讨论】:
【参考方案2】:@Gleland 的答案是正确的,但如果您想为整个项目使用 Printer
类的一个共享实例,那么您需要将 Printer
的实例化移出 if
子句和导入实例,而不是类,即:
class Printer(object):
def __init__(self):
self.message = 'yo'
def printMessage(self):
print self.message
printer = Printer()
if __name__ == "__main__":
printer.printMessage()
现在,在另一个文件中:
from printer import printer as pr
pr.printMessage()
【讨论】:
不,如果没有实例作为参数,您不能调用未绑定的方法。 我没有调用未绑定的方法。请再看看。与其他@gleland 答案的唯一区别是我导入的是实例,而不是类。 @KlausD。您能否修改您的评论并撤消反对票?【参考方案3】:你必须导入它并像这样调用它:
import printer as pr
pr.Printer().printMessage()
【讨论】:
这是不正确的。printMessage
不是静态的。您需要创建Printer
类的实例。
你正在调用一个没有参数的类方法。我猜你的意思是pr.Printer().printMessage()
@ChristianK。是的,刚刚修好了。谢谢以上是关于如何python3中调用python2中的方法的主要内容,如果未能解决你的问题,请参考以下文章