1. 程式人生 > 實用技巧 >python-面向過程面向物件和棧的實現

python-面向過程面向物件和棧的實現

0x01 大綱

面向過程 函式
引數傳遞
返回
面向物件 類
棧的資料結構實現

0x02 例子

def add(a,b):
    return  a+b

if __name__ == '__main__':
    result = add(1,2)
    print(result)

加上if name == 'main':的話說明只在本py檔案中執行如果匯出的話就不執行,也就是說別人import這個包就不執行

input強轉

def add(a,b):
    return  a+b

def main():
    #強轉數字
    a,b = input('>>>').split(' ')
    print('a is %d,b is %d'%(int(a),int(b)))
    return add(int(a),int(b))
if __name__ == '__main__':
    result = main()
    print(result)

輸出

1 3
a is 1,b is 3
4

0x03 自定義方法

class Stack:
    def __init__(self):
        self.stack=[]
        print('Stack初始化完成')

    def append(self,value):
        self.stack.append(value)

    def pop(self):
        return self.stack.pop()

    def length(self):
        return len(self.stack)

    def getTop(self):
        if self.length()!=0:
            return self.stack[-1]
        return None

    def getStack(self):
        return self.stack

if __name__ == '__main__':
    s = Stack()
    for i in range(1,3):
        s.append(i)
    print(s.getTop())
    print(s.pop())
    print(s.length())
    print(s.getStack())

輸出

Stack初始化完成
2
2
1
[1]