Python笔记(二十九)_模块
模块
在Python中,一个.py文件就是一个模块
if __name__ == '__main__':所有模块都有一个 __name__ 属性,__name__ 的值取决于如何应用模块
run当前文件时,__name__ 属性的值是 '__main__',此函数被执行;
*可用于调试当前文件中的函数
当前文件被其他模块调用时,__name__ 属性的值是该模块的名字,此函数不会被执行;
*可以直接被第三方调用
也是因为此,要注意模块被调用时会加载模块,导致这个模块被“执行”,所以要将功能代码块放入main函数,而将函数和模块定义放在模块顶层
导入模块的方式:
直接导入模块的全部属性:import module1 / import module1 as m
导入指定模块属性:from module import name1,name2
搜索路径
导入模块时Python的搜索路径
一般情况下,当模块存放路径与Python.exe文件路径一致时,可以导入成功
最好是将模块都归纳在专门存放模块的site-packages文件夹下
除了以上两种情况,还可以将模块路径添加到Python的搜索路径中去
import sys
sys.path #查看Python的搜索路径
sys.path.append('c:\\***\\***')
包
包是一个有层次的文件目录结构,当一个文件夹中含有一个名为__init__.py(可为空)的文件时,这个文件夹就被称为包,文件夹的名称就是包的名称
用import 包名.模块名来导入包中的模块
Python笔记(二十九)_模块的更多相关文章
- Python笔记(二十六)_魔法方法_属性的魔法方法
属性的魔法方法 __getattribute__(self,name):当该类的属性被访问时,自动触发,是最先被触发的属性方法 __setattr__(self,name,value):当一个属性被设 ...
- Python笔记(二十四)_魔法方法_运算符的魔法方法
算数运算方法 .反运算方法 以对象A+对象B为例,都是将A作为self值,而B作为other值传入__add__(self,other)方法: 当用户输入A+B,就会调用重写的add方法: >& ...
- Python笔记(二十八)_魔法方法_迭代器
迭代器用于遍历容器中的数据,但它不是容器,它是一个实现了__next__方法的对象 与迭代器相关的内置函数: iter(): 将一个对象转换成一个迭代器 next(): 访问迭代器中的下一个变量,直到 ...
- Python笔记(二十五)_魔法方法_描述符
描述符的属性方法 __get__(self, instance, owner): 用于访问属性,返回属性的值 __set__(self, instance, value): 用于给属性赋值时,返回属性 ...
- Python笔记(二十二)_魔法方法_基本魔法方法
__init__(self[,...]) __init__和__new__组成python的构造器,但__init__更多的是负责初始化操作,相当于一个项目中的配置文件,__new__才是真正的构造函 ...
- Python笔记(二十)_多态、组合
多态 对于函数中的变量,我们只需要知道它这个变量是什么类,无需确切地知道它的子类型,就可以放心地调用类的方法,而具体调用的这个方法是作用在父类对象还是子类对象上,由运行时该对象的确切类型决定,这就是多 ...
- 笨办法学Python(二十九)
习题 29: 如果(if) 下面是你要写的作业,这段向你介绍了“if语句”.把这段输入进去,让它能正确执行.然后我们看看你是否有所收获. people = 20 cats = 30 dogs = 15 ...
- angular学习笔记(二十九)-$q服务
angular中的$q是用来处理异步的(主要当然是http交互啦~). $q采用的是promise式的异步编程.什么是promise异步编程呢? 异步编程最重要的核心就是回调,因为有回调函数,所以才构 ...
- Java学习笔记二十九:一个Java面向对象的小练习
一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...
随机推荐
- goaccess实现nginx实现日志可视化
一:goaccess模块 goaccess模块是将nginx的日志定向到goaccess模块里实现,原理很简单,只要将文件定向到那里就可以,goaccess是已经集成好显示数据的一个页面,非常的美观和 ...
- MFC学习笔记3---使对话框风格与系统统一
有一件郁闷了我很久的事情,在VS中编辑对话框或者点击预览时都是以Win7风格体现的按钮及对话框: 点击上图测试对话框: 然而生成的应用程序却是这样的: 这样人很不爽啊,按钮风格回到了N年前的版本,复古 ...
- 基于FastDFS在SpringBoot上的上传与下载
方法: 1.在application.properties里设置参数,其中tracker-list是tracker的端口 fdfs.so-timeout= fdfs.connect-timeout= ...
- Extjs中如何在一行textfield后面增加文字提示
添加监听事件: listeners: { render: function(obj) { var font=document.cre ...
- POJ-2516-Minimum Cost(网络流, 最小费用最大流)
链接: https://vjudge.net/problem/POJ-2516 题意: Dearboy, a goods victualer, now comes to a big problem, ...
- man da'te
DATE(1) 用户命令 DATE(1) 名称 日期-打印或设置系统日期和时间 简介 date [OPTION]... ...
- PageOffice修改注册码升级版本
java: 删除pageoffice.jar所在目录(一般是WEB-INF/lib)下的license.lic文件(若服务器运行时找不到该文件,可在浏览器地址栏里面通过localhost方式访问pos ...
- 【SaltStack官方版】—— states教程, part 4 - states 说明
STATES TUTORIAL, PART 4 本教程建立在第1部分.第2部分.第3部分涵盖的主题上.建议您从此开始.这章教程我们将讨论更多 sls 文件的扩展模板和配置技巧. This part o ...
- 【bzoj 4554】【Tjoi2016&Heoi2016】【NOIP2016模拟7.12】游戏
题目 分析 当没有石头的时候,就用二分图匹配来做. 但现在加入了石头, 所以,求出每行和每列联通快的个数,如果有一块平地,包括在某个行联通块以及某个列联通块中,连边. //无聊打了网络流,匈牙利也可以 ...
- LeetCode--072--编辑距离(python)
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符示例 1: 输入: ...