1. 程式人生 > 程式設計 >詳解Python self 引數

詳解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 類函式,靜態函式

類函式一般用引數 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 引數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!