Python文件的两种用途
一、Python文件的两种用途
python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。
编写好的一个python文件可以有两种用途:
- 脚本,一个文件就是整个程序,用来被执行
- 模块,文件中存放着一堆功能,用来被导入使用
# aaa.py
x = 1
def f1():
print('from f1')
def f2():
print('from f2')
f1()
f2()
# run.py
import aaa
如果直接运行run.py会直接运行aaa.py中的f1()和f2(),但是如果我们在aaa.py中加上if __name__ == '__main__':这句话,则可以防止运行run.py时执行f1()和f2()。因为当aaa.py被直接执行,即当做执行文件的时候__name__ == '__main__'; 在aaa.py被当做模块直接运行的时候__name__ == 'aaa'。由此可以让aaa.py在不同的场景下有着不同的用法。
# aaa.py
x = 1
def f1():
print('from f1')
def f2():
print('from f2')
if __name__ == '__main__':
f1()
f2()
Python文件的两种用途的更多相关文章
- python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)
一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...
- 模块导入及使用,关键字,模块搜索路径,python文件的两种用途
06.05自我总结 一.模块导入及使用 1.模块导入的两种方式 我们拿time模块并使用其中的time功能进行举例 a)第一种 import time print(time.time) import首 ...
- Python 1-3区分Python文件的两种用途和模块的搜索路径
区分Python文件的两种用途 run.py文件: import m1 m1.py文件: def f1(): print('f1') def f2(): print('f2') #当文件被执行时__n ...
- 第九章、python文件的两种用途
目录 第九章.python文件的两种用途 一.用途 第九章.python文件的两种用途 一.用途 当前运行的文件(脚本) 被导入的文件(模块) # aaa.py x = 1 def f1(): pri ...
- 模块的四种形式、 import和from...import、 循环导入问题、模块的搜索路径、 python文件的两种用途
目录 模块的四种形式 模块 模块的四种形式 import和from...import 循环导入问题 模拟问题的发生: 解决方案 模块的搜索路径 Python文件的两种用途 模块的四种形式 Nike推荐 ...
- [软件开发的目录规范、区分py文件的两种用途]
[软件开发的目录规范] 软件开发的目录规范 bin: 执行文件 conf: 存放配置文件相关代码 core: 存放源文件,业务逻辑相关代码 db: 存放数据库文件,主要用于与数据库交互 lib: 存放 ...
- 从模块到python文件的两种用法
01模块的四种形式 模块 就是从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名是test.py的话,它的对应模块名就是test) 包 用 ...
- MySQL命令执行sql文件的两种方法
MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...
- 基础知识:编程语言介绍、Python介绍、Python解释器安装、运行Python解释器的两种方式、变量、数据类型基本使用
2018年3月19日 今日学习内容: 1.编程语言的介绍 2.Python介绍 3.安装Python解释器(多版本共存) 4.运行Python解释器程序两种方式.(交互式与命令行式)(♥♥♥♥♥) 5 ...
随机推荐
- Qt多线程学习-用例子来理解多线程
文章出处:DIY部落(http://www.diybl.com/course/3_program/c/c_js/20090303/157373_3.html) POINT 1:QThread类的实例与 ...
- WebRequest请求错误(服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF)
WebRequest请求错误(服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF)解决办法,天津config文件,增加一个配置如下 <?x ...
- 长江存储32层3D NAND今年底准备好,预计2020年赶上世界前沿(有些ppt很精彩)
集微网消息(文/刘洋)2017年1月14日,首届IC咖啡国际智慧科技产业峰会暨ICTech Summit 2017在上海隆重举行.本次峰会以“匠心独运 卓越创‘芯’”为主题,集结了ICT产业领袖与行业 ...
- MotionManager 陀螺仪实现方式
题外话: 权利的游戏开播了,引用一句话: 布兰:一个人如果还把,他还能勇敢么? 奈德:人在害怕时候的勇敢,才是真的勇敢. 回归正题: 说下关于 CMMotionManage ...
- SYN5006型电机同步编码脉冲分配器
SYN5006型电机同步编码脉冲分配器 编码器信号分配板增量式编码器脉冲分配器使用说明视频链接: http://www.syn029.com/h-pd-81-0_310_13_-1.html 请将此链 ...
- chrome和safari字体粗细问题
因为我用的是mac电脑,写项目所遇到的问题,这也是我上网和手动试了多次,觉得有效,分享给大家 -webkit-font-smoothing: subpixel-antialiased; -webkit ...
- Python时间戳的一些使用
Python时间戳的一些使用 为什么写下这篇文档? 由于我本身是做Python爬虫的,在爬取网站的过程当中,会遇到形形色色的验证码,目前对于自己而言,可能简单的验证码可以进行自己识别 发现大多数的网站 ...
- 报错:java.sql.SQLException: The server
报错:java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized 在IDEA运行是报出例如相识的错误时: ...
- MethodInterceptor-方法拦截器
MethodInterceptor 方法拦截器,也就是aop拦截方法 1.使用示例 public interface MethodInterceptor extends Interceptor { O ...
- 秒懂Hash算法(一):什么是Hash
Hash函数 在一般的线性表.树结构中,数据的存储位置是随机的,不像数组可以通过索引能一步查找到目标元素.为了能快速地在没有索引之类的结构中找到目标元素,需要为存储地址和值之间做一种映射关系h(key ...