Python中的对象大概可以分为三类:内置对象、标准库对象和扩展库对象。其中内置对象是直接编译进解释器的可以直接使用,没有对应的Python源代码;标准库对象是随Python安装的,但是需要导入才能使用,相应的Python源代码在安装目录中的Lib目录中;扩展库需要单独安装之后再导入才能使用,其Python源代码在安装目录的Lib\site-packages目录中,也有一些扩展库的核心代码编译成为dll或pyd的动态链接库。关于扩展库的安装请参考Python扩展库安装工具pip的高级用法和Python安装扩展库与打包成exe可执行文件的方法

本文重点介绍标准库对象和扩展库对象的导入和使用。

1)import 模块名 [as 别名]

使用这种方式导入以后,使用时需要在对象之前加上模块名作为前缀,必须以“模块名.对象名”的形式进行访问。如果模块名字很长的话,可以为导入的模块设置一个别名,然后使用“别名.对象名”的方式来使用其中的对象。
>>> import math     #导入标准库math
>>> math.sin(0.5)    #求0.5(单位是弧度)的正弦
0.479425538604203

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

>>> from math import sin    #只导入模块中的指定对象
>>> sin(3)
0.1411200080598672
>>> from math import sin as f    #给导入的对象起个别名
>>> f(3)
0.1411200080598672

3)from 模块名 import *

这是上面用法的一种极端情况,可以一次导入模块中通过__all__变量指定的所有对象。
>>> from math import *  #导入标准库math中所有对象
>>> sin(3)   #求正弦值
0.1411200080598672
>>> gcd(36, 18)   #最大公约数
18

4)模块导入时的搜索路径

不管以哪种形式导入模块并使用其中的对象,Python首先在当前目录中查找需要导入的模块文件,如果没有找到则从sys模块的path变量所指定的目录中查找,如果仍没有找到模块文件则抛出异常提示模块不存在。可以查看sys模块中path变量的值来获知Python导入模块时搜索模块的路径,也可以使用append()方法向其中添加自定义的文件夹以扩展搜索路径。

Python还支持从zip文件中导入模块。假设当前文件夹中有个内含Vector3.py文件的testZip.zip文件,首先导入sys模块,然后执行sys.path.append(‘testZip.zip’),然后即可导入Vector3.py文件作为模块来使用。
>>> import sys
>>> sys.path.append('testZip.zip')
>>> import Vector3
>>> Vector3.__file__    #查看已导入模块对应的程序文件
'testZip.zip\\Vector3.py'

Python导入标准库和扩展库对象的几种方式相关推荐

  1. python导入图片数据_Python中读取图片的6种方式

    Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...

  2. 微课|玩转Python轻松过二级(1.6节):导入和使用标准库、扩展库对象

    适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第1章  Python概述 1.6  标准库与扩展库对象的导入与使用 图书购买链接 京东:https://i ...

  3. 微课|中学生可以这样学Python(1.5节):标准库与扩展库对象的导入

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第1章  Python概述 1.5  标准库与扩展库对象的导入和使用 京东购买链接:https:/ ...

  4. python android 扩展库,Python模块进阶、标准库、扩展库

    模块进阶 Python有一套很有用的标准库(standard library).标准库会随着Python解释器,一起安装在你的电脑中的. 它是Python的一个组成部分.这些标准库是Python为你准 ...

  5. php mhash,PHP加密扩展库-Mhash扩展库实例用法详解

    PHP加密扩展库-Mhash扩展库 什么是Mhash扩展库:Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启.mhash的可以用于创建校验数值,消息摘要,消息认证码, ...

  6. java 给对象创建实例_Java中创建(实例化)对象的五种方式

    Java中创建(实例化)对象的五种方式1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反 ...

  7. 获取Class对象的三种方式

    获取Class对象的三种方式 Object --> getClass() 通过对象.getclass 任何数据类型(包括基本数据类型)都有一个"静态"的class属性 通过类 ...

  8. JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取

    创建连接对象的三种方式 //第一种方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/m ...

  9. java反射之获取class对象,Java之反射机制(获取Class对象的三种方式)

    Java之反射机制(获取Class对象的三种方式) 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-14 如何得到各个字节码对应的实例对象? 每个类被加 ...

  10. java class 生成对象_Java反射机制(创建Class对象的三种方式)

    1:SUN提供的反射机制的类: java.lang.Class java.lang.reflect.Constructor java.lang.reflect.Field java.lang.refl ...

最新文章

  1. 以太网控制芯片DM9000在2440裸机上终于能正确接收数据了(源代码工程已经上传)...
  2. 美团外卖持续交付的前世今生
  3. 近期期刊制作组的工作计划
  4. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis
  5. QDir的mkdir和mkpath区别
  6. 流水灯verilog实验原理_流水灯实验
  7. java中tcp传图片_Java学习之TCP上传图片
  8. 基于MNIST数据集的最优参数的方法的比较
  9. UPS电源知识(开发板销售http://huarm.taobao.com/ )
  10. 环比同比YOY\QoQ及QQ\PP图Q-Q\P-P…
  11. HANA 基础SQL和SQLScript
  12. java 天气api_基于JAVA的免费天气预报接口查询
  13. Linux环境下搭建Apache服务器(完整版)
  14. rabbit MQ的rpc功能详解
  15. Tensorflow选择CPU或GPU运行
  16. Ffmpeg音频转码 卡顿(MP2转AAC)
  17. 自定义HikariCP连接池
  18. Eclipse+Pydev搭建Python开发环境教程
  19. 计算机一级云居寺,刁常宇-Zhejiang University Personal homepage
  20. HiBench算法简介

热门文章

  1. nginx 过滤post报文 防火墙_十八般武艺之Nginx踩坑总结
  2. 计算机xp的解释,2017职称计算机考点:Windowsxp系统注册表的技巧
  3. kbhit linux windows通用,linux模拟windows的kbhit
  4. linux下抓包工具 wireshark,网络抓包工具Wireshark的简单使用
  5. java 参数内存释放_JNI创建变量和释放变量
  6. 系统集成的系统架构图的相关的vsd素材_信息系统集成专业技术知识:软件架构...
  7. mysql自增主键查询及auto_increment修改。
  8. ReactNative之Flex布局总结
  9. Jsp Servlet Mysql实现的学生成绩管理系统
  10. svn .a文件上传不了