Python簡化類例六:另一種變量賦值取值的寫法

# -*- coding: utf-8 -*
'''
前言:這是我自己想出來的方法,我不知道是否有人用過這種寫類的方法,我也沒想出一個什麼樣名字來稱呼它,反正我叫它簡化類
之所以稱之爲簡化類,是因爲我沒辦法實現多重繼承,但類的基本繼承,重寫還是實現了的
如果有興趣的朋友請留下您保貴的建議或加我QQ:410177254 或 微信:carmelcarmen,讓這個寫法能更有創造性一些
'''
#Python簡化類例六:另一種變量賦值取值的寫法
def ClassTest6():
    '''
    這種變量取值賦值的方法參考於javascript的jquery,
    在C#等一些語言,在定義中,寫法是 int val {get;set;}調用時 賦值使用=完成
    在java通常建一個私有變量如 val ,通過getVal  和 setVal方法的定義來實現
    在jquery中則是用傳參來實現如val()爲取值,val(4)爲賦值,同時賦值完成鏈式寫法(參考例五)
    '''
    def p() :pass
    p.val1=1
    p.val2=2
    def o():pass

    def val1(*args):
        if len(args)==0 : return p.val1
        else:
            p.val1=args[0]
            return o
    o.val1=val1;del val1

    def val2(*args):
        if len(args)==0 : return p.val2
        else:
            p.val2=args[0]
            return o
    o.val2=val2;del val2

    return o

t6=ClassTest6()
print(t6.val1())                    #1
print(t6.val2())                    #2
print(t6.val1(3).val2(4).val1())    #3  賦值完成鏈式寫法
print(t6.val2())                    #4

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章