python中模块的制作
1.import 模块名
2.from 模块名 import 类名(或方法名或全局变量)
3.from 模块名 import * 导入模块名下的所有类名,方法,全局变量
4.from 模块名 import 类名(或方法名或全局变量) as 别名 原来的名称太长,给它起个别名
5.定位模块:
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
- 当前目录
- 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
- 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
- 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
6.自定义模块方法一
(1)首先认识一个变量 __name__
__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。
__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。
使用这个变量的结果可以判断是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码
例子:
# 加法运算
def my_sum(a,b):
return a+b # 1.开发完成之后需要自测
# 1.1一般需要创建一个函数 来完成自测
def main():
# 定义一个变量
ret=my_sum(10,20)
print(ret) # 书写格式一般都会这么些(开发常用于测试或者作为程序的入口)
# 默认情况下,在本模块内执行这个模块,当前的这个python的变量__name__的值为__main__
if __name__ == '__main__':
main()
7.自定义模块方法二:
(1)使用__all__,只有使用from xxx import * 的时候__all__才能产生作用。如果在一个模块中,定义了很多的类,方法,全局变量,如果使用from xxx import * 的方法使用该模块,而又不想让使用模块中的某些类,方法或者全局变量,那么就需要在该模块里写上__all__=[],在列表里写上允许导入的类,方法,全局变量,如果不在这个列表里注册,就不能使用该类,方法或者全局变量了。
__all__=["name","sum","Student"]
==================================
python中的包
(1)python中的包会有一个__init__.py模块。在python3.x没有__init__.py也可以正常使用,但是在python2.x中必须有__init__.py
(2)在包中的__init__.py中定义all=[在这里面添加你想要导入的模块名]
(3)同理在每个模块下__all__=[]添加你允许导入的类名,方法名,全局变量
(4)使用from 包名.模块名 import * 导入模块(1)(2)(3)才能生效
其他导入方法:import 包名.模块名
python中模块的制作的更多相关文章
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- [python]关于在python中模块导入问题追加总结
[背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...
- [笔记]Python中模块互相调用的例子
python中模块互相调用容易出错,经常是在本地路径下工作正常,切换到其他路径来调用,就各种模块找不到了. 解决方法是通过__file__定位当前文件的真实路径,再通过sys.path.append( ...
- Python中模块的发布与安装
模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...
- (转载)Python中模块的发布与安装
模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...
- 关于python中模块的import路径
前两天被一个同事问了一个python的问题: 为什么一个目录里的python文件引用不要另一个兄弟目录的python文件,但是这两个目录的父母录运行时是可以引用到了.当时感觉一直是模块和包的机制问题, ...
- Python中模块之time&datetime的功能介绍
time&datetime的功能介绍 1. time模块 1. 时间的分类 1. 时间戳:以秒为单位的整数 2. 时间字符格式化:常见的年月日时分秒 3. 时间元祖格式:9大元素,每个元素对应 ...
- Python中模块json与pickle的功能介绍
json & pickle & shelve 1. json的序列化与反序列化 json的使用需要导入该模块,一般使用import json即可. json的序列化 方法1:json. ...
随机推荐
- hadoop3 配置second name node
设置hdfs-site.xml <property> <name>dfs.http.address</name> <value>192.168.1.81 ...
- 概率DP (大概是最入门的题了) lightoj 1248
有一个骰子,n个面,问所有面都被摇出的期望. 转自**的博客, 因为概率是(n-k)/n 所以期望次数是1/(前面这个数) #include<cstdio> #include<a ...
- if (flag)
var flag = false;//暂停标记if (flag){ alert("aa")}else { alert("bb")}bb if (flag) = ...
- 【Python】如何处理Excel中的数据
我们平时在做自动化测试的时候,可能会涉及到从表格中去读取或者存储数据,我们除了可以使用openpyxl来操作excel,当然也可以利用pandas来完成,这篇随笔只是我在学习过程中的简单记录,其他的功 ...
- [GameOfMir说明] 从文件中随机取文本
功能: 从文件中随机取文本.格式: GETRANDOMLINETEXT 文件 字符串变量 ;==========================================;示例脚本[@Main] ...
- 刷题70. Climbing Stairs
一.题目说明 题目70. Climbing Stairs,爬台阶(楼梯),一次可以爬1.2个台阶,n层的台阶有几种爬法.难度是Easy! 二.我的解答 类似的题目做过,问题就变得非常简单.首先用递归方 ...
- ora 01704 字符串文字太长
分析sql执行失败的原因,在于没有强制指定插入字符串为clob类型,解析sql时,oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会 ...
- Java入门笔记 07-枚举类
介绍:在某些情况下,一个类的对象是有限且固定的,比如季节类,只有四个对象:春夏秋冬.这种实例有限而且固定的类,被称为枚举类.在JDK 5.0及以后,可以使用enum关键字定义枚举类,并且默认继承于ja ...
- Web基础了解版07-EL表达式-运算符-11个隐式对象
EL EL(Expression Language)是JSP内置的表达式语言,用以访问页面的上下文以及不同作用域中的对象 ,取得对象属性的值,或执行简单的运算或判断操作.EL在得到某个数据时,会自动进 ...
- mysql将主键序号置为1
ALTER TABLE tongji_article_ctr AUTO_INCREMENT=