作者tumc (HIHIHI)
看板Python
标题[问题] 程式内函式编排顺序的问题?
时间Sat Aug 21 18:13:39 2010
不好意思,最近问得有点勤...
这些问题都可以解决,但就是觉得一定有更好的方法..
由於python是script语言,因为会从程式档案的最上面一直往下执行
但我习惯把一些很长的函式放在档案最下面,
但如此一来就会遇到此函式无定义的问题..
有什麽方法可以达到我我要求又可以顺利执行的吗,谢谢
ex:
if __name__ == '__main__':
long_fun()
long_fun():
...
就像这样,由於long_fun()里面有好几百行,想放在最下面
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.185.171
1F:推 ya790206:有个很愚蠢的方法,有没有副作用我不知道,假设档名叫 08/21 18:29
2F:→ ya790206:z.py 你就在档案最前面加from z import * 08/21 18:30
3F:推 hukhuk:这跟script没关系吧,你用functional programming的写法 08/21 18:34
4F:→ hukhuk:当然会无法执行,你用c写,这也不会给你过…个人见解 08/21 18:35
5F:→ tumc:from z import , 是把自己import进去吗? 08/21 19:32
6F:→ tumc:我知道会无法执行,所以才问有无办法..perl是可以这样的 08/21 19:33
7F:→ ya790206:我试可以耶,你要把後面才出现的东西都包在 08/21 19:50
8F:→ ya790206:if __name__ == '__main__': 里面,不过我测试时long_fun 08/21 19:51
9F:→ ya790206:的内容很简单就只是print 'x'而已,应该不会影响吧 08/21 19:52
10F:→ ya790206:对了我版本是2.6 08/21 19:52
11F:→ ya790206:from z import , 是把自己import进去吗? 是的 08/21 19:54
12F:推 ya790206:这样做程式码执行顺序会改变,先执行long在执行if最後再 08/21 19:57
13F:→ ya790206:执行long部分 08/21 19:57
14F:→ ya790206:上两楼我的推文,用词不佳,会有误解.... 08/21 19:59
15F:→ ya790206:请忽略 08/21 20:00
16F:推 wadd:如果是我,我会把这个 fun 写在另一个档,再 import 进来 08/21 20:54
17F:推 Starwindd:推写在另一个档 08/22 00:57
18F:→ tumc:看来也没有其它方法了...由於是独立的script,不想拆才两个档 08/23 11:36
19F:→ tumc:可能就用import 自己 , 有遇到问题再跟大家报告,谢谢 08/23 11:37