标签:自定义 tle 功能 空间 阶段 str 文件目录 lis test
目录
在python中,总共有以下四种形式的模块:
__init__.py
文件,该文件夹称为包)import time
这个代码做了以下事情
from time import sleep
如果想使用多个方法:
from time import sleep,time
导入所有功能:
from time import *
import:
from...import的优缺点:
# m1.py
from m2 import y
x = 10
print('m1:', x, y)
# m2.py
from m1 import x
x = 20
print('m2:', x, y)
由于模块永远只会开辟一次空间,所有这样不会永远循环下去,一次就会报错
方案一:
# m1.py
x = 10
from m2 import y
print('m1:', x, y)
# m2.py
y = 20
from m1 import x
print('m2:', x, y)
方案二:
这个解决方法就是:函数定义阶段只检测语法,不执行代码
# m1.py
x = 10
def f1():
from m2 import y
print('m1:', x, y)
f1()
# m2.py
y = 10
def f2():
from m2 import x
print('m2:', x, y)
f2()
注:模块永远只开辟一次;from m1 import 必须执行m1.py中所有代码
模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹)。如果模块的文件路径和执行文件不在同一个文件目录下,我们就需要指定模块的路径。
模块的搜索路径指的就是在导入模块时需要检索的文件夹。
导入模块时查找模块的顺序是:
python文件总共有两种用途,一种是执行文件;另一种是被当做模块导入。
编写好的一个python文件可以有两种用途:
# test123.py
def f1():
print('from f1')
f1()
# run.py
from test123 import f1
如果直接运行run.py会直接运行test123.py中的f1(),但是如果我们在test123.py中加上if`__name__=='__main__'这句话,则可以防止运行run.py时执行f1()。
__name__
==‘__main__‘
不成立,__name__
!=‘__main__‘
当test123为模块文件时,__
name__
等于文件名
标签:自定义 tle 功能 空间 阶段 str 文件目录 lis test
原文地址:https://www.cnblogs.com/setcreed/p/11605004.html