python基础-模块(全是理论,没有代码)
模块
概念:一系列功能的结合体。相当于模块包着一堆函数与代码。本质上是py文件。
来源:
- python内置的模块----→ python解释器的模块
- 第三方的模块 -----→ 其他人编写提供的
- 自定义的模块 -----→ 我们自己编写的模块
表现形式:
- 使用python 编写的py文件
- 编译后的共享库,如:DLL、C 或C++ 库
- **包里面带有__ init __.py 的一组py 文件**
- python解释器下的py 文件
包: 把一系列模块组织到一起的文件夹,且包含包含__ init __.py文件的文件夹称之为包。用来存放模块,可更好地管理模块
使用模块的好处:
- 便于管理功能代码。将项目拆分成一个个的功能,分别存放在不同的.py文件中
- 使用python内置或第三方的模块,可提高开发效率
创建模块步骤:
- 创建py 文件
- 在py 文件中编写python 代码
- 在一个文件中,通过import 导入
- 语法:import 模块名
- 注意:import 模块名时,模块名后面不能接.py
模块导入时发生的事情:
- 会先执行当前执行文件,并产生执行文件中的名称空间。
- 当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间
- 会将被导入模块的名称空间加载到内存中。
模块的导入方式:
- import 模块:在执行文件中直接import 导入
- from 包/模块 import 模块/(函数名、变量名、类名)
注意:
在使用模块阶段,必须注意,谁是执行文件,谁是被导入文件
模块在首次导入时,就已经固定好了。文件查找顺序先从内存中查找
循环导入问题解决方法
- 需要查找的名字放在导入模块的上方
- 在函数内部导入,将模块变成函数名称空间的名字
python基础-模块(全是理论,没有代码)的更多相关文章
- python基础——模块
python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- python基础-模块
一.模块介绍 ...
- Python菜鸟之路:Python基础-模块
什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,分组的规则就是把实现了某个 ...
- Python基础+模块、异常
date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加) -(减) *(乘) /(除) //(取整) %(取余) ...
- Python 基础 模块
python 中模块和保定 概念 如果将代码分才投入多个py 文件,好处: 同一个变量名也互不影响. python 模块导入 要使用一个模块,我们必须先导入该模块.python 使用import ...
- python基础----模块、包
一 模块 ...
- Python基础-模块与包
一.如何使用模块 上篇文章已经简单介绍了模块及模块的优点,这里着重整理一下模块的使用细节. 1. import 示例文件:spam.py,文件名spam.py,模块名spam #spam.py pri ...
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
随机推荐
- 如何用 Go 实现热重启
热重启 热重启(Zero Downtime),指新老进程无缝切换,在替换过程中可保持对 client 的服务. 原理 父进程监听重启信号 在收到重启信号后,父进程调用 fork ,同时传递 socke ...
- 【转】WPF DataGridComboBoxColumn使用
若要填充下拉列表,请首先使用下列选项之一设置 ComboBox 的 ItemsSource 属性.静态资源. x:Static 代码实体.ComboBoxItem 类型的内联集合.实现效果如下: 如需 ...
- Qt 一张图片显示在其他组件之上
图片放在QLabel上,注意设置QLable一些属性 QImage img("test.png"); img = img.scaledToWidth(,Qt::SmoothTran ...
- 在条件判断中使用 all() / any()
在条件判断中使用 all() / any() all() 和 any() 两个函数非常适合在条件判断中使用.这两个函数接受一个可迭代对象,返回一个布尔值,其中: all(seq):仅当 seq 中所有 ...
- Linux下安装.NET Core
环境 { "操作系统":"CentOS 7.5 64位", "CPU":"1核", "内存":&qu ...
- [LeetCode] 334. Increasing Triplet Subsequence 递增三元子序列
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the ar ...
- oracle 在列名后的 (+)是什么意思,如何转换为mysql
外连接的意思select *from a,bwhere a.id=b.id(+)意思就是返回a,b中匹配的行 和 a中有但是b中没有的行. 参考https://www.cnblogs.com/Aaro ...
- TimSort Java源码个人解读
/*JDK 1.8 */ package java.util; /** * A stable, adaptive, iterative mergesort that requires far fewe ...
- javascript中 for in 、for 、forEach 、for of 、Object.keys().
一 .for ..in 循环 使用for..in循环时,返回的是所有能够通过对象访问的.可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例.这里需要注意的是使用for-in返回的属性因各 ...
- nginx+upsync+consul 构建动态nginx配置系统
参考: http://www.php230.com/weixin1456193048.html [upsync模块说明.性能评测] https://www.jianshu.com/p/76352ef ...