尽管实例化了一个类,但没有打印消息 - Python

时间:2014-06-25 11:14:26

标签: python

我有两个文件,即包含类声明的misc.py和包含该类实例化的misc_main.py。

misc.py

#!/usr/bin/python

class dummy:
    def __init__(self):
        pass

    def dummyPrint(self):
        print "Welcome to Python!"

misc_main.py

from misc import dummy

dummyObj = dummy()
dummyObj.printDummy()

编译时如下

$python misc.py misc_main.py

我没有看到任何打印消息,即欢迎使用Python

我做错了什么?有没有更好的方法呢?

2 个答案:

答案 0 :(得分:2)

您需要运行 misc_main.py

python misc_main.py

当你使用run misc.py misc_main.py时,第二个参数只传递给sys.argv[1],它告诉Python运行这两个脚本。

实际上,Python只运行misc.py,它没有任何可以打印任何内容的顶级语句。另一方面,运行misc_main.py 而不是将导致Python在运行misc.py时将from misc import dummy文件作为模块查找。

Python在运行文件时透明地将Python文件编译为字节码。对于模块(例如此处为misc.py),根据需要创建.pyc 字节码缓存文件

答案 1 :(得分:0)

Python不是"编译需要" (实际上,它只是透明地编译Python),它需要只是解释所以你应该这样做;

python misc_main.py