Python 有三种模块导入函数

1、 使用import 导入模块

import modname : 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。
用import语句导入模块,就在当前的名称空间(namespace)建立了一个到该模块的引用.这种引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包含模块的名字。所以不能只使用 funcname,而应该使用 modname.funcname.

注意:可加入下面的使Python支持中文注释

#coding:gbk或#coding:utf-8或##-*- coding : gbk -*-

导入系统的模块

比如我在家目录下创建一个m.py的文件,我们导入了许多的系统模块,比如time,string等等。这边就类似c++里面的include

#!/bin/env pythonimport time
import string
import re
import socket
import threadingtime.sleep(10)print "java"

导入私有的模块

m.py文件

#!/bin/env python
#coding:gbk
#coding:utf-8
#上面的加载是支持中文注释
def plus(a ,b):#"""XXX""" 是函数的说明或使用"""this is a test +"""a = a+breturn a+b

使用import 加载m.py模块加载

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"导入Python文件"
import mprint m.plus(12,3)print help(m.plus)

2、 from modname import * 模式加载模块

from modname import funcname 
from modname import fa, fb, fc 
或者  from modname import * 
与第1种方法的区别:funcname 被直接导入到本地名字空间去了,所以它可以直接使用,而不需要加上模块名的限定 
* 表示,该模块的所有公共对象(public objects)都被导入到 当前的名称空间,也就是任何只要不是以”_”开始的东西都会被导入。 
modname没有被定义,所以modname.funcname这种方式不起作用。并且,如果funcname如果已经被定义,它会被新版本(该导入模块中的版本)所替代。如果funcname被改成指向其他对象,modname不能不会觉察到。 
建议:

1)如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import 
2)如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import 
3)如果模块包含的属性和方法与你的某个模块同名,你必须使用import module来避免名字冲突 
4)尽量少用 from module import * ,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"另外一种导入Python文件"
from m import plusprint plus(12,3)print help(plus)

3、使用内敛函数__import__

除了前面两种使用import关键字的方法以外,我们还可以使用内建函数 __import__() 来导入 module。两者的区别是,import 后面跟的必须是一个类型(type),而__import__() 的参数是一个字符串,这个字符串可能来自配置文件,也可能是某个表达式计算结果。例如 
mymodule = __import__ (’module_name’) 
附注: 
1)模块的内容都放在一个模块文件中,如 mymodule 的内容应该放在PYTHONPATH 目录下的一个mymodule.py中,C实现的除外 
2)包可以将几个模块名称空间组织起来, 如A.b 就表示在包A中的一个子模块b

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模块导入指定Python文件的路径"
import sys
sys.path.append("./")
"另外一种导入Python文件"
my = __import__("m")print my.plus(12,3)print help(my.plus)

参考资料:

1、http://www.cnblogs.com/allenblogs/archive/2011/11/15/2055149.html
2、http://blog.csdn.net/chenguolinblog/article/details/11521611

python 入门学习---模块导入三种方式及中文注释相关推荐

  1. 【Python问题】Python 导入模块的三种方式ModuleNotFoundError: No module named ‘模块名‘

    Python 导入模块的三种方式ModuleNotFoundError: No module named '模块名' 问题 一.Python解释器查找模块文件的过程. 二.解决方法 记录一下 大家可以 ...

  2. Python实现微信支付(三种方式)

    Python实现微信支付(三种方式) 微信.支付宝二维码聚合SDK下载 点我下载 关注公众号"轻松学编程"了解更多. 如果需要python SDk源码,可以加我微信[1257309 ...

  3. 用python打开文件夹的三种方式

    用python打开文件夹的三种方式 一.利用explorer.exe import os# 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.sys ...

  4. python生成excel文件的三种方式

    在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel.当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库 ...

  5. 【推荐收藏 】Python写入MySQL数据库的三种方式,最后一种方式方便又高效

    大家好,Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常普遍的,主要涉及到 python 操作数据库,读写更新等,数据库可能是 mongodb. es,他们的处理思路都是相似 ...

  6. Python处理mat文件的三种方式小结

    文章目录 处理mat文件的三种方式 scipy h5py mat73 python操作.mat文件 python读取.mat格式 mat转图片 处理mat文件的三种方式 读书的时候,处理数据都是采用m ...

  7. python交并补符号_三种方式实现 Python 中的集合的交、并、补运算-阿里云开发者社区...

    三种方式实现 Python 中的集合的交.并.补运算 一 背景 集合这个概念在我们高中阶段就有所了解,毕业已多年,我们一起回顾一下几个集合相关的基本概念吧? 集合是指具有某种特定性质的具体的或抽象的对 ...

  8. python解析json数据的三种方式

    目录 1.运用re.json.jsonpath包解析json思路 2.三种方式的json解析案例 (1)运用re正则表达式解析json (2)运用字典的数据结构性质解析json (3)运用jsonpa ...

  9. 深度学习未来的三种方式

    来源:海豚数据科学实验室 深度学习的未来在于这三种学习模式,而且它们彼此之间密切相关: 混合学习--现代深度学习方法如何跨越监督学习和非监督学习之间的边界,以适应大量未使用的无标签数据? 复合学习-- ...

最新文章

  1. AudioManager播放音乐
  2. PHP数组操作——获取数组最后一个值的方法
  3. 微型计算机可避免强磁场干扰,微型计算机测控系统抗干扰技术
  4. 聚焦LS-MIMO的四大层面,浅谈5G关键技术
  5. Python 实现视频爬取下载及断点续传优化、异步下载
  6. WSL2 下的 Docker 配置,使用网易云镜像 + 更改 docker 文件系统(否则无法 apt update)
  7. node.js 与 nvm安装教程
  8. WPF学习之数据绑定
  9. rvm,ruby的安装
  10. 让人头疼的吃鸡外挂,一起来逆向分析一波
  11. android三星s8底部菜单,三星Galaxy S8/S8+国行获更新:导航栏可隐藏/视野更宽阔
  12. Centos7.4-docker安装部署实战
  13. 关于学习如何组装基于F4V3S飞控的竞速穿越机
  14. NEON优化:性能优化常见问题QA
  15. JAVA开发离线语音识别
  16. lib25519:用于X25519加密系统和Ed25519签名系统的密码学库
  17. EasyBCD 2.2 Beta(Build 180)多语言官方免费版
  18. 在一台win10系统的电脑里安装虚拟机运行CentOS7并实现nginx反向代理从而用域名访问本机的微服务项目
  19. 简单分形(谢尔宾斯基三角形和地毯)
  20. 怎么连接局域网内和本地的打印机(例:LBP2900 )

热门文章

  1. 【Vue】vuex mapState和mapGetters
  2. 1.4CAD2017绘图基础
  3. 麦芽糖-聚乙二醇-顺铂 cisplatin-PEG-maltose
  4. 如何测试计算机卡不卡,怎么测试电脑玩吃鸡卡不卡 测试电脑玩绝地求生卡不卡方法...
  5. CentOS 安装 安全狗
  6. outlook2016邮箱怎么修改密码
  7. 网站缩略图在线生成器源码最新美化版两种样式图,素材,源码站缩略图站长必备
  8. 固态硬盘和机械硬盘有什么区别呢?
  9. Android:JNI与NDK(四) Shell脚本的学习以及交叉编译libjpeg图片处理库
  10. 我们到底该如何看待6G?