现在Python这门编程语言是越来越火了,其中的一个主要原因就是Python中有各种各样的模块,这是其他很多编程语言中都没有的。Python中这些模块都各有其功能,需要的时候直接导入就可以,简直不要太方便

模块是什么

  1. 模块的本质: 就是一个保存特定函数的py文件
    所以要做一个模块,拿一个空py文件,然后写入各种函数就行了,

    像这样,在模块里定义各种函数就可以了,这里定义的就是一个两数加法运算和减法运算的函数

导入模块的三种方法

  1. 正常导入
import cal,time,turtle  #连续导入3个模块
  1. from方法
from cal import *  #这样会导入模块内所有的方法
from cal import add  #只导入cal模块内的add方法
#该方法再调用模块内方法时就不需要带模块名,而直接使用
  1. 使用路径导入
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

包的概念

实质上就是存放各种模块的一个目录

  1. 引入了包之后,只要顶层的包名不与其他包冲突,那所有的模块就不会冲突。

  2. 如果有个包名叫pcak_one,包下面还有一个包叫pack_two,里面有个py模块叫add.py,那当你引入了包以后,add.py的名字就变成了pack_one.pack_two.add.py,简单来说就是一层一层的关系。

  3. 每一个包目录下面都会有一个__init__.py文件,否则python就会把该包目录当成一个普通文件夹,而不是一个包。

  4. init.py本身就是一个模块,它的模块名就包的名字,调用包就是执行包下的__init__.py文件。

  5. 如图
    这就是一种多个包的嵌套,web, web1, web3都是包名,cal.py是模块名

包的导入


或者也可以这样:

from web.web1.web3.cal import add  #这样会导入模块内的add方法

两个补充知识

  1. sys.path方法
import sys
print(sys.path)  #查看所有执行文件的路径,这其中就包括了你自己导入的包的路径
  1. __init__是使用
    调用模块时,在 if name == ‘main’: 下执行可以有效防止无意的嵌套调用,这也是很多Python编程者是一种编程习惯

初学者python笔记(模块篇)相关推荐

  1. 初学者python笔记(装饰器后篇:登陆验证)

    装饰器有非常强大的功能,可以不修改函数源代码和调用方式,就给函数加上了对应想要的功能,简直就是 修饰函数的利器. 上一篇文章:初学者python笔记(装饰器.高阶函数.闭包)已经非常详细的剖析了装饰器 ...

  2. 初学者python笔记(类的继承与多态---详解)

    文章目录 一.类的组合与继承的区别 二.类的继承 1.继承的功能分析 2.类的继承之派生.接口继承 3.用接口模块abc来实现接口继承 4.使用接口继承的好处 5.类的继承顺序 6.在子类中调用父类的 ...

  3. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  4. 初学者python笔记(静态属性、类方法、静态方法、类的组合)

    文章目录 类的三大方法 1.静态属性 2.类方法.静态方法 3.三大方法总结 类的组合 1.用法分析 2.面试案例分析 本篇文章是上一篇:初学者python笔记(面向对象编程.类与对象)的后续篇,是关 ...

  5. 初学者python笔记(装饰器、高阶函数、闭包)

    一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...

  6. 初学者python笔记(内置函数_2)

    这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...

  7. 初学者python笔记(列表的食用方法)

    本篇是关于可迭代对象中的列表一些相关使用方法的记录. 可迭代对象简单描述:可以被for循环执行的对象(字符串,列表,元组,字典-) input()方法接收的其实只是字符串 a = input(&quo ...

  8. 初学者python笔记(re模块、正则表达式完全解析)

    文章目录 正则表达式与re模块 字符匹配 普通字符匹配 利用元字符进行模糊匹配 元字符: . ^ $ + ? {} [] | () \ 重复的字符匹配 re模块下的其他方法 今天总结一下正则表达式,它 ...

  9. 初学者python笔记(time模块、random模块功能分析)

    文章目录 一.time模块 1.时间戳: 2.两种结构化时间 二.random模块 1.说白了就是随机模块,得到随机数,或者随机的其他元素 2.写一个生成随机验证码的函数 本篇主要是关于Python中 ...

最新文章

  1. 三维的对象表示---OpenGL二次曲面和三次曲面函数
  2. 本月 上月 php,显示本月,上月,今天,今年以及各时间起点与
  3. 机器学习模型评估标准选择循环图
  4. 字符,字符串,int之间互相转换
  5. java 主方法 this_java main 方法怎么创建
  6. 如何基于大数据及AI平台实现业务系统实时化?
  7. 【JS】逻辑运算符 非! 与 或||(处理对象时注意)
  8. Ethercat解析(三)之Ubuntu添加Xenomai实时内核补丁
  9. 本地项目怎么推送到码云_如何将本地项目放到码云(gitee)上
  10. ConcurrentHashMap 和 Collections.synchronizedMap(map) 比较
  11. Python(^^^^^小技巧^^^^^——不定期更新)
  12. 持久化消息队列memcacheq的安装配置
  13. 计算机学硕考试时间,考研全年时间表!重要的23个时间点,都帮你整理好了
  14. 教你如何写好一篇专利申请?
  15. AppStore技术支持
  16. 蓝牙基带协议(baseband specification)
  17. pythonocc_PythonOCC基础使用:点的性质(glsl定义)
  18. Python 获取 网易云音乐热门评论(python2/python3代码)
  19. 180101 逆向-64位处理器
  20. 10#Windows注册表的那些事儿

热门文章

  1. c语言第五章137页题目及答案,(完整版)C语言程序设计教程第五章练习题题目
  2. python爬虫开发环境中几个爬虫库的主要用途_分分钟了解Python爬虫
  3. bat ping 返回值_专科生可以进bat大厂吗?
  4. hj212协议如何和php通讯,5G/4G边缘计算网关如何实现HJ212协议上报
  5. 看不到图层怎么办_图层管理工具及相关问题
  6. php将汉字转换为gb2312编码,php实现utf-8和GB2312编码相互转换
  7. Spring的注入方式详解
  8. 对listView的理解
  9. android常见传值
  10. google浏览器打开关闭标签