python导入语句

python导入语句,python,import,Python,Import,在我看到的一些代码中,有以下语句: from math import exp, sqrt, ceil 但是,项目文件夹中没有名为math的文件夹,也没有名为exp、sqrt和ceil的模块。我的问题基本上是这些模块从哪里导入,以及如何查看它们和其他类似的文件?提前感谢。您正在导入一个标准Python模块。有关数学模块和完整标准库的文档,请参阅 模块在文件系统上的位置因环境而异。不要费心在那里找东西。只需为文档添加书签。您正在导入一个标准Python模块。有关数学模块和完整标准库的文档,请参阅

在我看到的一些代码中,有以下语句:

from math import exp, sqrt, ceil 

但是,项目文件夹中没有名为math的文件夹,也没有名为exp、sqrt和ceil的模块。我的问题基本上是这些模块从哪里导入,以及如何查看它们和其他类似的文件?提前感谢。

您正在导入一个标准Python模块。有关数学模块和完整标准库的文档,请参阅


模块在文件系统上的位置因环境而异。不要费心在那里找东西。只需为文档添加书签。

您正在导入一个标准Python模块。有关数学模块和完整标准库的文档,请参阅


模块在文件系统上的位置因环境而异。不要费心在那里找东西。只需将文档添加到书签中即可。

您将看到。通过搜索匹配的模块来解决这些问题。除了PYTHONPATH之外,您还可以从python脚本的任何子文件夹导入,这些子文件夹包含一个名为
\uuu init\uuuu.py的文件。通过搜索匹配的模块来解决这些问题。除了PYTHONPATH之外,您还可以从包含名为
\uuu init\uuuu.py

的文件的python脚本的任何子文件夹中导入
数学
模块是python标准库的一部分,在任何python安装中都始终可用。但是,由于函数不是内置函数,因此确实需要导入。

数学模块是Python标准库的一部分,在任何Python安装中都可以使用。但是,由于这些函数不是内置函数,因此确实需要导入它们。

您有一些混淆的术语。在本例中,
math
是模块,
exp、sqrt、ceil
是它定义的函数。通常是导入的
math
是一个基本模块,它包含在每个Python安装中。Python有一组它将查找模块的特定位置。在这种情况下,
math
将是一个用C编写的动态加载模块

您可以通过执行以下操作来了解其来源:

import math
math.__file__

请注意,这将为内置到解释器中的任何内容提供一个错误。

您有一些混淆的术语。在本例中,
math
是模块,
exp、sqrt、ceil
是它定义的函数。通常是导入的
math
是一个基本模块,它包含在每个Python安装中。Python有一组它将查找模块的特定位置。在这种情况下,
math
将是一个用C编写的动态加载模块

您可以通过执行以下操作来了解其来源:

import math
math.__file__

请注意,这将为内置到解释器中的任何内容提供一个错误。

导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path给定的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:

- The directory containing the input script (or the current directory).
- PYTHONPATH (a list of directory names, with the same syntax as the shell variable PATH).
- the installation-dependent default.
初始化后,Python程序可以修改sys.path。包含正在运行的脚本的目录位于搜索路径的开头,位于标准库路径的前面。这意味着将加载该目录中的脚本,而不是库目录中同名的模块。除非打算更换,否则这是一个错误。有关更多信息,请参阅“标准模块”一节

从shell中,您可以键入以下内容以获取默认sys.path

            >>> import sys
            >>> print sys.path
            ['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']

导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path给定的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:

- The directory containing the input script (or the current directory).
- PYTHONPATH (a list of directory names, with the same syntax as the shell variable PATH).
- the installation-dependent default.
初始化后,Python程序可以修改sys.path。包含正在运行的脚本的目录位于搜索路径的开头,位于标准库路径的前面。这意味着将加载该目录中的脚本,而不是库目录中同名的模块。除非打算更换,否则这是一个错误。有关更多信息,请参阅“标准模块”一节

从shell中,您可以键入以下内容以获取默认sys.path

            >>> import sys
            >>> print sys.path
            ['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']