python学习小结6:模块
模块:在Python中有一个概念叫做模块(module),简单地说,模块就是一个保存了Python代码的文件。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。模块文件以.py后缀结尾
import 语句
在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。
在调用math模块中的函数时,必须这样引用:模块名.函数名
>>> import math # 引入math模块
>>> print math.sqrt(4) # 调用函数必须加上模块名
2.0
from…import 语句
Python的from语句让你从模块中导入一个指定的部分到当前命名空间中, 语法: from modname import name1[, name2[, ... nameN]]
from fib import fibonacci # 导入模块 fib 中的 fibonacci 功能
from…import* 语句
把一个模块的所有内容全都导入到当前的命名空间也是可行的 语法:from modname import *
定位模块
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
- 当前目录
- 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
- 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
PYTHONPATH变量
作为环境变量,PYTHONPATH由装在一个列表里的许多目录组成。PYTHONPATH的语法和shell变量PATH的一样。
在Windows系统,典型的PYTHONPATH如下: set PYTHONPATH=c:\python20\lib;
在UNIX系统,典型的PYTHONPATH如下: set PYTHONPATH=/usr/local/lib/python
二、定义自己的模块
在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。
比如有这样一个文件test.py,在test.py中定义了函数add:
#test.py def add(a,b):
return a+b
那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然也可以通过from test import add来引入。
三、模块导入的特征:
(1)、载入时执行模块,也就是导入模块的顶层代码将会被执行,通常包括该模块内全局变量、类和函数的声明。
(2)、一个模块可被导入(import)多次,但是只加载(load)一次。
为什么要使用模块?
1、代码重用。
2、系统名字空间的划分,是组织系统组件的工具。
3、实现服务或数据的共享,只要一个模块,就可以被多个客户导入。
python 中的包
python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。
解析包机制:
每一个.py文件称为一个module,module之间可以互相导入,module可以定义在包里面,Python定义包的方式稍微有点古怪,假设我们 有一个parent文件夹,该文件夹有一个child子文件夹,child中有一个module a.py,如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为 _init_.py 的文件,该文件内容可以为空。
python学习小结6:模块的更多相关文章
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记1—模块
模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11 (module11是module的子模块) 例: ...
随机推荐
- vijos 1426
P1426兴奋剂检查 Accepted 标签:中学生论坛[显示标签] 背景 北京奥运会开幕了,这是中国人的骄傲和自豪,中国健儿在运动场上已经创造了一个又一个辉煌,super pig也不例外…… ...
- DateDiff函数 asp运算时间
DateDiff DateDiff函数 返回 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目. 语法 DateDiff(interval, date1, date2[, f ...
- RAC监听与tns
监听: 个人理解:本来想通过scan ip来配置tns总数报12545,后来通过vip来配置tns 11g rac的监听在安装时创建,由grid用户管理监听,listener.ora文件在$ORACL ...
- 【学习笔记】【C语言】自增自减
1. 简单使用 ++ 自增运算符.如a++,++a,都等价于a = a+1 --自减运算符.如a--,--a,都等价于a = a-1 5++是错误的,因为5是常量 2. ++a和a++的区别 int ...
- 8套迷人精致的CSS3 3D按钮动画
1.纯CSS3 3D按钮 按钮酷似牛奶般剔透 CSS3按钮一般都可以设计的非常漂亮,利用投影.渐变等CSS3属性特效可以把按钮渲染的十分动感.今天分享的这款CSS3按钮外观非常特别,它看上去酷似晶莹剔 ...
- ThinkPHP中的视图二
ThinkPHP中的视图 1.模板注释 在实际项目开发中,经常要使用注释功能,如果是ThinkPHP框架,则可以在模板文件中使用如下方式进行注释: {// 注释内容 } :单行注释 {/* 注释内容 ...
- hdu 1102 Constructing Roads Kruscal
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102 题意:这道题实际上和hdu 1242 Rescue 非常相似,改变了输入方式之后, 本题实际上更 ...
- NOIP 2015复赛提高组Day2 T1==Codevs 4768 跳石头
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中 ...
- [Apache] 2.2与2.4版本在设置虚拟域名时的小差别
Apache服务器配置虚拟步骤: 1.在httpd.conf中将附加配置文件httpd-vhosts.conf包含进来,接着在httpd-vhosts.conf中写入如下配置: #LoadModule ...
- keditor_php图片上传
<script type="text/javascript" src="/statics/js/kindeditor/kindeditor-min.js" ...