写点什么

python 的标准库与扩展库中对象的导入与使用

作者:乔乔
  • 2022-11-23
    辽宁
  • 本文字数:1041 字

    阅读完需:约 3 分钟

import 模块名[as 别名]

使用这种方式导入以后,使用时需要在对象之前加上模块名作为前缀,必须以“模块名.对象名”的形式进行访问。如果模块名字很长的话,可以为导入的模块设置一个别名,然后使用“别名.对象名”的方式来使用其中的对象。三个大于号是交互模式的提示符,不需要输入。

看个例子

>>> import math    #导入math库>>> import.sin(0.5)   #求解0.5的正弦值0.479425538604203>>> import random #导入random库>>> n=random.random()#获得random[0,1)的随机小数>>> n=random.randint(1,100)  #获得[0,100]区间的随机整数>>> n=random.randrange(1,100)   #获得[0,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))   #通过模块的别名来访问其中的对象>>> aarray([1,2,3,4])>>> print(a)[1,2,3,4]复制代码
复制代码

from 模块名 import 对象名【as 别名】

使用这种方式仅导入明确指定的对象,并且可以为导入的对象确定一个别名。这种导入方式可以减少查询次数,提高访问速度,减少打包后的文件大小,同时也可以减少程序员输入的代码量,不需要使用模块 名作为前缀。

>>> from math import sin   #只导入模块中的指定对象>>> sin(3)0.1411200080598672>>> from math import sin as f   #给导入的对象起个别名>>> f(3)0.1411200080598672>>> from os.path import isfile   #isfile()函数测试给定路径是否为文件>>> isfile(r'C:\windows\notepad.exe')True复制代码
复制代码

from 模块名 import*

这是上面用法的一种极端情况,可以一次导入模块中通过__all__变量指定的所有对象。

>>> from math import*    #导入标准库math中的所有对象>>> gcd(36,18)    #最大公约数18>>> pi  #常数派3.141592653589793>>> e   #常数e2.718281828459045>>> log2(8)  #计算以2为底的对数值3.0>>> log10(100)  #计算以10为底的对数值2.0>>> radians(180)     #把角度转换为弧度3.141592653589793
复制代码
复制代码

这种方式写起来比较省事,可以直接使用模块中所有对象而不需要再使用模块作前缀。但不建议这样用,会降低代码的可读性,有时很难区分自定义函数和从模块中导入的函数。另一方面,这种导入对象的方式将会导致命名空间的混乱。如果多个模块中有同名的对象,只有最后一个导入的模块中的对象是有效的,之前导入的模块中的同名对象都将无法访问,不利于代码的理解和维护。

发布于: 刚刚阅读数: 3
用户头像

乔乔

关注

平安喜乐,一切顺遂 2022-07-01 加入

一个热爱技术,热爱生活的人

评论

发布
暂无评论
python的标准库与扩展库中对象的导入与使用_11月月更_乔乔_InfoQ写作社区