鱼C论坛

 找回密码
 立即注册
查看: 1285|回复: 3

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

[复制链接]
发表于 2020-9-9 11:28:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如,一个主程序中有20个def,可不可把所有的def写到一个文件里,然后再调用?如果可以,请问如何调用?
最佳答案
2020-9-9 11:35:21
本帖最后由 suchocolate 于 2020-9-9 11:42 编辑

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

  3. # 调用函数
  4. print(test_define.test())
  5. print(test_define.test1())
  6. ...
  7. print(test_define.test19())

复制代码


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

  3. # 调用函数
  4. print(test())
  5. print(test1())
  6. ...
  7. print(test19())

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-9 11:33:09 | 显示全部楼层
本帖最后由 sunrise085 于 2020-9-9 11:39 编辑

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

  1. #fun.py
  2. def fun1():
  3.     pass
  4. def fun2():
  5.     pass
  6. def fun3():
  7.     pass


  8. #你的程序文件
  9. from fun import *

  10. fun1() #调用fun1函数
  11. fun2() #调用fun2函数
  12. fun3() #调用fun3函数
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-9 11:33:57 | 显示全部楼层
可以
把def写到一个文件里 例如文件名为config,里面有一个函数叫test
在主程序文件中

  1. import config
复制代码

通过config.test()调用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-9 11:35:21 | 显示全部楼层    本楼为最佳答案   
本帖最后由 suchocolate 于 2020-9-9 11:42 编辑

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

  3. # 调用函数
  4. print(test_define.test())
  5. print(test_define.test1())
  6. ...
  7. print(test_define.test19())

复制代码


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

  3. # 调用函数
  4. print(test())
  5. print(test1())
  6. ...
  7. print(test19())

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-3 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表