模块
时间:2021-07-12
本文章向大家介绍模块,主要包括模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、什么叫做模块
- 模块的英文为Modules
- 一个模块中可以包含多个函数
- 在python中一个拓展名为.py的文件就是一个模块
二、使用模块的好处
- 方便其他程序和脚本的导入并使用
- 避免函数名和变量名冲突
- 提高代码的可维护性
- 提高代码的可重用性
三、自定义模块
1、创建模块
新建一个.py文件,名称尽量不要与python自带的标准模块名称相同
2、导入模块
import 模块名称 【as 别名】
import math #导入关于数学运算的模块 print(math) print(id(math)) print(type(math)) print('________________________________') print(dir(math)) print(math.pi) #可以发现就是Π的值 print(math.pow(2,3),type(math.pow(2,3))) #pow就是指数的意思 print(int(math.pow(2,3))) #可以发现转为int类型后就不会有小数 print(2**4) print(type(2**4)) print(math.ceil(9.0001)) #ceil:天花板,直接进不舍 print(math.floor(9.999)) #floor:地板,全部舍弃,不进
from 模块名称 import 函数 / 变量 / 类
#只导入指定的内容——pi from math import pi print(pi) 运行结果: 3.141592653589793
3、导入自定义模块
自定义模块文件calc:
#自定义模块 def Add(a,b): return a+b def Div(a,b): return a/b
调用模块文件:
#导入自定义的模块calc import calc print(calc.Add(10,30)) print(calc.Div(10,4)) from calc import Add print(Add(10,30)) 运行结果: 40 2.5 40
补充:在调用自定义模块文件时,如果报错,可以这样设置
4、以主程序形式运行
在每个模块的定义中都包含一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
模块文件:
#模块调用 def Add(a,b): return a+b print(Add(10,20))
调用文件:
#调用calc模块 import calc2 print(calc2.Add(10,50))
运行结果:
30
60
#在这里,我们可以发现,即使我们调用的是Add(10,50),但是我们在调用calc2模块的时候总会导致调用Add(10,20)。也就是会多输出一个数据
解决办法:修改calc模块文件
#模块调用 def Add(a,b): return a+b if __name__ == '__main__': #将Add(10,20)装入main中 print(Add(10, 20))
原文地址:https://www.cnblogs.com/xiaoqing-ing/p/15000756.html
- golang中发送http请求的几种常见情况
- 注册中心 Eureka 源码解析 —— Eureka-Server 启动(一)之 ServerConfig
- lua表排序
- Go语言-base64使用
- Gitcafe绑定自定义域名
- 【死磕Java并发】—- J.U.C之并发工具类:CyclicBarrier
- Android Studio快捷键
- go 切片使用小结
- 分布式事务 TCC-Transaction 源码分析 —— 项目实战
- 分布式事务 TCC-Transaction 源码分析 —— 事务恢复
- Go的语言特性总结
- 注册中心 Eureka 源码解析 —— Eureka-Client 初始化(三)之 EurekaClient
- 从一次 Snowflake 异常说起
- 分布式事务 TCC-Transaction 源码分析 —— Dubbo 支持
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 最近面试碰到的两道算法题|面试相关
- Thread也会OOM吗?
- RoundCube Webmail邮件正文存储型XSS(CVE-2015-1433)
- 再谈Android Lint
- Android DiffUtil 封装|深拷贝
- [CVE-2014-8959] phpmyadmin任意文件包含漏洞分析
- Android 统计页面渲染时长
- Transform和Task之间有关?| Gradle
- user.ini文件构成的PHP后门
- Android厂商推送Plugin化 | 掘金技术征文-双节特别篇
- 关于lnmp目录禁止执行的绕过与正确方法
- Quill编辑器自定义字体和字体大小
- emlog某重要插件前台SQL注入+Getshell
- ES6中的对象与类
- QQ某业务主站DOM XSS挖掘与分析(绕过WAF)