16 Python的包以及import和from的使用

devtools/2024/10/11 2:25:29/

本篇是 Python 系列教程第 16 篇,更多内容敬请访问我的 Python 合集

1 创建包

  1. 创建文件夹:首先你需要创建一个文件夹作为包的容器。
  2. 添加 __init__.py文件: 在这个文件夹内需要有一个特殊的文件叫做__init__.py。这个文件可以为空,也可以包含初始化代码。它的存在标志着这个目录可以被视为一个包。
  3. 添加模块:在这个文件夹内你可以添加多个.py文件作为模块,这些模块就属于这个包的一部分。
  4. 子包:如果需要更复杂的组织结构,可以在包内再创建子包。

例如,创建一个名为mypackage的包:

python">mypackage/__init__.pymymodule1.pymymodule2.pysubpackage/__init__.pysubmodule1.py

2 导入包

从包中导入特定模块

python">from mypackage import mymodule1
mymodule1.myfunction()

或者

python">import mypackage.mymodule1 as mm
mm.myfunction()

从包中的模块导入特定函数

python">from mypackage.mymodule1 import myfunction
myfunction()

安装外部包

如果你要使用其他人编写的包,可以通过Python的包管理工具pip来安装。例如,要安装requests包,可以在命令行中运行:

python">pip install requests

然后就可以在你的程序中导入并使用这个包了:

python">import requests
response = requests.get('http://example.com')
print(response.text)

3 关于import和from

import单独使用时后面可以跟模块或者包.模块,搭配from一起使用时,若from后是,则import后只能是模块;若from后是模块,则import后可以是属性、函数、类或者 *

简单来说,from后面可以跟到包或者模块,import单独使用时后面只能跟到模块,搭配from使用时只能跟from差一级。


http://www.ppmy.cn/devtools/110070.html

相关文章

spring自动装配

spring自动装配 Spring 框架提供了一种机制,称为自动装配(Autowired),它允许 Spring 容器自动将依赖注入到 Bean 中,而无需显式地使用 XML 配置文件或构造函数注入。自动装配简化了依赖注入的过程,使得代码…

C语言深入了解指针一(14)

文章目录 前言一、内存和地址内存究竟该如何理解编址 二、指针变量和地址取地址操作符&解引用操作符*指针变量的大小 总结 前言 终于来到指针啦!如前篇末尾总结所说,这是你们马上要下大功夫的地方   但是,就像我们上初中的时候&#xf…

社会适老化建设,从一个 LLM 应用开始

引言 “变老很糟糕(Getting old sucks)”,这是电影《勇敢者的游戏》里的一句台词。变老会让人不再敏捷、健壮,会让人疲于跟上社会发展的脚步。据统计,截止 2023 年底,60 岁以上人口占全国总人口的 21.1%。…

【Redis】redis5种数据类型(string)

目录 redis5种数据类型和内部编码方式 redis单线程模型 string字符串类型相关命令 SET GET MSET MGET SETNX SETEX ​编辑PSETEX value值为整数,进行加减操作 INCR INCRBY DECR DECRBY INCRBYFLOAT APPEND GETRANGE SETRANGE STRLEN string的…

在stable diffussion中完美修复AI图片

无论您的提示和模型有多好,一次性获得完美图像的情况很少见。 修复小缺陷的不可或缺的方法是图像修复(inpainting)。在这篇文章中,我将通过一些基本示例来介绍如何使用图像修复来修复缺陷。 需要的软件 我们将使用 AUTOMATIC11…

【JAVA】第五天

【JAVA】第五天 一、Math类二、System类三、Runtime类四、BigDecimal类五、JDK8之前传统的日期、时间(不推荐)1.Date类2.SimpleDateFormat类3.Calendar类 六、JDK8之后新增的日期、时间1.LocalDateTime类2.ZoneId类3.ZonedDateTime类4.Instant类5.DateTi…

Leetcode面试经典150题-55.跳跃游戏

解法都在代码里,不懂就留言或者私信 class Solution {public boolean canJump(int[] nums) {/**如果就一个位置,你本来就在这,肯定可以跳到*/if(nums.length 1) {return true;}/**这个题的解题思路是遍历数组,如果当前位置不在之…

【SRC】某次众测绕过限制注册用户+敏感信息泄露漏洞

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330&scene21#wechat_redirect 《网安面试指南》…