美文网首页
Python3中几种import方法的区别

Python3中几种import方法的区别

作者: Mocha_1996 | 来源:发表于2019-03-16 17:22 被阅读0次

前言

        第一次见到Python编程语言就被Python优雅的语言风格所吸引,果断抛弃了JAVA,转向了Python,虽然运行速度还是不快,但是对于写写demo,算法等时候思路比较清晰。毕竟life is short, I use Python.

Life is short, I use Python

正文

        相信很多朋友在网上看各种demo代码的时候,会看到python有不同的导入的形式,例如import xxx, from xxx import yyy这种。那么我们应该使用哪种import方式呢?不同的import方式又有什么区别呢?

1.1 常规import

 Example1.1.1:

                import math

 在import之后跟上你要导入的模块名即可。还可以一条语句导入多个模块, 模块之间用逗号(,)分隔。

Example1.1.2:

                import os, math, sys

好处是可以节省空间,但是违背的Python Style Guide的推荐做法,即每个模块分别用一行语句导入。

在import的时候同时可以对模块进行重命名,一般用缩写来表示模块名,便于引用模块里面的函数,变量等等,这种方式在使用模块中的内容时要加上模块的名字。例如

Example1.1.3:

                import math as pymath

                print(pymath.sin(4))

1.2 from xxx import yyy

        很多时候往往你只是想要使用模块中的一部分内容,这个时候就可以使用from xxx import yyy。此时使用模块中的内容就无需使用加入模块名,可以直接使用。例如

Example 1.2.1:(使用exp函数的时候不需要加入math):

                from math import exp

                print(exp(1))

           这种方式即使代码很复杂,也能很方便地知道从哪个模块引入了哪些东西。当然你也可以通过类似的语句导入一个模块的所有内容,使用from xxx import * 即可,“ * ”是通配符,表示引入所有内容。

Example 1.2.2:

                from math import *

                print(tan(1))

                print(cos(2))

              事实上from xxx import * 方式看似便捷,但事实上不推荐使用,因为它会混淆命名空间(namespace),举个例子来说:

  Example 1.2.3:

                from math import *

                print(exp(1))     # 输出自然对数的底数e, 2.718281828459045。

                def exp(num):

                        print(num ** 2)

                print(exp(1))    # 此时使用exp()函数则会调用用户定义的exp()函数, 输出1.

            此时由于代码只是一个小的demo,对混淆命名空间感受不是很深刻。想象是一个很复杂的系统,从一个模块导入了所有的内容,你根据业务需求,对模块中的函数进行了适当的修改。在后期调用的时候,写了一天的代码的你自以为调用了模块自带的内容,最终发现程序输出始终和预期的不一样。然后就是无穷尽的debug, 加班。。。。。。希望你能养成import的好习惯,做一个高效率程序员,加油!

总结:

        Python中 import 主要有两种方式,一种就是 import module, 采用这种方式调用模块中函数时要使用module.func 的方式。另一种则是 from module import something,则可以直接使用导入的函数。  

        欢迎各位在评论区交流和批评指正~

相关文章

  • Python3中几种import方法的区别

    前言 第一次见到Python编程语言就被Python优雅的语言风格所吸引,果断抛弃了JAVA,转向了Python,...

  • 2016.9.10 HTML1

    1.样式有几种引入方式? link和 @import有什么区别? 在HTML中,引入CSS的方法主要有行内式、内嵌...

  • 3.2中functools.reduce记录

    python3中必须从functools中import reduce函数 reduce()函数的调用方法如下: 它...

  • python日常

    1. Python3中字典(dict)合并的几种方法 方法一:字典的update()方法 方法二:字典的dict(...

  • python中copy和deepcopy的使用方法

    python2中,需要import copy模块 python3中,直接可以使用copy()方法,但deepcop...

  • 任务5-HTML-2

    样式有几种引入方式? link和 @import有什么区别? 答:引入样式的方法有外部样式、内部样式、内联样式。 ...

  • HTML 基础 2

    样式的几种引入方式 外部样式: 内部样式: ... 内联样式: ... link 和 @import的区别: 区别...

  • 知识小总结三 (区别与联系)☀️

    #include与#import的区别 #include 和#import其效果相同,都是查询类中定义的行为(方法...

  • urllib库python2和python3区别

    urllib库python2和python3区别 在python2中使用的import urllib2——对应的,...

  • 前端学习任务五

    问答 样式有几种引入方式? link 和 @import有什么区别? 有四种引入方法:1.link外链式2.@im...

网友评论

      本文标题:Python3中几种import方法的区别

      本文链接:https://www.haomeiwen.com/subject/euhsmqtx.html