0
初學者在這裏。不應該將所需的變量作爲參數傳遞給函數。爲什麼它在python中是variable.function()?爲什麼它在Python中的dataframe.head()和R中的head(dataframe)?爲什麼這樣的python一般?
初學者在這裏。不應該將所需的變量作爲參數傳遞給函數。爲什麼它在python中是variable.function()?爲什麼它在Python中的dataframe.head()和R中的head(dataframe)?爲什麼這樣的python一般?
很簡單:
foo.bar()
做同樣的事情foo.__class__.bar(foo)
所以是函數,參數傳遞給它,但函數存儲通過附着在物體它的類(類型),可以這麼說。符號foo.bar()
只是上述的簡寫。
優點是,sams名稱的不同功能可以附加到許多對象,具體取決於對象類型。因此,foo.bar()
的調用者正在通過名稱「bar」調用附加到該對象的任何函數。這被稱爲多態,可用於各種事物,如通用編程。這些功能稱爲方法。
儘管面向對象以及泛型編程也可以使用更熟悉的函數(方法)調用符號(例如Common Lisp和Julia中的多方法或Haskell中的類)來實現,但它被稱爲對象方向。
Python是面向對象的。數據框架是一個對象,您可以調用對象的方法(一個函數)。 Python中的head()是pandas.DataFrame對象的一個方法。看看熊貓源代碼 – Jakub