提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、pycharm只能看到当前工作路径父目录下所有文件和项目根目录下所有文件
- 二、sys或者图形界面添加解释器路径(搜寻路径)
- 三、import导入那个文件就是将导入的那个文件的所有顶层代码都运行了一遍
- 四、import可以导类,也可以直接导已经实例化的对象
- 示例1:导入类
- 示例2:导入实例化对象
- 示例3:导入实例化对象的应用
前言
关于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会输出: