常用pip命令的使用方法:
途径 | 实现功能 |
---|---|
pip download SomePackage[==version] | 下载扩展库指定版本,不安装 |
pip freeze | 以requirements的格式列出已安装模块 |
pip list | 列出当前已安装的所有模块 |
pip install SomePackage[==version] | 在线安装SomePackage模块的指定版本 |
pip install SomePackage,whl | 通过whl文件离线安装扩展库 |
pip install package1 package2… | 依次(在线)安装package1、package2等扩展模块 |
pip install -r requirements.txt | 升级requirements.txt文件中指定的扩展库 |
pip install --upgrade SomePackage | 升级SomePackage模块 |
pip uninstall SomePackage[==version] | 卸载SomePackage模块的指定版本 |
⭐ 使用这种方式导入以后,使用时需要在对象前加上模块名作为前缀,必须以“模块名.对象名”的形式进行访问
⭐ 如果模块的名字很长的话,可以为导入的模块设置 一个别名,然后使用“别名.对象名”的方式来使用其中的对象。
>>>import math #导入标准库math >>>math.sin(0.5) #求0.5(单位是弧度)的正弦 0.479425538604203
>>>import random #导入标准库random >>>n=random.random() #获得[0,1)内的随机小数 >>>n=random.randint(1,100) #获得[1,100]区间内的随机整数 >>>n=random.randrange(1,100)#获得[1,100)区间内的随机整数
>>>import os.path as path #导入标准库os.path,并设置别名为path >>>path.isfile(r'C:\Windows\notepad.exe') True
>>>import numpy as np #导入扩展库numpy,并设置别名np >>>a=np.array((1,2,3,4)) #通过模块的别名来访问其中的对象 >>>a array([1,2,3,4]) >>>print(a) [1 2 3 4]
⭐ 使用这种方式导入明确指定的对象,并且可以为导入的对象确定一个别名。
⭐ 这种导入方式可以减少查询次数,提高访问速度,同时可以减少程序员需要输入的代码量,不需要使用模块名作为前缀。
>>>from math import sin #只导入模块中的指定对象 >>>sin(3) 0.141120008059862
>>>from math import sin as f#给导入的对象起别名 >>>f(3) 0.141120008059862
>>>from os.path import isfile >>>isfile(r'C:\Windows\notepad.exe') True
⭐ 这是上面用法的一种极端情况,可以一次性导入模块中通过__all__变量指定的所有对象。
⭐ 一般不推荐这样使用:① 代码可读性降低,有时难以区分自定义函数和导入函数;② 如果多个模块中对象同名,则指由最后导入模块中的对象有效,其余则无法访问,不利于理解、维护。
>>>from math import * #导入标准库math中的所有对象 >>>gcd(36,18) #最大公约数 18 >>>pi #常数π 3.141592653589793 >>>e #常数e 2.718281828459045 >>>log2(8) #计算以2为底的对数值 3.0 >>>log10(100) #计算以10为底的对数值 2.0 >>>radians(180) #把角度转换为弧度 3.141592653589793
例如:
def main(): #def是用来定义函数的python关键字 if __name__=='__main__': #选择结构,识别当前的运行方式 print('This program is run directly.') elif __name__=='hello': #冒号、换行、缩进表示一个语句块的开始 print('This program is used as a module.') main() #调用上面定义的函数
那么通过任何方式直接执行该程序将会得到:This program is run directly.
而在使用 import hello 导入该模块时得到:This program is used as a module.