登录  /  注册

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

大家讲道理
发布: 2016-11-07 09:53:40
原创
1608人浏览过

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 stringimport reimport socketimport 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文件"
from m import plus
print plus(12,3)

print help(plus)
登录后复制

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
#!/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 除了前面两种使用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

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号