在Python中,可以使用import,python中import语句

  在Python中,可以使用import,python中import语句

  python中使用import的方法:1、[import module_name],即导入后直接跟模块名;2.【从包名导入模块名】模块的集合。

  本教程运行环境:windows7系统,python3.9版本3.9,戴尔G3电脑。

  使用python中import的方法:

  首先建立一个文件夹树作为工作目录,在里面建立两个文件m1.py和m2.py,在m1.py里面写代码:

  导入操作系统

  导入m2

  M2.printSelf()在m2.py中编写代码:

  def printSelf():

  Print(In m2 )打开命令行,进入树目录,点击python m1.py运行。发现没有错误,在m2打印出来,说明这样使用import没有问题。由此,我们得出import语句的第一种用法。

  import module_name是导入后的模块名。在这种情况下,Python会在两个地方寻找这个模块,第一个是sys.path(通过运行代码导入sys打印(sys.path)来查看),os模块所在的目录在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是Python安装目录添加到电脑的环境变量中),所以我们可以直接导入安装的库。第二个地方是运行文件(这里是m1.py)所在的目录。因为m2.py和运行文件在同一个目录下,所以上面的写法没有问题。

  用上述方法在原sys.path中导入库没有问题。但是,最好不要用上述方法导入同一个目录下的文件!因为这可能会出错。为了演示这个错误,我们需要用到import语句的二次写法,所以我们先来学习import的二次写法。在树形目录下新建一个目录分支,在分支中新建一个文件m3.py。m3.py的内容如下:

  def printSelf():

  Print(In m3 )如何将m3.py导入m1?请看改变后的m1.py:

  从分支导入m3

  m3 . print self()

  总结import语句的第二种用法:通常将模块集合称为一个包。与第一种编写方法类似,Python会在sys.path和运行文件目录中寻找包,然后在包中导入名为module_name的模块。

  现在让我们解释一下为什么不使用第一种导入方法来导入同一个目录中的文件。在分支目录中创建新的m4.py文件。m4.py的内容如下:

  def printSelf():

  Print(In m4 )然后我们直接在m3.py中导入m4,m3.py就变成了:

  导入m4

  def printSelf():

  Print(In m3 )此时运行m1.py会报错,说m4模块无法导入。为什么?我们来看一下导入流程:m1用from Branch导入m3,然后在m3.py中用import m4导入m4,你看出问题了吗?M4.py和m1.py不在同一个目录中。如何使用import 4直接导入m4?(读者可以尝试直接在树形目录下创建另一个m4.py文件,你会发现再运行m1.py也不会出错,只是导入了第二个m4.py。)

  面对上面的错误,用python2运行m1.py不会给出错误,因为在python2中,上面提到的两种写导入的方式属于相对导入,而在python3中,属于绝对导入。说到这里,就涉及到进口最关键的部分:——相对进口和绝对进口。

  还是说说python3的导入用法吧。以上两种写入方式属于绝对导入,即用来导入sys.path的包和运行文件所在目录下的包。对于sys.path中的包,这种写法没有问题;导入自己写的文件。如果是非运行入口文件(上面的m1.py是运行入口文件,可以使用绝对导入),需要相对导入。

  例如,对于未运行的条目文件m3.py,m4.py的导入需要相对导入:

  从。导入m4

  def printSelf():

  Print(In m3 )这个时候再运行m1.py就可以了。

  相关免费学习推荐:python视频教程

  这就是如何在python中使用import的细节。更多信息请关注热门IT软件开发工作室其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: