1. 程式人生 > >What is the 'cls' variable used for in Python classes?

What is the 'cls' variable used for in Python classes?

在類方法中第一個引數名叫cls,這是一種預設的程式設計風格,並非強制,也可以叫其他名字。主要用於區分類方法和例項方法。

Function and method arguments:

Always use self for the first argument to instance methods.

Always use cls for the first argument to class methods.

python的cls,self,classmethod,staticmethod:

python類裡會出現這三個單詞,self和cls都可以用別的單詞代替,類的方法有三種,
一是通過def定義的
普通的一般的,需要至少傳遞一個引數,一般用self,這樣的方法必須通過一個類的例項去訪問,類似於c++中通過物件去訪問;
二是在def前面加上@classmethod,這種類方法的一個特點就是可以通過類名去呼叫,但是也必須傳遞一個引數,一般用cls表示class,表示可以通過類直接呼叫;
三是在def前面加上@staticmethod,這種類方法是靜態的類方法,類似於c++的靜態函式,他的一個特點是引數可以為空,同樣支援類名和物件兩種呼叫方式;

參考連結:
https://stackoverflow.com/questions/4613000/what-is-the-cls-variable-used-for-in-python-classes