詳解Python self 引數
阿新 • • 發佈:2020-01-09
1、概述
1.1 場景
我們在使用 Python 中的 方法 method 時,經常會看到 引數中帶有 self,但是我們也沒對這個引數進行賦值,那麼這個引數到底是啥意思呢?
2、知識點
2.1 成員函式(m) 和 普通方法(f)
Python 中的 "類方法" 必須有一個額外的 第一個引數名稱(名稱任意,不過推薦 self),而 "普通方法"則不需要。
m、f、c 都是程式碼自動提示時的 左邊字母(method、function、class)
# -*- coding: utf-8 -*- class Test(object): def add(self,a,b): # 輸出 a + b print(a + b) def show(self): # 輸出 "Hello World" print("Hello World") def display(a,b): # 輸出 a * b print(a * b) if __name__ == '__main__': test = Test() test.add(1,2) test.show() display(1,2)
2.2 類函式,靜態函式
類函式一般用引數 cls
靜態函式無法使用 self 或 cls
class Test(object): def __init__(self): print('我是建構函式。。。。') def foo(self,str): print(str) @classmethod def class_foo(cls,str): print(str) @staticmethod def static_foo(str): print(str) def show(str): print(str) if __name__ == '__main__': test = Test() test.foo("成員函式") Test.class_foo("類函式") Test.static_foo("靜態函式") show("普通方法")
輸出結果:
我是建構函式。。。。
成員函式
類函式
靜態函式
普通方法
總結
以上所述是小編給大家介紹的Python self 引數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!