【自动化测试必学语言】python:模块和包

news2025/2/6 1:04:41

目录

导入模块的语法

方式一

方式二 

方式三 【了解】 基本不用

模块的查找顺序

__name__ 的作用

代码练习

包(package)


  1. Python 源代码文件就是⼀个模块
  2. 模块中定义的变量函数类,都可以让别人使用,同样,可以使用别人定义的(好处:别人定义好的不需要我们再次书写,直接使用即可)
  3. 想要使用别人的模块中的内容工具(变量,类,函数),必须先导入模块才可以
  4. 我们自己写的代码,想要作为模块使用,代码的名字需要满足标识符的规则(由数字,字母下划线组成,不能以数字开头)

导入模块的语法


方式一

import 模块名
# 使用模块中的内容
模块名 .工 具名
# 举例
import random
import json
random . randint ( a , b )
json . load ()
json . dump ()

方式二 

from 模块名 import 工 具名
# 使用
工具名 # 如果是函数和类需要加括号
# 举例
from random import randint
from json import load , dump
randint ( a , b )
load ()
dump ()

方式三 【了解】 基本不用

from 模块名 import *          # 将模块中所有的内容都导入
from random import *
from json import *
randint ( a , b )
load ()
dump ()
# ⽅式⼀ 重点记忆
# import random
#
# print(random.randint(1, 20))
# ⽅式⼆, 重要快捷⽅式导包
# from random import randint
# from random import randint
#
# print(randint(1, 20))
# ⽅式三, 问题: 可能存在多个模块中有相同的名字的⼯具, 会产⽣冲突
from random import *

print(randint(1, 20))

对于导入的模块和工具可以使用 as 关键字给其起别名

注意:如果起别名,原来的名字就不能用了,只能使用别名

模块的查找顺序


  • 在导入模块的时候会先在当前目录中找模块如果找到就直接使用。
  • 如果没有找到回去系统的目录中进行查找找到直接使用;没有找到报错。
注意点
定义代码文件的时候,你的代码名字不能和你要导入的模块名字相同

__name__ 的作用

  1. 每个代码文件都是⼀个模块
  2. 在导入模块的时候会执行模块中的代码三种方法都会
  3. __name__ 变量
  • __name__ 变量,是 python 解释器自动维护的变量
  • __name__ 变量如果代码是直接运行值是 "__main__"
  • __name__ 变量如果代码是被导入执行值是 模块名即代码文件名
在代码文件中 在被导入时不想被执行的代码 可以写在 if _ _name __ == "__main__" : 代码的缩进中

代码练习

  1. 定义⼀个模块 tools.py
  2. 在模块中定义⼀个函数func输出 '我是 tools 模块中的 funn 函数'
  3. 在模块中定义⼀个类Dog具有属性 name, age方法 play输出 'xx 在快乐的玩耍'
  4. 新建⼀个代码文件调用 tools 模块中的 func 函数 并创建⼀个 Dog 类的对象调用 play 方法

(package)

Python 包 是⼀个目录 只不过在这个目录存在⼀个文件 _ _init __. py 可以是空的
将功能相近或者相似的代码放在⼀起的
--------
Python 中使⽤的时候 不需要可以是区分是包还是模块 使用方式是⼀样的
random 模块 单个代码文件
json
unittest 目录
  1. import 包名
  2. alt 回车 快捷导入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进程(2) wait、exec函数族

目录 1. fork() 函数 功能 使用时注意事项 2. exit() 函数 功能 使用时注意事项 3. wait() 函数 功能 使用时注意事项 总结 wait() 异常信号结束 waitpid exec函数族 execl() execlp() execv execvp fork()、exit() 和 wait() 函数在进程管理中扮演着重要的角…

【C语言】【Linux】如何在Linux终端中进行彩色输出——C语言篇

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:C语言编程&…

双亲委派机制的优势与劣势

三次双亲委派机制的破坏

24 优化算法

目录 优化和深度学习深度学习中的挑战局部最小 vs 全局最小鞍点(saddle point)梯度消失小结凸性(convexity)凸集凸函数(convex function)凸函数优化凸和非凸例子小结梯度下降(gradient descent)1、梯度下降算法是最简单的迭代求解算法2、学习率(learning rate)小结随…

Unity小功能 - 贴墙滑行

目录 一. 简介 二. 创建项目 1.新建地板 2.创建墙体 3.创建主角 三. 编写代码 四. 效果演示 五. 总结 一. 简介 贴墙滑行是在游戏中常见的一种角色动作表现,它能够增加游戏的真实感和趣味性,同时也为游戏玩法带来更多的可能性。 在 Unity 中实…

【秋招笔试】8.18大疆秋招(第三套)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

测绘程序设计|测绘程序设计大赛介绍|备赛建议

**由于微信公众号改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本公众号设为星标或置顶喔~** 简单介绍测绘学科创新创业智能大赛测绘技能竞赛——测绘程序设计比赛。 🌿前言 测绘程序设计比赛是测绘学科创新创…

HTTPS协议和HTTP协议的区别详细图解

文章目录 HTTPS协议加密是什么?对称加密非对称加密 Cookie 和 Session的区别 HTTPS协议 HTTP协议内容都是按照文本的方式明文传输的,是没有经过加密的,没有加密就意味着裸奔,所以协议中的内容就很容易引起一些不良人士的获取和篡…

STM32自制手持小风扇实验

1.1 介绍: 实验功能说明:功能(1)按一下按键小风扇开启,再按一下关闭。 功能(2)按一下按键小风扇一档风速,再按一下二挡,依次三挡…关闭。 按键模块说明:按下…

CommandLineRunner

CommandLineRunner 是 Spring Boot 中的一个接口,它允许你在 Spring 应用程序启动之后(即在 SpringApplication.run() 执行完成后)立即执行一些代码。这在你需要初始化数据、检查配置文件参数或执行其他启动任务时非常有用。 实现 CommandLin…

win10蓝屏CRITICAL_PROCESS_DIED

目录 前言 处理过程 第一阶段处理:重置虚拟内存 第二阶段处理:sfc /scannow 扫描系统并修复损坏文件 前言 连续一周开机一段时间后蓝屏,刚开始的蓝屏提示的是KERNEL_DATA_INPAGE_ERROR,后来经过一番操作,依然出现…

vue使用axios请求后端数据

前后端分离项目的基础: 前后端跨域访问 vite.config.js中加入 // 1.为什么要跨域 //因为浏览器的同源策略,不同站点之间访问需要跨域 //实现跨域的方式:server: {proxy: {// 假设要跨域访问的后端 API 地址以 /api 开头/api: { //表示拦截以/api开头的…

牛客算法小题

目录 牛客.求和​编辑 牛客.abb 牛客.合并k个有序链表 牛客.滑雪(暴力->递归->记忆化搜索) 牛客.旋转字符串 牛客.求和 我没想到是dfs,另外我的dfs能力确实也不强,另外难度大的是他的那个输出 import java.util.Scanne…

医用氧检测标准:医用氧用什么检怎么检都做了明确规定

新规在《中国药典》2020 年版二部 XGB2021-061条于2022年5月22日实施。 医用氧技术指标&#xff1a;氧≥99.5% 、一氧化碳<0.0005、二氧化碳&#xff1c;0.03%、水分含量&#xff1c;0.0067%&#xff09; 一氧化碳对人体有害&#xff0c;过量的二氧化碳也会影响人的呼吸&a…

2024.8.20 作业

目录 思维导图&#xff1a; 面试题练习&#xff1a; 1、C语言中指针数组和数组指针的区别 2、结构体字节对齐的原理 3、TCP和UDP的区别 4、同步通信和异步通信的区别 5、多线程的理解 6、大小端验证 7、互斥锁 8、共享内存特点 9、C语言的指针 10、gcc编译 11、socket套接字 1…

探索顶级PDF水印API:PDFBlocks(2024年更新)

引言 在一个敏感信息常常面临风险的时代&#xff0c;能够轻松高效地保护文档的能力至关重要。PDF水印已成为企业和个人寻求保护其知识产权、确保文件保密性的基本工具。 PDFBlocks 文字水印 API是什么&#xff1f; PDFBlocks API 提供了一个强大的解决方案&#xff0c;用于在…

轮询系统寻客户

寻找收单客户&#xff0c;不管是源头老板&#xff0c;还是二手中介&#xff0c;不管是PayPal&#xff0c;条纹&#xff0c;还是其他信用卡或轮询系统&#xff0c;只要能收单&#xff0c;都可以免费加入我们。 ​在寻卖单客户&#xff0c;不管是源头订单还是跳转订单&#xff0c…

Redis篇一:初识Redis

文章目录 前言1. 初始Redis2. MySQL VS Redis3. 什么是分布式系统&#xff08;也是一种处理大量数据时的处理方式&#xff09;3.1 单机架构3.2 数据库与应用服务分离3.3 负载均衡3.4 数据库读写分离3.5 引入缓存&#xff08;Redis&#xff09;3.6 数据库分库分表3.7 引入微服务…

如何使用Web Scraper爬虫抓取数据?

Web Scraper是一个基于Chrome/火狐浏览器的插件&#xff0c;能够在网页上自动爬取数据&#xff0c;提供了丰富的配置&#xff0c;支持自动翻页、登录认证、JavaScript渲染等等&#xff0c;可以解决多数爬虫难题。 Web Scraper的安装也很简单&#xff0c;在Chrome应用商店里搜索…

【每日刷题】Day104

【每日刷题】Day104 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09; 2. 1004. 最大连续1的个数 III…