2模块和包的一些总结:导入库和模块

news2024/9/27 12:15:41

感觉这块好零散呀,应该怎么去写呢?截图吧

1、导入多个模块的方法

#导入多个包有几种办法
# 1.用点号
# 2.用逗号

import p1.Tool
import p1.sub_p.sub_xxx

print(p1.Tool.num)
print(p1.sub_p.sub_xxx.num)

import p1.Tool,p1.sub_p.sub_xxx
print(p1.Tool.num)
print(p1.sub_p.sub_xxx.num)

但是代码会显得比较冗余,所以,把代码模块给改成一个自命名的东西,如下

2、自命名文件 import XXXX as

import p1.sub_p.sub_xxx as p

print(p.num)

这两个的意思是一样的

3、只导入包没办法导入所有的模块,但是可以可以在__init__函数里面动手脚

但是在这里有一个很值得注意的地方就是:一定一定要搞清楚这个根目录和子目录的关系。。。就是因为有的时候没有搞清楚,所以程序有的时候会报错,花式报错~!!

4、用From语句,导入库和模块

(1)有一个很重要的原则就是,import后面是最简单的,最小层级。不能说from A import A1.B.C这样不行。但是可以导入多个小子资源。

怎么描述合适呢?

规则:

a)前面的要比后面的范围大,

b)后面必须要最简单的资源格式

在列表中,如果能直接看到后面的资源那么能直接导入,如果不能就不能直接导入

到时候再说吧

from p1 import Tool,Tool2
print(Tool.num)
print(Tool2.num2)
from p1 import Tool as a,Tool2 as b
print(a.num)
print(b.num2)

(2)结构

导入部分资源

a)正常的方法

from p1.Tool import num
print(num)
from p1.Tool import num as n
print(n)

print后面只要写最简单的就可以了,不然也会报错,就是写num或者n就可以了切记!!!

b)第二种部分导入资源的方法,不过慎用~~!!~~

b1)test里面的代码这样写:

from p1.other import *

print(num1)

other里面的代码这样写

num1=1
num2 = 2
num3 = 3
num4 = 4
_num5 = 5

b2)但是可以用私有变量的方法,用列表形式表现出来一些想要表达的东西(这样的一个形式)

但是这种情况只能使用在*和__all__[]这种固定的形式中,同样的,直接导入一下也可以

5、可选导入

两个相近的包,可选择的导入:

#other other2
#优先导入other2
try:
    import other2 as o
except ModuleNotFoundError:
    import other as o
print(o.o1)

后面就是这个课程主要讲了各种安装和安装的问题,感觉可以比较实用,但是还是在真正运用的时候再根据具体问题去找吧!!!

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

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

相关文章

基于纵横交叉算法的无人机航迹规划-附代码

基于纵横交叉算法的无人机航迹规划 文章目录 基于纵横交叉算法的无人机航迹规划1.纵横交叉搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用纵横交叉算法来优化无人机航迹规划。 …

【2023.10.30练习】C语言-循环右移字符

计算机能力挑战初赛2020.19题 题目描述: 现要对一个由字符a-z和A-Z组成的字符串进行解密,已知加密规则是: 字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh-->aBc), 输入:一个加密过的字符串&#…

【MySQL索引与优化篇】数据库优化及性能分析工具使用

数据库优化及性能分析工具使用 文章目录 数据库优化及性能分析工具使用1. 数据库服务器优化的步骤2. 查询系统性能参数3. 定位执行满的SQL:慢查询日志4. 查看SQL执行成本:show profile5. 分析查询工具:explain5.1 id5.2 type 6. explain进一步…

【AI视野·今日Sound 声学论文速览 第三十一期】Mon, 23 Oct 2023

AI视野今日CS.Sound 声学论文速览 Mon, 23 Oct 2023 Totally 9 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Two-Stage Triplet Loss Training with Curriculum Augmentation for Audio-Visual Retrieval Authors Donghuo Zeng, Kazushi Ikeda跨模态…

dp三步问题

三步问题 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:int waysToStep(int n) {vector<int> dp(n1,1);if(n1) return 1;dp[1]1;dp[2]2;for(int i3; i<n1; i){dp[i] ((dp[i-1]dp[i-2])%1000000007dp[i-3])%100…

类变量/方法、main语法、代码块

一.类变量和方法 思维导图概览&#xff1a; 1.1类变量&#xff08;静态变量&#xff09; 1.什么叫做类变量/方法&#xff1f; ——给类中的成员属性或成员方法加上static关键字进行修饰&#xff0c;类变量/方法也叫做静态变量/方法&#xff0c;静态变量/方法被类的自身所有对…

C/C++ 飞翔的小鸟

载入问题&#xff1a; 解决之后效果&#xff1a; 放在main函数里面进行封装&#xff1a; 效果展示: 实现下坠 放进while&#xff08;1&#xff09;里面不断进入循环&#xff0c;每次进入循环&#xff0c;鸟的y坐标值就会发生变化&#xff0c;以此实现下下坠效果 效果展示&#…

取消Excel打开密码的两种方法

Excel设置了打开密码&#xff0c;想要取消打开密码是由两种方法的&#xff0c;今天分享这两种方法给大家。 想要取消密码是需要直到正确密码的&#xff0c;因为只有打开文件才能进行取消密码的操作 方法一&#xff1a; 是大家常见的取消方法&#xff0c;打开excel文件之后&a…

【python入门篇——7】循环控制(if、while、for、range)

目录 一、条件和 If 语句 1.Python 支持来自数学的常用逻辑条件 2.缩进 3.Elif 4.Else 5.pass语句 二、While 循环 1.else 语句 三、for 循环 1.循环遍历字符串 2.Else 3.嵌套循环 4.pass 语句 四、range() 函数 1.range() 函数 2.起始参数 3.递增序列 一、条…

Elasticsearch-8.10.4安装

1.官网下载 https://www.elastic.co/cn/downloads/elasticsearch#ga-release 下载的是Linux x86_64 包名为elasticsearch-8.10.4-linux-x86_64.tar.gz 2.服务器解压 tar -xvf elasticsearch-8.10.4-linux-x86_64.tar.gz 3.修改配置 编辑配置文件config/elasticsearch.y…

ChineseChess.2023.10.30.01

中国象棋模拟器&#xff1a;黑子一步即杀的棋&#xff0c;红要解棋&#xff0c;不断将军慢慢把老帅边上棋子走开才有可能离开底线 【可以不上“士”的&#xff0c;将上去完事。】 不上【士】就没了&#xff0c;这局不知道咋破&#xff0c;哈哈 修改缺陷吧 中国象棋残局模拟器C…

0-1背包问题【穷举法+二维dp数组】

问题描述&#xff1a; 使用穷举法解决0/1背包问题。问题描述&#xff1a;给定n个重量为{w1, w2, … ,wn}、价值为{v1, v2, … ,vn} 的物品和一个容量为C的背包&#xff0c;求这些物品中的一个最有价值的子集&#xff0c;且要能够装到背包中。 穷举法&#xff1a;每件物品装还是…

网络协议--TCP的未来和性能

24.1 引言 TCP已经在从1200 b/s的拨号SLIP链路到以太数据链路上运行了许多年。在80年代和90年代初期&#xff0c;以太网是运行TCP/IP最主要的数据链路方式。虽然TCP在比以太网速率高的环境&#xff08;如T2电话线、FDDI及千兆比网络&#xff09;中也能够正确运行&#xff0c;但…

项目一:员工管理系统

一&#xff1a;项目功能 该项目应该具有以下功能&#xff1a; 1.查询所有员工 2.查询指定编号的员工 3.添加员工信息 4.修改员工信息 5.删除员工信息 6.退出功能 二&#xff1a;技能的使用 1.使用JDBC访问数据库 2.分层开发&#xff1a; 前台&#xff1a;调用后台&#xff0c;…

【Qt】盒子布局、网格布局、表单布局和堆栈布局

盒子布局 QBoxLayout可以在水平方向或垂直方向上排列控件&#xff0c;分别派生了QHBoxLayout、QVBoxLayout子类。 QHBoxLayout&#xff1a;水平布局&#xff0c;在水平方向上排列控件&#xff0c;即&#xff1a;左右排列。QVBoxLayout&#xff1a;垂直布局&#xff0c;在垂直…

测试环境内存溢出排查过程

基本信息 客户名称&#xff1a;xxx 产品名称&#xff1a; 版本号&#xff1a; 问题分类&#xff1a;编码问题 环境类型&#xff1a;实体机 问题现象 保险公司测试环境爆内存&#xff0c;机器挂掉。总共64g的内存&#xff0c;在没有开始测试tomcat部署war包前内存使用率为25%左…

钉钉超过90天的文件需要一分钟重新激活的实现原理是什么?

具体实现原理可能包括以下几点&#xff1a; 冷热数据分类&#xff1a;系统会根据文件的访问频率将文件分为热数据和冷数据两类。热数据是经常被访问的文件&#xff0c;这些文件会被存储在快速的存储设备上&#xff0c;以便快速访问。冷数据是很少被访问的文件&#xff0c;这些…

基于ROS发布里程计信息

参考文档&#xff1a; navigationTutorialsRobotSetupOdom 参考博客&#xff1a; &#xff08;1&#xff09;ROS机器人里程计模型 &#xff08;2&#xff09;ROS里程计消息nav_msgs/Odometry的可视化方法 1 常用坐标系系统模型 世界坐标系是描述机器人全局信息的坐标系&#…

洛谷 B2004 对齐输出 C++代码

目录 推荐专栏 题目描述 AC Code 切记 推荐专栏 http://t.csdnimg.cn/Z1tCAhttp://t.csdnimg.cn/Z1tCA 题目描述 题目网址&#xff1a;对齐输出 - 洛谷 AC Code #include<bits/stdc.h> using namespace std; typedef long long ll; int main() { int a,b,c;cin&g…