Python——import和from import方法总结

基本概念:

模块:所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from)。

包(package): 包是更大的组织单位,用来组织区别管理多个模块文件。

import 用来导入模块

from 用于从模块中导入工具(可以是某个函数,全局变量,类),也可用as 重命名导入的方法名

import 和 from 常用使用方法:

from A import a1 :从A模块导入a1工具(可以是某个函数,全局变量,类)

import A:导入整个A模块的全部内容(包括全部的函数,全局变量,类)

内存分析:

from...import...会在内存中创建并加载该模块工具的副本,当有另外一个程序导入时,会在内存中浅复制另一个副本(变量而非函数)进行加载,不会共用一个副本。所以程序进行的修改不会影响到被导入的原模块,且不同程序之间不会互相影响。

import...方法导入模块会在内存中直接加载该模块的全部属性。当出现多个程序导入该模块时,会共用一个模块,程序之间会互相影响,包括原模块。

使用场合:

当多个程序需要同时导入一个模块并且都是访问时,使用import 可以节省内存空间

当多个程序需要同时导入一个模块当其中一个需要修改模块,那么修改的模块的程序应该使用from来导入模块

使用特点:

import a:使用都要加上a这个包名,比如a.data,表示用的都是a包里面的data字段

form a import *,可以直接使用包里面的字段,这些字段已经复制到了这个文件的新包里面

#a.py
data=[1,2,3]def run():print(data)
#b.py
from a import run,datadata[0]=5 #类似赋值,b里面的data和a里面的data指向同一个对象,这么做对两者都有影响
print(data) #输出[5,2,3] 
run()#输出[5,2,3]data=100 #由于直接改变了data的指向,所以不会影响源模块a
print(data) #输出100
run()#输出[5,2,3]
#c.py
import a
#由于是直接import a 所以都是从源模块a里面拿出来的,所以这里的改变都会影响源模块a
#可以理解为有着作用域 a.的限制
a.data[0]=5 
print(a.data) #输出[5,2,3]
a.run() #输出[5,2,3]a.data=100 #因为这里影响的是a里面的data
print(a.data) #输出100
a.run() #输出100

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

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

相关文章

挖漏洞之SQL注入

(一)漏洞原理 1、 漏洞原理 SQL注入的原理是,是应用系统没有对传递的参数进行过滤,让参数直接拼接到SQL语句中,攻击通过对参数进行篡改,当参数传递到数据库中,逻辑上就会发生变化,就…

Python面向对象③:封装【侯小啾python领航班系列(二十一)】

Python面向对象③【侯小啾python领航班系列(二十一)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

.[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?

引言: 在数字时代的网络森林里,[support2022cock.li].faust、[tsai.shenmailfence.com].faust、[Encrypteddmailfence.com].faust、.[backupsairmail.cc].faust 勒索病毒如同一只潜伏的狼,威胁着我们珍贵的数据。这篇文章将深入揭示这个狡猾…

关于前端学习的思考-word-wrap和word-break的区别

如上图word-wrap里面的break-word就是按照单词来换行的,空格在前,连字符在后的时候,按照连字符进行换行,那么空格和连字符哪一个拥有优先级呢? 连字符在前,空格在后的时候,还是按照连字符进行换…

分享66个焦点幻灯JS特效,总有一款适合您

分享66个焦点幻灯JS特效,总有一款适合您 66个焦点幻灯JS特效下载链接:https://pan.baidu.com/s/10bqe09IAZt_hbsZlXaxkxw?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,…

Linux(12):磁盘配额(Quota)与进阶文件系统管理

磁盘配额(Quota)的应用与实作 Quota 的一般用途: 针对 www server ,例如:每个人的网页空间的容量限制; 针对 mail server,例如:每个人的邮件空间限制。 针对 file server,例如:每个人最大的可用…

APEX 权限的树形列表展示——基于APEX FancyTree Select

Apex-Fancy-Tree-Select git学习网页 GitHub - RonnyWeiss/Apex-Fancy-Tree-Select: Fancy Tree Plug-in for Oracle APEXhttps://github.com/RonnyWeiss/Apex-Fancy-Tree-Select 详情可见↓: 存档&改造【06】Apex-Fancy-Tree-Select花式树的使用&…

synchronized的实现原理

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

鸿蒙(HarmonyOS)应用开发——构建页面(题目答案)

判断题 1.在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。 正确(True) 2.List容器可以沿水平方向排列,也可…

基于微信小程序的高校活动系统

1 前言 1.1开发背景及意义 高校课余活动管理是中职学生素质教育的重要途径及有效方式,特别是对于一个院校的校园文化建设、校风学风建设和学生综合素质方面的提高至关重要t叫"。良好的学生活动组织可以更好地调动学生参与活动,让学生展示自己的能力…

Redis数据库

服务器结构 struct redisServer {/* General */pid_t pid; /* Main process pid. */pthread_t main_thread_id; /* Main thread id */char *configfile; /* Absolute config file path, or NULL */char *executable; /* Absolut…

Linux 编译安装colmap

COLMAP可以作为独立的app,通过命令行或者图形交互界面使用,也可以作为一个库被包含到其他源代码中。 这里记录一下编译安装colmap的过程,首先需要安装好CUDA,CUDA具体安装过程这里就不赘述了。在GitHub上下载源代码,我…

用Java写一个王者荣耀游戏

目录 sxt包 Background Bullet Champion ChampionDaji GameFrame GameObject Minion MinionBlue MinionRed Turret TurretBlue TurretRed beast包 Bear Beast Bird BlueBuff RedBuff Wolf Xiyi 打开Eclipse创建图片中的几个包 sxt包 Background package sxt;…

DAPP开发【06】nodejs安装与npm路径更换

windows系统在执行用户命令时顺序 windows系统在执行用户命令时,若用户未给出文件的绝对路径, 则 (1)首先在当前目录下寻找相应的可执行文件、批处理文件等; (2)若找不到,再依次在系…

[linux进程控制]进程替换

文章目录 1.进程替换的概念和原理2.如何完成进程替换2.1exec系列函数加载器的底层系统调用接口基于execve的封装--库函数 2.2 int execl(const char *path, const char *arg, ...);1.在当前进程进行替换2.在子进程进行替换 2.3 int execv(const char *path, char *const argv[]…

分治—快速选择算法

文章目录 🍇215.数组中的第K个最大元素🍈1. 题目🍉2. 算法原理🍊3. 代码实现 🍋LCR 159. 库存管理 III🍌1. 题目🍍2. 算法原理🥭代码实现 🍇215.数组中的第K个最大元素 …

损失函数代价函数

代价函数(Cost Function)和损失函数(Loss Function)是深度学习中两个相关但不完全相同的概念,它们用于衡量模型的性能,并在训练过程中进行参数优化。尽管经常被混用,但在一些文献中也有区别对待…

强推六款满分AI写作工具,需要自取

🔗 运行环境:ChatGPT 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

QJsonObject 是 Qt 框架中用于表示 JSON 对象的类

QJsonObject 是 Qt 框架中用于表示 JSON 对象的类。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于在不同平台和语言之间传输和存储数据。QJsonObject 类提供了一种方便的方式来创建、解析和操作 JSON 对象。 以下是…

31-WEB漏洞-文件操作之文件包含漏洞全解

31-WEB漏洞-文件操作之文件包含漏洞全解 一、本地包含1.1、无限制包含漏洞文件1.2、有限制包含漏洞文件1.2.1、绕过方法1.2.1.1、%00截断1.2.1.2、长度截断 二、远程包含2.1、无限制包含漏洞文件2.2、有限制包含漏洞文件 三、各种协议流提交流3.1、各协议的利用条件和方法3.1.1…