初学者python笔记(模块篇)
现在Python这门编程语言是越来越火了,其中的一个主要原因就是Python中有各种各样的模块,这是其他很多编程语言中都没有的。Python中这些模块都各有其功能,需要的时候直接导入就可以,简直不要太方便
模块是什么
- 模块的本质: 就是一个保存特定函数的py文件
所以要做一个模块,拿一个空py文件,然后写入各种函数就行了,
像这样,在模块里定义各种函数就可以了,这里定义的就是一个两数加法运算和减法运算的函数
导入模块的三种方法
- 正常导入
import cal,time,turtle #连续导入3个模块
- from方法
from cal import * #这样会导入模块内所有的方法
from cal import add #只导入cal模块内的add方法
#该方法再调用模块内方法时就不需要带模块名,而直接使用
- 使用路径导入
from my_module import cal #这样会导入模块内所有的方法print(cal.add(3,8)) #调用cal这个模块下的函数
print(cal.sub(3,8))
#其中,my_module是与源文件同路径下的一个目录,即采用相对路径
4、导入上级目录
首先sys.path的作用是:当使用import语句导入模块时,解释器会搜索当前模块所在目录以及sys.path指定的路径去找需要import的模块
所以改变思路,直接把上级目录加到sys.path里:sys.path.append(’…/’)
from fatherdirname import xxx
包的概念
实质上就是存放各种模块的一个目录
引入了包之后,只要顶层的包名不与其他包冲突,那所有的模块就不会冲突。
如果有个包名叫pcak_one,包下面还有一个包叫pack_two,里面有个py模块叫add.py,那当你引入了包以后,add.py的名字就变成了pack_one.pack_two.add.py,简单来说就是一层一层的关系。
每一个包目录下面都会有一个__init__.py文件,否则python就会把该包目录当成一个普通文件夹,而不是一个包。
init.py本身就是一个模块,它的模块名就包的名字,调用包就是执行包下的__init__.py文件。
如图
这就是一种多个包的嵌套,web, web1, web3都是包名,cal.py是模块名
包的导入
或者也可以这样:
from web.web1.web3.cal import add #这样会导入模块内的add方法
两个补充知识
- sys.path方法
import sys
print(sys.path) #查看所有执行文件的路径,这其中就包括了你自己导入的包的路径
- __init__是使用
调用模块时,在 if name == ‘main’: 下执行可以有效防止无意的嵌套调用,这也是很多Python编程者是一种编程习惯
初学者python笔记(模块篇)相关推荐
- 初学者python笔记(装饰器后篇:登陆验证)
装饰器有非常强大的功能,可以不修改函数源代码和调用方式,就给函数加上了对应想要的功能,简直就是 修饰函数的利器. 上一篇文章:初学者python笔记(装饰器.高阶函数.闭包)已经非常详细的剖析了装饰器 ...
- 初学者python笔记(类的继承与多态---详解)
文章目录 一.类的组合与继承的区别 二.类的继承 1.继承的功能分析 2.类的继承之派生.接口继承 3.用接口模块abc来实现接口继承 4.使用接口继承的好处 5.类的继承顺序 6.在子类中调用父类的 ...
- 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)
文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...
- 初学者python笔记(静态属性、类方法、静态方法、类的组合)
文章目录 类的三大方法 1.静态属性 2.类方法.静态方法 3.三大方法总结 类的组合 1.用法分析 2.面试案例分析 本篇文章是上一篇:初学者python笔记(面向对象编程.类与对象)的后续篇,是关 ...
- 初学者python笔记(装饰器、高阶函数、闭包)
一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...
- 初学者python笔记(内置函数_2)
这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...
- 初学者python笔记(列表的食用方法)
本篇是关于可迭代对象中的列表一些相关使用方法的记录. 可迭代对象简单描述:可以被for循环执行的对象(字符串,列表,元组,字典-) input()方法接收的其实只是字符串 a = input(&quo ...
- 初学者python笔记(re模块、正则表达式完全解析)
文章目录 正则表达式与re模块 字符匹配 普通字符匹配 利用元字符进行模糊匹配 元字符: . ^ $ + ? {} [] | () \ 重复的字符匹配 re模块下的其他方法 今天总结一下正则表达式,它 ...
- 初学者python笔记(time模块、random模块功能分析)
文章目录 一.time模块 1.时间戳: 2.两种结构化时间 二.random模块 1.说白了就是随机模块,得到随机数,或者随机的其他元素 2.写一个生成随机验证码的函数 本篇主要是关于Python中 ...
最新文章
- 三维的对象表示---OpenGL二次曲面和三次曲面函数
- 本月 上月 php,显示本月,上月,今天,今年以及各时间起点与
- 机器学习模型评估标准选择循环图
- 字符,字符串,int之间互相转换
- java 主方法 this_java main 方法怎么创建
- 如何基于大数据及AI平台实现业务系统实时化?
- 【JS】逻辑运算符 非! 与 或||(处理对象时注意)
- Ethercat解析(三)之Ubuntu添加Xenomai实时内核补丁
- 本地项目怎么推送到码云_如何将本地项目放到码云(gitee)上
- ConcurrentHashMap 和 Collections.synchronizedMap(map) 比较
- Python(^^^^^小技巧^^^^^——不定期更新)
- 持久化消息队列memcacheq的安装配置
- 计算机学硕考试时间,考研全年时间表!重要的23个时间点,都帮你整理好了
- 教你如何写好一篇专利申请?
- AppStore技术支持
- 蓝牙基带协议(baseband specification)
- pythonocc_PythonOCC基础使用:点的性质(glsl定义)
- Python 获取 网易云音乐热门评论(python2/python3代码)
- 180101 逆向-64位处理器
- 10#Windows注册表的那些事儿
热门文章
- c语言第五章137页题目及答案,(完整版)C语言程序设计教程第五章练习题题目
- python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫
- bat ping 返回值_专科生可以进bat大厂吗?
- hj212协议如何和php通讯,5G/4G边缘计算网关如何实现HJ212协议上报
- 看不到图层怎么办_图层管理工具及相关问题
- php将汉字转换为gb2312编码,php实现utf-8和GB2312编码相互转换
- Spring的注入方式详解
- 对listView的理解
- android常见传值
- google浏览器打开关闭标签