python 2.7 中的 from import 问题(来自 think like a computer scientist tutorial)

Problems with from import in python 2.7 ( from think like a computer scientist tutorial)

我一直在努力关注 this tutorial for python。我正在做第 3 章的练习。在练习 4 中,我遇到了 from import_test import * 部分的问题:

~ from import_test import *

Traceback (most recent call last):
 File "pyshell#3", line 1, in <module>

   from import_test import *

File "import_test.py", line 1

Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
             ^
SyntaxError: invalid syntax

这是我在 return 中不断得到的语法,但我不确定它想告诉我什么。

这就是里面的一切import_test.py

Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. ~def cat_n_times(s, n): print s * n

我得到的错误对我来说没有任何意义,因为我刚刚开始编写代码。我还不知道如何使用这个网站,所以谢谢你能忍受我的麻烦。

我想我确实将 shell 输出复制到了文件中。我会尝试修复它,看看它是否有效。再次感谢大家的帮助。

所以这不起作用,我不断收到相同的语法错误。语法箭头是否指向我正在使用的 python 版本?

在我看来,您很难理解包含 python 代码的文件与 shell 之间的区别。当您在 shell 并键入

from import_test import *

你实质上是想获取 import_test.py 的全部内容并将它们加载到你的程序中,以便你可以使用 [=13= 中包含的任何函数定义等] 文件中。

因此,import_test.py 需要完全由有效的 python 代码组成。 import_test.py的内容应该只能是

def cat_n_times(s, n):
    print s * n

因为 import_test.py 中有一堆无效的 python 代码,所以会出现语法错误。当 shell 尝试加载文件内容时遇到语法错误,这意味着您的文件中包含无效代码(在本例中为复制的垃圾代码)。

通过正确实施的导入将 cat_n_times() 函数成功加载到 shell 后,您应该能够从 shell.

~ cat_n_times("a", 25)

这将打印出 "a",连续连接 25 次。在 python 中向初学者演示这是一种愚蠢的行为,因为特殊运算符重载不完全是 Python 的构建块,但那是另一回事了...