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 ...
随机推荐
- React.js 入门与实战之开发适配PC端及移动端新闻头条平台课程上线了
原文发表于我的技术博客 我在慕课网的「React.js 入门与实战之开发适配PC端及移动端新闻头条平台」课程已经上线了,文章中是目前整个课程的大纲,以后此课程还会保持持续更新,此大纲文档也会保持更新, ...
- php 中self,this的区别和实地操作
面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程,对于提高PHP编程能力和规划web开发构架都是很有意 ...
- Linux内核分析-创建新进程的过程
分析Linux内核创建一个新进程的过程 task_struct结构体分析 struct task_struct{ volatile long state; //进程的状态 unsigned long ...
- 《Linux内核设计与实现》 第三章学习笔记
一.进程 1.进程就是处于执行期的程序(目标码存放在某种存储介质上).但进程并不仅仅局限于一段可执行程序代码,通常进程还要包含其他资源.执行线程,简称线程(thread),是在进程中活动的对象. 2. ...
- 第三个Sprint冲刺第二天(燃尽图)
- octave基本指令5
octave基本指令5 控制语句 for >> v=zreos(5,1) v = 0 0 0 0 0 >> for i=1:10, > v(i) = 2^i; > ...
- Failed to execute goal org.springframework.boot
报错 [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.0.RELEASE:ru ...
- PHP和JavaScript将字符串转换为数字string2int
在看廖雪峰的JavaScript教程时,里面有一个题就是利用reduce()将string转换为int,我看评论中贴出的方法,当时觉得挺意外了,以为他只用了一行代码,即下面这行代码 var str=& ...
- C++拷贝控制
一.拷贝控制操作 当定义一个类时,显示或隐式地指定了此类型的对象在拷贝.赋值和销毁时所执行的操作,通过三个特殊的成员函数来控制这些操作,分别是拷贝构造函数,赋值运算符和析构函数.拷贝构造函数定义了 ...
- Babel安装在本地并用webstrom由ES6转Es5
1进入到根目录 2安装babel npm install babel-cli --save-dev 3安装其他库 npm install --save-dev babel-preset-env 4创 ...