Day 07 PIP & import 入门

在讲这篇的主题前,先来稍微说说为什麽 Python 会在 2018 年开始起飞成为第二热门语言的(忘记的回去看 Day 01 )。

其实 Python 会起飞的原因主要是 AI 开始热门起来,因为相较於其他有名的程序语言,例如较古老的 C(1992~Now) 跟较年轻的 Java(1995~Now) , Python(1991~Now) 有个方便的软件包管理系统 — PIP(2011~Now) ,让我们可以使用其他人做好的软件包快速的架构出自己的应用,也可以将自己做好的软件包发布出去供其他人使用;加上语法相对简单,所以导致了在 AI 应用上更加偏好使用 Python 。

而 PIP 跟 import 关系非常密切,所以就放在一起讲了。

PIP

那麽好用的 PIP 要怎麽安装呢?嗯,其实不用安装( Python 3.4 以上都能正常使用),因为 Day 02 在安装 Python 的时候已经包在里面一起安装好了(至少 Windows 是这样)。

既然不用担心怎麽安装,那就直接来看怎麽使用吧!首先打开 CMD,会出现下图(位置不一样没关系),并打上 pip --version 後按下 Enter

应该会看到版号 21.1.1 (版号不一样没关系,有就好)。

确定PIP有安装好了之後,如果要安装其他模组,只要输入以下指令 pip install <name> ,就可以安装模组了。例如:

$ pip install beautifulsoup4

如果要解除安装也可以,只要输入 pip uninstall <name> 就可以了。例如:

$ pip uninstall beautifulsoup4

import(入门)

使用PIP安装好模组之後,就可以使用该模组了。而将模组导入使用的方法是把模组 import 进来,

import 进来的语法有两种,分别为:

  1. import <module>

    ''' Input '''
    import random
    
    # 使用 random 模组里面的 randint 函式 (random 是Python标准库 不用特别安装)
    print(random.randint(0,10))
    
    ''' Output '''
    2
    

    语法1 因为式将整个模组 import 进来,所以在呼叫 Module(模组) 里的 Function(函式) 时必须将所属的 Module(模组) 加在前方,并且中间加 . (是英文句号,不是逗号)。

  2. from <module> import <name1, name2, ...>

    ''' Input '''
    # 导入 random 模组里面的 randint 函式
    from random import randint
    
    print(randint(0,10))
    
    ''' Output '''
    2
    

    语法2 因为直接将 Function(函式) 导入,所以不需要将所属的 Module(模组) 加在前方了。不过若是想要使用 Module(模组) 下的另一个 Function(函式),就必须在 import 後方再加另一个 Function(函式) 的名称了。

    - 语法2 的变形(不推荐)
    from <module> import *

    用这种方式可以 import module 里面所有的 function,而且也不用再使用时前面加 module 名称。但是可能会造成名称冲突且降低可读性和可维护性(就是说可能会产生隐藏的 Bug ,而且是最难解、几乎看不出来的那种)。

* 如果 import Function 的名称会跟现在的地方有冲突,可以使用 as <new_name> 来改名,例如:

import random as rd
# or 
from random import randint as rd_int

这样用 as 改名就可以避免名字跟现在的地方有冲突(虽然 as 的用途包括但不仅限於用在 import 上面)。

题外话

在 PEP8 中有对於导入模组的顺序有相关的建议,不过其实不太会有人花很多的精力去看 import 这部分,所以要不要照着建议就自己衡量一下吧。

Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.

Imports should be grouped in the following order:

  1. Standard library imports.
  2. Related third party imports.
  3. Local application/library specific imports.

You should put a blank line between each group of imports.

导入总是放在文件的顶部,就在任何模块注释和文档字符串之後,以及模块全局变量和常量之前。

进口应按以下顺序分组:

  1. 标准库导入。
  2. 相关的第三方进口。
  3. 本地应用程序/库特定的导入。

您应该在每组导入之间放置一个空行。

那麽就大概这样,这篇主要是让你了解如何 import 而已。

大家掰~掰~


<<:  自动化测试,让你上班拥有一杯咖啡的时间 | Day 8 - 用 beforeEach 归纳重复行为

>>:  Multidimensional Scaling(MDS)

前言与介绍

前言 大家好,我是赖沅承,是一名来自台北市立南港高级中学的学生,我从高中开始加入了数位科学实验班,才...

[Day30] 总结 - 铁人带给我了什麽?

很开心能走到这一天!日更真的是不太容易,期望自己下次能有些库存之後,再来参加 XD。 为什麽挑战写铁...

{DAY 2} 如何处理一笔数据?(上)

大家一定都听过数据分析 让我们先来看一笔实际的数据 点开kaggle上随意一笔csv档 (资料来源:...

ISO OSI 参考模型的数据链路层(Data Link layer)-逻辑链路控制(logic link control)

-图片来源:TelecomWorld 101 ISO OSI 参考模型的数据链路层从 IEEE 的...

# Day 15 Cache and TLB Flushing Under Linux (summary)

今天来做个文件的总结吧! 这篇文件 Cache and TLB Flushing Under Lin...