Python使用模块中对象的几种方法

Python默认安装仅包含部分基本或核心模块,启动时也仅加载了基本模块,在需要时再显式地加载(有些模块可能需要先安装)其他模块,这样可以减小程序运行的压力,且具有很强的可扩展性。Python中导入模块的方法主要有:

(1)import 模块名 [as 别名]

使用这种方式导入以后,使用时需要在对象之前加上模块名作为前缀,也就是必须以“模块名.对象名”的方式进行访问。也可以为导入的模块设置一个别名,然后就可以使用“别名.对象名”的方式来使用其中的对象了。

>>> import math

>>> math.sin(0.5) #求0.5(单位是弧度)的正弦

0.479425538604203

>>> import random

>>> x = random.random() #获得[0,1) 内的随机小数

>>> n = random.randint(1,100)#获得[1,100]区间上的随机整数

>>> import numpy as np #导入模块并设置别名

>>> a = np.array((1,2,3,4)) #通过模块的别名来访问其中的对象

>>> a

[1 2 3 4]

(2)from 模块名 import 对象名[ as 别名]

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

>>> from math import sin #只导入模块中的指定对象

>>> sin(3)

0.1411200080598672

>>> from math import sin as f #给导入的对象起个别名

>>> f(3)

0.141120008059867

(3)上面第二种用法比较极端的情况是一次导入模块中所有对象,例如:

>>> from math import *

>>> sin(3) #求正弦值

0.1411200080598672

>>> gcd(36, 18) #最大公约数

18

这种方式简单粗暴,虽然写起来比较省事,可以直接使用模块中的所有函数和对象而不需要再使用模块名作为前缀,但一般并不推荐使用。如果多个模块中有同名的对象,这种方式将会导致只有最后一个导入的模块中的同名对象是有效的,而之前导入的模块中该对象无法访问。

最后,作为一个建议或者约定俗成的习惯,每个import语句只导入一个标准库或扩展库,并且最好按照标准库、扩展库、自定义库的先后顺序进行导入

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2016-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rgc

scrapy回调函数传递参数

scrapy.Request 的callback传参的两种方式 1.使用 lambda方式传递参数 def parse(self, response): ...

2793
来自专栏小樱的经验随笔

【python进阶】深入理解系统进程2

2684
来自专栏Python中文社区

每天一个Linux命令:grep

grep 简介 grep (global search regular expression(RE) and print out the line,全面搜索正则...

1965
来自专栏运维技术迷

Python:获取目录下指定后缀的文件

os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 获取当前目录下指定后缀的文件 #!/usr/bin/env python #c...

5879
来自专栏vue学习

45、MongoDB—增、删、改、查

我们这里新建一个user集合(表),然后插入一条id为1,name为Ewall的数据行。

862
来自专栏编程

Python模块知识8:configparser、压缩模块

一、configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件。 文件格式如: ? 1.基本的读取配置文件 ...

1876
来自专栏linux驱动个人学习

地址无关码

通过上一节的介绍我们已经基本了解了动态链接的概念,同时我们也得到了一个问题,那就是:共享对象在被装载时,如何确定它在进程虚拟地址空间中的位置?为了实现动态链接,...

1532
来自专栏大内老A

ASP.NET Core管道深度剖析(4):管道是如何建立起来的?

在《管道是如何处理HTTP请求的?》中,我们对ASP.NET Core的请求处理管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管...

1906
来自专栏菩提树下的杨过

maven: 打包可运行的jar包(java application)及依赖项处理

IDE环境中,可以直接用exec-maven-plugin插件来运行java application,类似下面这样: 1 <plugin> 2 <g...

2249
来自专栏小樱的经验随笔

【批处理学习笔记】第十六课:语句结构(2)

for语句(循环结构)     for语句可以实现类似于C语言里面的循环结构,当然for语句的功能要更强大一点,通过不同的开关可以实现更多的功能。for语句有多...

3154

扫码关注云+社区

领取腾讯云代金券