讨论采用 * 模糊导入或者 单独导入变量 会在不同文件生成不同的对象
.a
└── mypackage
├── a.py
├── b.py
├── c.py
 

b.py内容如下

import c

def b():
print("b方法开始")
print(c.config)
print(id(c.config))

c.py内容如下

config = "ONCE"

a.py内容如下

import b
import c def a():
print(c.config)
c.config = "TWO"
print(c.config)
print(id(c.config))
print("a方法执行完毕") a()
b.b()

执行a.py,输出

ONCE
TWO
2492322048184
a方法执行完毕
b方法开始
TWO
2492322048184

id值相同,意味着此时a,b文件共用一个对象

===========================我是分割线===========================

但是。。。假如

======a.py======
import b
from c import config def a():
global config
print(config)
config = "TWO"
print(config)
print(id(config))
print("a方法执行完毕") a()
b.b()
======b.py======
from c import config def b():
print("b方法开始")
print(config)
print(id(config)) ======c.py======
config = "ONCE"

那么此时a.py输出为

ONCE
TWO
1813891082424
a方法执行完毕
b方法开始
ONCE
1813894255144

id值不同,意味着不是同一个对象

因此如果需要使用可修改配置文件的全局变量,需要用文件名方式导入,将其当作一个全局类使用

单独导入或者模糊导入会拥有不同的id和引用类型

关于python导包问题的更多相关文章

  1. python导包学习总结

    python初学者,对于导包纠结了不少时间,总结分享,持续前进~ Python导包的两种方法: 1.1  from 包.模块  import 方法名,调用时直接使用方法名() 1.2  from 包. ...

  2. python导包显示No module named XXX问题

    最近用sublime text写python脚本,在导包是一直显示No module named XXX. 问题描述: 首先文件夹的目录结构如下: count.py文件,代码如下: #coding=u ...

  3. python导包语句执行

    今天在做项目中遇到一个问题,在first_page中引用login的登录方法,第一次执行登录可以正常登录,登录成功后,再选择返回主菜单,回到上个页面,再选择登录时报错“login_class isno ...

  4. python导包问题,这一篇就够了

    解决办法: 将项目所在的根目录添加到sys.path中 在入口文件中加入如下代码: import sys import os # 将 项目的根目录添加到sys.path中 BASE_DIR = os. ...

  5. 记一次Python导包经历

    最近由于需要写一个脚本调用另一个文件里面的一个方法,试了很久都导包失败,特此记录一下 问题背景 1)脚本文件为send_reward.py,要调用public_model_func.py里面的一个类方 ...

  6. python导包

    我们将完成特定功能的代码块放在一个.py结尾的文件中,这个文件被称为模块.在这个模块中可能包含变量,函数,类等等内容. 当我们从外部需要用到这个模块时,就需要将这个模块导入到我们当前环境.导入方式有以 ...

  7. python导包路径的修改

    1.sys os 模块 import sys import os 2.查看默认的导包路路径: print(sys.path) 3.路径拼接 os.path.join(url, 'apps')) 4.追 ...

  8. python导包一不小心就入坑(常用解决办法)

    常见导包报错: - ImportError:No module named - SystemError: Parent module '' not loaded, cannot perform rel ...

  9. 太酷炫了!!我会Python 导包八种方法,你呢?

    1. 直接 import 人尽皆知的方法,直接导入即可 >>> import os >>> os.getcwd() '/home/wangbm'复制代码 与此类似的 ...

  10. python导包踩过的坑之包名和模块名同名

随机推荐

  1. Ironic 的 Rescue 救援模式实现流程

    目录 文章目录 目录 救援模式 实现 UML 图 救援模式 以往只有虚拟机支持救援模式,裸机是不支持的.直到 Queen 版本 Ironic 实现了这个功能.救援模式下,用户可以完成修复.Troubl ...

  2. CentOS7性能监控系统安装

    想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数 ...

  3. jenkins+git+gitlab+ansible实现持续集成自动化部署

    一.环境配置 192.168.42.8部署gitlab,节点一 192.168.42.9部署git,Jenkins,ansible服务器 192.168.42.10节点二 二.操作演示 ①gitlab ...

  4. Initializer for conditional binding must have Optional type, not 'String'

    今天看到问Swift问题:  Initializer for conditional binding must have Optional type, not 'String' 以前没遇到过这个问题, ...

  5. Python爬虫学习==>第十章:使用Requests+正则表达式爬取猫眼电影

    学习目的: 通过一个一个简单的爬虫应用,初窥门径. 正式步骤 Step1:流程框架 抓取单页内容:利用requests请求目标站点,得到单个页面的html代码,返回结果: 正则表达式分析:根据html ...

  6. Unity3D入门 UnityAPI常用方法和类

    时间函数: 这里只列举了一部分,更多的看Scripting API using System.Collections; using System.Collections.Generic; using ...

  7. Docker管理面板-URLOS(易用、高效、强大)

    一.介绍 URLOS是一个Docker管理面板,它把服务器端软件应用的安装行为简化到极致,堪称服务器端的应用宝,具有集群管理.自动故障转移.自动负载均衡等高级功能,可轻易搭建7*24小时在线的网站运行 ...

  8. 应用安全 - JavaScript - 框架 - Jquery - 漏洞 - 汇总

    jQuery CVE-2019-11358 Date 类型 原型污染 影响范围 CVE-2015-9251  Date 类型跨站 影响范围<jQuery 3.0.0

  9. Numpy科学计算

    NumPy介绍   NumPy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组. NumPy支持常见的数组和矩阵操作.对于同样的数值计算任务,使用Nu ...

  10. 【转帖】2018全球公有云IaaS榜单出炉:阿里、腾讯、中国电信、金山云列前十

    2018全球公有云IaaS榜单出炉:阿里.腾讯.中国电信.金山云列前十 https://news.cnblogs.com/n/628391/ 中国电信貌似就是用的华为的技术 阿里 腾讯 华为 金山 百 ...