module模块和包(十七)
在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。
为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。
这也是使 用 python 标准库的方法。
模块一共三种:
1.python标准库
2.第三方模块
3.应用程序自定义模块
作用:
1. 执行对应的文件
2.引入文件的变量
import 会将导入的文件代码执行一遍,故我们只在对应的文件中定义函数,不做逻辑上的一些执行语句
一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
support.py 文件代码 #!/usr/bin/python3
# Filename: support.py def print_func( par ):
print ("Hello : ", par)
return
test.py 文件代码 #!/usr/bin/python3
# Filename: test.py # 导入模块
import support # 现在可以调用模块里包含的函数了
support.print_func("Runoob")
*****************************************************
# test.py
import cal
print(cal.add(3,5))
# cal.py
print('cal1')
def add(x,y):
return x + y def sub(x,y):
return x - y
print('cal2')
输出:
cal1
cal2
8
也可以用
from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中
from cal import add
# test.py
#import cal
from cal import add
print(add(3,5))
from cal import *
# test.py
#import cal
from cal import * # 引用所有,不推荐使用
print(add(3,5))
sys.path
# test.py
import sys
print(sys.path) # path 是一个列表,里面是一些路径,找变量的时候就是按照里面的顺序去寻找
'''
['F:\\Python3\\module_test', # 可执行文件的路径
'F:\\Python3',
'C:\\Users\\xiangtingshen\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
'C:\\Users\\xiangtingshen\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
'C:\\Users\\xiangtingshen\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
'C:\\Users\\xiangtingshen\\AppData\\Local\\Programs\\Python\\Python37-32',
'C:\\Users\\xiangtingshen\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages',
'C:\\Program Files\\JetBrains\\PyCharm 2017.3\\helpers\\pycharm_matplotlib_backend'] '''
module模块和包(十七)的更多相关文章
- module模块和包
import 和 from 调用 module 目录有calc.py 和 test.py 两个文件 calc.py文件内容: def add(x,z): return x+z def sub(x,z ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- python模块与包的导入
1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module packag ...
- python模块及包的导入
一.模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc".&q ...
- python 深入模块和包
模块可以包含可执行语句以及函数的定义. 这些语句通常用于初始化模块. 它们只在 第一次 导入时执行.只在第一次导入的时候执行,第一次.妈蛋的第一次...后面再次导入就不执行了. [1](如果文件以脚本 ...
- Python中的模块与包
标准库的安装路径 在import模块的时候,python是通过系统路径找到这些模块的,我们可以将这些路径打印出来: >>> pprint.pprint(sys.path) ['', ...
- Python类、模块、包的区别
类 类的概念在许多语言中出现,很容易理解.它将数据和操作进行封装,以便将来的复用. 模块 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能 ...
- python学习笔记13(模块、包)
在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 模块文件以.py后缀结 ...
- python模块与包加载机制
模块的搜索路径: When a module named spam is imported, the interpreter searches for a file named spam.py in ...
随机推荐
- Windows10 家庭版 Docker的安装
Docker的安装 1.简介:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全 ...
- python 批量下载图片
#coding=utf-8import re,sysimport urllib def getHtml(url): page = urllib.urlopen(url) html = page.rea ...
- iOS APP 中H5视频默认全屏播放问题解决
问题描述:在Android中,视频可以正常在H5页面局部播放,iOS中则自动切换至全屏模式. 查看资料得以解决,20190301记录下来. 解决方法:IOS10及以后,在 video标签页中只包含 w ...
- first time to use github
first time to use github and feeling good. 学习软件工程,老师要求我们用这个软件管理自己的代码,网站是全英的,软件也简单易用,方便 https://githu ...
- Java Swing 实现系统托盘图标
在实现托盘图标时,出现弹出式菜单显示中文乱码,无法显示正确的文字 查询相关资料后发现是字符编码不匹配,查询资料出处 解决方法 1.通过修改Java项目的默认编码为GBK: 2.在Run Configu ...
- css3-弹性盒模型
first <style> .box{width:1024px;height:100px; border:5px solid black; padding:10px; display:-w ...
- Apache Shiro Session Management
https://shiro.apache.org/session-management.html#session-management https://shiro.apache.org/session ...
- mysql distinct 去重
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- SQLserver 一种简单的GUI方式创建DBlink copy 表数据的方法
1. 在sqlserver 上面使用GUI的方式创建dblink 首先打开查询分析器 在如下的位置处右键 -新建连接服务器 输入需要copy数据的服务器 输入ip地址 然后建立连接 在打开查询分析器进 ...
- 请求与响应编码及jsp基本原理
1.请求转发和请求包含 (1)请求转发: this.getServletContext().getRequestDispatcher("").forward(request,res ...