python的import导入规则

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

关于python中的import导入有一些注意事项需要在这里说明一下。


一、pycharm只能看到当前工作路径父目录下所有文件和项目根目录下所有文件

例如下面项目文件main.py示例
只能看到demo0下面所有文件:hello算法,matplotlib…等等
和main.py父目录test1下面的sgn.py等等。
在这里插入图片描述
在main.py里面只能看到平行的sgn.py或者最顶层demo0。
在这里插入图片描述

二、sys或者图形界面添加解释器路径(搜寻路径)

sys运行时添加进去,运行结束又会移出来。
待更新。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

三、import导入那个文件就是将导入的那个文件的所有顶层代码都运行了一遍

下面以 sgn,py和main.py两个py文件来演示

# sgn.py
class Constant:
    def __init__(self):
        self.a = 100
        self.b = 200
print('导入sgn.py文件就会将sgn.py的所有顶层代码执行一遍,例如这里的print()函数,还有类的创建(定义)、类的实例化等等都是顶层代码')
# main.py
from sgn import Constant

运行main.py会输出:
在这里插入图片描述
可以看到sgn.py的print直接就运行了。记住导入什么文件导入的时候就运行。

四、import可以导类,也可以直接导已经实例化的对象

示例1:导入类

# 在 my_module.py 文件中定义一个类
# my_module.py

class MyClass:
    def __init__(self, x):
        self.x = x

    def display(self):
        print("Value of x:", self.x)

# 在另一个文件中导入 MyClass 类并使用
# main.py

from my_module import MyClass

obj = MyClass(42)
obj.display()

示例2:导入实例化对象

# 在 my_objects.py 文件中定义一些实例化对象
# my_objects.py

class MyObject:
    def __init__(self, x):
        self.x = x

    def display(self):
        print("Value of x:", self.x)

# 创建一些实例化对象
obj1 = MyObject(10)
obj2 = MyObject(20)

# 在另一个文件中导入实例化对象并使用
# main.py

from my_objects import obj1, obj2

obj1.display()
obj2.display()

示例3:导入实例化对象的应用

# sgn.py
class Constant:
    # 有时需要进行标准化字段或者记录一下常量
    def __init__(self):
        self.a = 100
        self.b = 200


# 实例化常数类
Con = Constant()
# main.py
from sgn import Con

def add(a):
    return a + 11

print(add(Con.a))

运行main.py会输出:
在这里插入图片描述

相关推荐

  1. python 循环导入(circular imports)解决方法

    2024-05-12 12:34:08       11 阅读
  2. Python | import和from在导入模块时候有什么区别

    2024-05-12 12:34:08       16 阅读
  3. 深入了解 Python import 语句

    2024-05-12 12:34:08       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 12:34:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 12:34:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 12:34:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 12:34:08       20 阅读

热门阅读

  1. 法人单位和产业活动单位有什么区别和联系

    2024-05-12 12:34:08       13 阅读
  2. 比亚迪算法岗面试,问的贼细!

    2024-05-12 12:34:08       11 阅读
  3. 数据库监控监听

    2024-05-12 12:34:08       10 阅读
  4. C# 实现加减乘除 (备忘)

    2024-05-12 12:34:08       10 阅读
  5. 计算机视觉教学实训解决方案

    2024-05-12 12:34:08       9 阅读
  6. 1080:余数相同问题

    2024-05-12 12:34:08       9 阅读
  7. [C/C++] -- 适配器模式

    2024-05-12 12:34:08       8 阅读
  8. 整体意义的构成与构建

    2024-05-12 12:34:08       16 阅读
  9. 【负载均衡式在线OJ项目day5】OJ服务模块概要

    2024-05-12 12:34:08       12 阅读
  10. 复习用到知识(asp.net)

    2024-05-12 12:34:08       11 阅读
  11. sass详解与使用

    2024-05-12 12:34:08       12 阅读
  12. Ubuntu设置中午输入法

    2024-05-12 12:34:08       12 阅读
  13. XML 解析器

    2024-05-12 12:34:08       12 阅读