Python入门基础学习(模块,包)
Python基础学习笔记(五)
模块的概念:模块是python程序架构的一个核心概念
- 每个以拓展名py结尾的python源代码文件都是一个模块
- 模块名同样也是一个标识符,需要符合标识符的命名规则
- 在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具
- 模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个模块
模块的API:
客户端使用模块提供的函数时,无须了解其实现细节。模块和客户端之间遵循的契约(API)
通过内置函数help(),可以查看Python模块的API。其语法格式为:
import 模块名
help(模块名)
模块的类型:
- 内置模块,Python提供的内置功能
- 第三方模块,下载/安装/使用
- 自定义模块
模块的导入:
1.import导入
import 模块1
import 模块2
import 模块1,2 #不推荐使用,推荐分行导入
如果模块的名字太长,可以使用as指定模块的名称,以方便在代码中的使用
import 模块名1 as 模块别名(符合大驼峰命名法)
2.from...import导入
如果希望从某个模块中,导入部分工具,就可以使用from...import,,,方式
import模块名是一次性把模块中所有工具全部导入,并且通过模块名/别名访问
#从模块导入某个工具
from 模块名1 import 工具名
导入以后不通过模块,而通过工具名(全局变量,函数,类)
注意事项:
- 如果两个模块,存在同名的函数,那么后导入模块的函数,会覆盖掉先导入的函数
- 同名函数可以通过别名加以区分:from 模块名 import 工具名 as 工具别名
- 可用from 模块名 import *导入模块中所有工具,但不推荐使用
模块的搜索顺序:
1.搜索当前目录指定模块名的文件,如果有就直接导入
2.如果没有,在搜索系统目录
代码原则:每一个文件都应该是可以被导入的
1.一个独立的python文件就是一个模块
2.在导入文件时,文件中所有没有任何缩进的代码都会被执行一遍
__name__属性:
__name__属性可以做到,测试模块的代码只在测试情况下被运行,而在被导入时不会被执行
__name__是Python的一个内置属性,记录着一个字符串
如果是被其他文件导入__name__就是模块名
如果是当前执行的程序__name__是__main__
#为了使写的python文件都可以当成模块且测试代码不被执行
#则测试代码应该如下:
if __name__ = "__main__":
#测试代码
包:
概念:
- 包是一个包含多个模块的特殊目录
- 目录下有一个特殊的文件__init__.py
- 包名的命名方式和变量名一样,小写字母 + _
好处:import 包名 可以一次性导入包和所有的模块
包的创建:

__init__.py
要在外界使用包中的模块,需要在__init__.py中指定外界提供的模块列表
例如:
#__init__文件里 from . import 需要被其他文件导入的模块1
from . import 需要被其他文件导入的模块2
模块知识持续更新......
Python入门基础学习(模块,包)的更多相关文章
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- Python 入门基础13 --模块与包
本节内容: 一.模块及使用 1.模块及使用 2.起别名.from导入 3.自执行与模块 二.包的使用 2.1 包中模块的使用:import 2.2 包的嵌套 2.3 包中模块的使用:from ...i ...
- Python入门基础学习(面向对象)
Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
- Python 入门基础学习
Python入门学习 我们使用python3.0版本 首选来入门 带你进入Hello World >>> print ("Hello World")Hell ...
- Python入门基础学习(文件与异常处理)
Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...
随机推荐
- UWP 记一次x64平台无法单步调试的bug
是这样的,平时开发uwp程序,都是用x86架构进行部署和调试.但是有时候需要在XBOX上进行调试,所以架构需要改成x64进行操作. 但是最近x64位下不能进行调试了. 搜遍网上的各种教程,也是各有各的 ...
- 计算机组成原理——I/O接口以及I/O设备数据传送控制方式
接口可以看作是两个部件之间交接的部分.硬件与硬件之间有接口,硬件与软件之间有接口,软件与软件之间也有接口. 这里我们所说的I/O接口,一边连接着主机,一边连接着外设. I/O接口的功能 I/O接口的基 ...
- Linux逻辑卷的创建
什么是LVM? LVM(逻辑卷管理器):是Linux环境下对磁盘分区进行管理的一种机制.主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘) ...
- How to: Implement File Data Properties 如何:实现文件数据属性
This topic demonstrates how to implement a business class with a file data property and a file colle ...
- C++ --内存四区概述
内存四区 代码区:存放函数体第二进制代码,由操作戏台进行管理 数据区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不是放 ...
- 特殊权限SUID
特殊权限SUID SUID : 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者: chmod u+s File chmod u-s File 如果 FileB本身原来就有执行权限,则S ...
- 常用注解解析(因为不太明白@component和@configuration写了)
1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层 2.@service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理 3.@rep ...
- 解决无法修改日志时间的问题(Local time zone must be set--see zic manual page 2019 )
故障现象 系统日志时间晚了整整8个小时,比如现在是中午12点,日志时间为凌晨4点 date命令报错(Local time zone must be set--see zic manual page) ...
- 【bzoj4671】异或图(容斥+斯特林反演+线性基)
传送门 题意: 给出\(s,s\leq 60\)张图,每张图都有\(n,n\leq 10\)个点. 现在问有多少个图的子集,满足这些图的边"异或"起来后,这张图为连通图. 思路: ...
- HTML连载53-网易注册界面实战之content的头部、content注册信息
一. 这次完成了content部分的右边图片以及content的top部分的边角填充 <!DOCTYPE html> <html lang="en"> &l ...