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 python

import time
import string
import re
import socket
import threading time.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+b
return a+b

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

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

3、使用内敛函数__import__

除了前面两种使用importkeyword的方法以外。我们还能够使用内建函数 __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实现微信支付(三种方式) 关注公众号"轻松学编程"了解更多. 如果需要python SDk源码,可以加我微信[1257309054] 在文末有二维码. 一.准备环境 1 ...

  2. Python中字符串拼接的三种方式

    在Python中,我们经常会遇到字符串的拼接问题,在这里我总结了三种字符串的拼接方式:     1.使用加号(+)号进行拼接 加号(+)号拼接是我第一次学习Python常用的方法,我们只需要把我们要加 ...

  3. python 获取表单的三种方式

    条件:urls.py文件中配置好url的访问路径.models.py文件中有Business表. 在views.py文件中实现的三种方式: from app01 improt models def b ...

  4. python之配置日志的三种方式

    以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileCo ...

  5. 【Python】蟒蛇绘制(三种方式+import用法)

    第一种方式不会出现函数重名问题,而第二种会.可以用第三种解决问题 方式一: #pythondraw.py import turtle #引用 绘制(海龟)库 turtle.setup(650,350, ...

  6. python入门学习笔记(三)

    10.函数 求绝对值的函数 abs(x) 也可以在交互式命令行通过 help(abs) 查看abs函数的帮助信息.调用 abs 函数:>>> abs(100)100>>& ...

  7. 【转】Python中执行cmd的三种方式

    原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.sys ...

  8. Python读取文件内容的三种方式并比较

    本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readl ...

  9. 通过SQL脚本导入数据到不同数据库避免重复导入三种方式

    前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题 ...

随机推荐

  1. Swift - 设置应用程序图标的提醒个数(右上角小红圈)

    使用UILocalNotification除了可以实现本地消息的推送功能(可以设置推送内容,推送时间,提示音),还可以设置应用程序右上角的提醒个数. 下面演示如何设置,效果图如下: --- AppDe ...

  2. Swift - iOS应用的国际化与本地化

    在Xcode中我们可以很方便的将APP适配各种本地化语言.苹果的框架已经帮我们把不同语言的数据分离开,包括图片,声音,视频,文档,用户界面文字(甚至代码中编写的用户界面文字),它们会被建立在同一个bu ...

  3. linux环境: shell初始化文件, for TCSH, CSH

    TCSHELL, CSHELL 配置文件 全局配置文件 /etc/csh.cshrc个人配置文件 ~/.cshrc或~/.tcshrc 参考: 1.配置你的csh/tcsh,  https://wik ...

  4. Qt之日志输出文件

    在Qt开发过程当中经常使用qDebug等一些输出来调试程序,但是到了正式发布的时候,都会被注释或者删除,采用日志输出来代替.     做过项目的童鞋可能都使用过日志功能,以便有异常错误能够快速跟踪.定 ...

  5. Git 在小团队中的管理流程(转)

    目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...

  6. SQL server语句练习

    相关表: <span style="white-space:pre">create table DEPT ( <span style="white-sp ...

  7. 监控apache虚拟主机进程

    mod_status模块能输出例如以下内容: 正在伺服请求的工作者(线程或进程)数量 空暇的工作者数量 每一个工作者的状态:已完毕的请求数.已发送的字节数.(*) 总訪问数和已发送的字节总数(*) s ...

  8. HDU4911-Inversion(树状数组)

    Inversion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  9. Delphi控件的停靠功能

    Delphi自带的许多控件都有停靠功能,而且操作非常简单,大可不必选用第三方控件.        基本上,要进行Dock操作至少需要两个组件,一个人被附着的Dock Site组件,另一个人附在Dock ...

  10. Mysql ODBC 5.1 Driver免安装脚本

    在使用Mysql 的时候,需要使用ODBC数据源的方式来连接mysql,所以常常需要用到免安装的驱动,自己参考官网的脚本, 修改了一个实用点的脚本,放出来大家一起分享: 安装mysql odbc 5. ...