PHP前端开发

自己写的python文件如何相互调用

百变鹏仔 1个月前 (01-23) #Python
文章标签 文件

自己写的python文件如何相互调用?python中的模块库十分常用,对于常用的模块可以自己动手自定义,但是如何进行调用呢?


模块相互调用

同级目录调用时的两种方法

 import module print(module.add(3,8))  from module import add print(add(2,4))

同级目录的子目录调用

立即学习“Python免费学习笔记(深入)”;

 from 文件相互调用 import cal print(cal.sub(3,8)) from 文件相互调用.cal import  sub    #这种情况下加一个点(.),然后写目录 print(sub(3,9))

同级目录的子目录的子目录的调用

 from 文件相互调用.文件2 import cal2 print(cal2.mul(3,7))  from 文件相互调用.文件2.cal2 import mul print(mul(3,7))

依次再深一层

from 文件相互调用.文件2.文件3 import cal3print(cal3.divi(8,2))from 文件相互调用.文件2.文件3.cal3 import  diviprint(divi(8,2))

特殊情况

from 文件相互调用.文件2 import 文件3    #这种不推荐用这种的print(文件3.cal3.divi(8,2))

有一种特殊的调用格式,但是有两个缺点:

一执行效率低;二不却确定文件是否重复等

from 文件相互调用 import *print(cal.sub(3,8))
from 文件相互调用.文件2.文件3 import *print(cal3.divi(8,2))

同时调用多个模块时,可简写如下

import xx, xx,xx, ...   #即用逗号隔开

import调用模块时,做了两件事情:

1、会执行一遍被调用的模块

2、引入变量名(即模块名)

通常情况下不会把所有程序写在一个文件里面,而是依据功能写到不同的文件里面

如:

bin文件时程序的的入口main 文件里只写逻辑程序module 文件里面只写功能程序

包的功能:

1、用来组织模块的,可以根据模块的功能分包;

2、避免模块冲突;而同名模块放在不同包就不会发生冲突。

if __name__ == "__main__":    print(add(3,5))    print('ok')print(__name__)

if __name__ == "__main__":  作用有二:

1、 放入某一个文件种,用来测试该文件的结果,但是,该文件被调用时,该语句不会被执行。

简单说就是:用于被调用文件的测试

2、调用程序里面写上这么一句,可以防止别人修改我的主程序,仅供他人调用而已。