标签:python
这一章节我们来讨论一下函数的设计的一些习惯:
1.耦合性:输入使用参数,输出使用return
推荐方式:
>>> def test(x): print(x) return x+1 >>> a=1 >>> test(a) 1 2 >>>
>>> a=1 >>> def test(): global a a=a+2 >>> test() >>> a 3 >>>
2.耦合性:如非必要,不使用全局变量,这是因为减少函数与参数间的依赖关系
反面教材:
>>> a=1 >>> def test(): global a a=a+2 >>> test() >>> a 3 >>>
推荐方式:
>>> a=1 >>> def test(x): return x+2 >>> a=test(a) >>> a 3 >>>
3.不要改变可变类型里面的对象,除非调用者想这么干
反面教材:
>>> a=[1,2,3] >>> def test(x): x[2]=5 >>> test(a) >>> a [1, 2, 5] >>>
>>> a=[1,2,3] >>> def test(x): tmp=x[:] tmp[2]=5 print(tmp) >>> test(a) [1, 2, 5] >>> a [1, 2, 3] >>>
当然,如果本身a就想改变,反面教材里面的例子倒是正确的
4.聚合:尽量使方法功能单一集中
反面例子:
>>> def test(a,b): return (a+b),(a*b) >>> test(1,3) (4, 3) >>>上面的例子我们在一个方法里面做了乘法与加法
推荐方式:
>>> def plus(a,b): return a+b >>> def muti(a,b): return a*b >>> def test(a,b): return plus(a,b),muti(a,b) >>> test(4,3) (7, 12) >>>
>>> muti(4,3) 12 >>> plus(4,3) 7 >>>
解决方案:可以使用一个中间模块来存储过程变量,或者直接使用数据库作为存储
总结:这一章节我们讨论了函数设计的一些习惯,希望大家能够养成,我们的目的就是函数跟外部的依赖越小越好,这样便于以后的复用
这一章节就说到这里,谢谢大家
------------------------------------------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:python
原文地址:http://blog.csdn.net/raylee2007/article/details/48518475