如何写出更像文章的代码

  如何写出更像文章的代码

更易读的代码,最好能用连续的动词和名词作为函数或者方法的名字。

最好能组合类,用对象.方法1.方法2.  多用.来连接,就能像是一句话。

当较小类是较大类的组件时用组合类。

当两个类体积相似,但是有一些不同的功能,使用派生类。

举一个使用组合类写出对象.方法1.方法2. 例子。

class Soldier(object):
    def __init__(self,blood,zhuangjia = 0,wuqi = 0):
        self.blood = blood
        self.zhuangjia = zhuangjia
        self.wuqi = wuqi
    def zhuangBei(self):
        self.zhuangjia = 5
        self.wuqi = Weapon(1)
        return self.wuqi
class Weapon(object):
    def __init__(self,jian = 0,mao = 0):
        self.jian = jian
        self.mao = mao
    def spearThrow(self):
        print("Spear")

sd = Soldier(100)
sd.zhuangBei().spearThrow()
View Code

由此例子,我们可以将关联类变为self.__class__(),这样就能只用一个类就能写出易读的很像文章的代码。

class Root(object):
    def __init__(self,namedict):
        self.namedict = namedict
    def readf(self,lian = "n"):
        if lian =="y":
            self.namedict = [11,22,33]
            d = [11,22]
            return self.__class__(d)
        return self.namedict

    def wrt(self,lian = "n"):
        abc = self.namedict[1:]
        return abc

roota = Root("aaa")
print(roota.readf("y").wrt())
t = roota.wrt()
print(t)
View Code

在init中可以多定义几个默认属性,保存新增的和传递到方法中的数据。

 

posted on 2016-09-05 22:11  lexn  阅读(48)  评论(0)    收藏  举报

导航