詳解Python self 參數
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 類函數,靜態(tài)函數
類函數一般用參數 cls
靜態(tài)函數無法使用 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("靜態(tài)函數") show("普通方法")
輸出結果:
我是構造函數。。。。
成員函數
類函數
靜態(tài)函數
普通方法
總結
以上所述是小編給大家介紹的Python self 參數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
pytorch/transformers?最后一層不加激活函數的原因分析
這里給大家解釋一下為什么bert模型最后都不加激活函數,是因為損失函數選擇的原因,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-01-01CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程
Centos是目前最為流行的Linux服務器系統(tǒng),其默認的Python 2.x,這篇文章主要給大家分享了關于在CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程,文中將升級的步驟一步步的介紹的非常詳細,對大家的理解和學習具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07python函數enumerate,operator和Counter使用技巧實例小結
這篇文章主要介紹了python函數enumerate,operator和Counter使用技巧,結合實例形式總結分析了python內置函數enumerate,operator和Counter基本功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-02-02PyTorch的張量tensor和自動求導autograd詳解
這篇文章主要介紹了PyTorch的張量tensor和自動求導autograd,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02