Python学习第八天——模块

2023-11-19

模块

一.什么是模块?
模块是一系列功能的集合体。
1.模块分为四种类别:
①一个.py就是可以是一个模块。
②包:就是一个存放__init__.py文件的文件夹。
③使用C编写并链接到Python解释器的内置模块。
④已被编译为共享库或DLL的C或C++扩展。
2.模块的三种来源:
①Python解释器自带的(内置库、标准库)
②第三方库
③自定义的库
二.为什么用模块?
1.拿来主义,提高开发效率。
2.从文件级别组织程序,方便管理并且解决代码冗余。
三.如何使用
(1)导入语法
1.import xxx
首次导入模块发生的事情:
①会触发xxx.py运行,所以会产生一个模块的名称空间。
②运行xxx.py的代码,将运行过程所产生名字都丢进模块的名称空间。
③在当前执行的文件的名称空间中拿到一个名字xxx,该名字就是指向模块的名称空间的。
必须xxx.yyy()调用模块中的变量或者函数等。
2.from xxx import yyy
首次导入模块发生的事情:
①会触发xxx.py运行,所以会产生一个模块的名称空间。
②运行xxx.py的代码,将运行过程所产生名字都丢进模块的名称空间。
③在当前执行的文件的名称空间中拿到一个名字yyy,该名字就是指向模块的名称空间的对应的名字。
优点:直接调用。 缺点:可能会造成名称冲突。
(2)使用技巧:
1.起别名
import spam as sp
2.导入所有函数的变量
from spam import *
通过在spam.py内__all__[‘money’,‘change’]设置,没有的访问不到。
(3)循环导入问题
不同文件之间的相互调用可能会造成错误。
解决方法:
①将变量名提前放置
x = 111
form m2 import y
②将调用写成函数

def f1():
    from m2 import y
  
x=111

③直接解决方法:
设置第三方文件避免循环导入问题出现。

(4)模块的搜索路径
优先级:
1.内存
2.内置
3.环境变量
不要将自定义的模块名与内置模块名相同,会导致自定义的模块无法使用,因为内置模块的优先级高。

导用模块时的分隔符:.(点)
from aaa.m1 import f1
注意:
import aaa.m1.f1 报错
因为此时点是分隔符的意思

将路径写入环境变量:

import sys
sys.path.append(r'F:\code\python\ATM')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python学习第八天——模块 的相关文章

随机推荐

  • SATA M.2 NGFF PCIE AHCI NVME SSD固态硬盘的接口、总线和协议区分

    总线 协议 说接口之前先说总线 民用产品的硬盘总线多为 SATA 和 PCIe SATA 总线只能使用 AHCI 协议 NVME 对比 AHCI 的优势在于 低延时 低功耗 更适合固态硬盘 PCIe总线 可以使用 AHCI 也可以使用更高效
  • uniapp vue3 h5,微信小程序滚动屏幕元素渐入动画&自定义导航栏

    项目文件下载地址 实际效果如下 一 滚动屏幕元素渐入 注意事项 animate css需要添加样式兼容微信小程序 微信小程序滚动时boundingClientRect获取不到标签信息 1 HBuilderX打开uniapp创建的vue3项目
  • 【java】案例一:使用java写的记账软件

    目录 一 需求说明 二 主要思路 三 代码实例 四 运行结果 一 需求说明 1 能够记录家庭的收入 支出 并能够打印收支明细表 2 项目采用分级菜单方式 3 假设家庭起始的生活基本金为10000元 每次登记收入后 收入的金额应累加到基本金上
  • 输入框去空格指令兼容ios苹果系统中文输入法

    export class InputXXXDirective constructor private elementRef ElementRef private control NgControl HostListener keydown
  • 线性代数的本质(九)——二次型与合同

    文章目录 二次型与合同 二次型与标准型 二次型的分类 度量矩阵与合同 二次型与合同 二次型与标准型 Grant 二次型研究的是二次曲面在不同基下的坐标变换 由解析几何的知识 我们了解到二次函数的一次项和常数项只是对函数图像进行平移 并不会改
  • E:Package 'Vim' has no installation candidate问题解决

    不多说 直接上干货 问题描述 root zhouls virtual machine apt get install vim Reading package lists DoneBuilding dependency tree Readin
  • GPT-3 模型特点

    Overview 模型 描述 GPT 3 一组能够理解和生成自然语言的模型 Codex Limited beta 一组可以理解和生成代码的模型 包括将自然语言转换为代码 Content filter 一种经过微调的模型 可以检测文本是否敏感
  • 插入排序总结

    插入排序 Insertion Sort 的算法描述是一种简单直观的排序算法 它的工作原理是通过构建有序序列 对于未排序数据 在已排序序列中从后向前扫描 找到相应位置并插入 排序思路 假设按照升序排序 1 从索引为1的元素开始向前比较 一旦前
  • activiti7-1-环境准备(idea)

    activiti7环境准备 1 首先安装插件 2 然后建库 3 pom 4 配置文件 4 1 log4j properties 4 2 activiti cfg xml 5 测试类生成表 6 目录结构 7 最后的操作 务必看一看 又回到cs
  • 用matlab解决多重共线性问题,多重共线性和非线性回归的问题

    前几天她和我说 在百度里有个人连续追着我的回答 三次说我的回答错了 当时非常惊讶 赶紧找到那个回答的问题 看看那个人是怎么说 最终发现他是说多重共线性和非线性回归的问题 他认为多个自变量进行不能直接回归 存在共线性的问题 需要进行因子分析
  • 数据可视化笔记9 可视化交互与评估

    概括 交互的概念 交互准则 交互延时 交互成本 交互场景变化 可视化交互的主要类型 分类 选择 再布局 视觉编码 抽象化 具体化 过滤 链接 交互模型 概览 细节 焦点 上下文 对偶界面 多种混合交互方式 混合多种交互设备 交互空间 屏幕空
  • IDEA连接mysql又报错!Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezone‘ prope

    目录 错误界面 解决方案 第一 设置mysql时区 第二 同步mysql驱动 前进的道路充满荆棘 错误界面 IDEA连接mysql 地址 用户名 密码 数据库名 全都配置好了 点测试连接 咔 不成功 界面是这样的 翻译过来就是 服务器返回无
  • 1345:香甜的黄油(Dijkstra)---信息学奥赛一本通

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法 糖 把糖放在一片牧场上 他知道N 1 N 500 只奶牛会过来舔它 这样就能做出能卖好价钱的超甜黄油 当然 他将付出额外的费用在奶牛上 农夫John很狡猾 像以前的巴甫洛夫 他知道
  • java中的file.encoding属性到底由什么决定?

    首先先上一段代码 public class PropertiesTest public static void main String args System out println file encoding System getProp
  • CentOS7 中把yum源更换成163源

    CentOS默认yum源是国外的 速度无法保证 用起来很不爽 今天我们把默认源换成国内的163源 163是目前国内最好用的源 速度是相当快的 还有一些比较好的源 比如阿里源 1 首先我们把CentOS7配置为可以上外网的环境 这里不会的可以
  • Python requests下载超大文件/批量下载文件

    一 下载超大文件 使用 python 下载超大文件 直接全部下载 文件过大 可能会造成内存不足 这时候要使用 requests 的 stream 模式 主要代码如下 iter content 一块一块的遍历要下载的内容 iter lines
  • Android 键盘小设置

    键盘设置主要是对activity页面的控制 清单文件对应的activity配置如下 弹出键盘 上移屏幕 android windowSoftInputMode stateVisible adjustResize 弹出键盘 覆盖屏幕 andr
  • 眼图测量

    百度百科 1 眼图测量解释 https baike baidu com item E7 9C BC E5 9B BE E6 B5 8B E9 87 8F 5938447 fr aladdin
  • YOLO算法v1-v3原理通俗理解

    YOLO算法v1 v3原理通俗理解 深度学习检测方法简述 我们所使用的目标检测 其实就是让机器在图片找到对应的目标 然后给图片上的目标套上一个框框 并贴上标签 比如如果图片上有人 就把人框起来并标注一个 person 使用深度学习进行目标检
  • Python学习第八天——模块

    模块 一 什么是模块 模块是一系列功能的集合体 1 模块分为四种类别 一个 py就是可以是一个模块 包 就是一个存放 init py文件的文件夹 使用C编写并链接到Python解释器的内置模块 已被编译为共享库或DLL的C或C 扩展 2 模