[问题] 有关function的一些问题

楼主: qk13 (塔斯汀狗)   2014-03-14 00:08:01
版上的大家好,断断续续接触python大概一年多
目前使用过简单的python语法写一些程式
有几个问题想请问一下,
1. 多个function共用变量该怎么去写比较好?
两个或三个function都会用到一样的东西(假设共同部分有20行之类的)
<f0.py>
def generate():
var0 = 123
list0 = [1,2]
...
f0_descriptions....
return str
<f1.py>
def generate():
var0 = 123
list0 = [1,2]
...
f1_descriptions.....
return str
<gen.py>
import f0,f1
ff0 = open('a0','w')
ff1 = open('b0','w')
ff0.write(f0.gen(xxx))
ff1.write(f1.gen(xxx))
ff0.close()
ff1.close()
有什么比较简洁的方法可以让我达成我的目的?
就是不用每个function都傻傻的写一样的变量宣告,
然后改的时候三个都要一起改@_@
2. 有人会用 在function里面在宣告一个function 这种用法吗
譬如
def f00():
def in_f00():
a = b = 1
...
f00_descriptions.....
c = d = 2
gogo = in_f00(xxxx,xxxx)
3. 通常大家都怎么判断自己写的程式够不够简单快速明了呢?
是持续的看python的书?多看一些实用的function
(这问题只是刚好问问@_@)
先谢谢热心回复的版友了!
作者: darkgerm (黑骏)   2014-03-14 00:36:00
1. 拉出来写成 config.py 之类的然后要用时 import ?2. 会 尤其 decorator 很常这样用3. 多看code吧@@ 速度的话你可能要参考算法的书
作者: gozule (好冷啊~~)   2014-03-14 23:17:00
1.可以考虑把function改为class用继承的功能2.decorator就是这样做到的3.除了算法外,也可以用cython加速

Links booklink

Contact Us: admin [ a t ] ucptt.com