cdkeycdma 发表于 2020-9-9 11:28:44

请问可不可把所有的def写到一个文件里,然后再调用?

比如,一个主程序中有20个def,可不可把所有的def写到一个文件里,然后再调用?如果可以,请问如何调用?

sunrise085 发表于 2020-9-9 11:33:09

本帖最后由 sunrise085 于 2020-9-9 11:39 编辑

可以啊
把所有的def都写在一个文件中,例如起名为:fun.py
然后在使用的时候,写上 from fun import *
然后就可以使用里面的函数了
fun.py文件的放置位置有两种,一种是放在安装路径下的\python3\Lib这个文件夹内,任何时候都可以调用;一种是放在你想调用的程序文件同一路径下
因为python import查找模块先找文件本地路径,然后再找库文件路径,所以这两个位置都可以。
#fun.py
def fun1():
    pass
def fun2():
    pass
def fun3():
    pass


#你的程序文件
from fun import *

fun1() #调用fun1函数
fun2() #调用fun2函数
fun3() #调用fun3函数

1q23w31 发表于 2020-9-9 11:33:57

可以
把def写到一个文件里 例如文件名为config,里面有一个函数叫test
在主程序文件中
import config
通过config.test()调用

suchocolate 发表于 2020-9-9 11:35:21

本帖最后由 suchocolate 于 2020-9-9 11:42 编辑

你没看到模块章节吗?
1)def写到一个文件里,命名如: test_define.py。
def test()
    return 'hello'
def test1()
    return 'hello1'
# ......
def test19()
    return 'hello19'2)然后把test_define.py放到:C:\Program Files\python3\Lib。(实际路径看你python的lib路径)
3)在别的脚本里使用:
# 导入模块
import test_define

# 调用函数
print(test_define.test())
print(test_define.test1())
...
print(test_define.test19())



4)另外的调用方式:
# 导入模块
from test_define import *

# 调用函数
print(test())
print(test1())
...
print(test19())

页: [1]
查看完整版本: 请问可不可把所有的def写到一个文件里,然后再调用?