【Python的黑魔法】實例方法、靜態方法和類方法

class Bird:# classmethod修飾的方法是類方法@classmethoddef fly (cls):print('類方法fly: ?',cls)# staticmethod修飾的方法是靜態方法# @staticmethoddef info (p):print('靜態方法info: ', p)if __name__ == '__main__':# 調用類方法,Bird類會自動綁定到第一個參數Bird.fly() ?#①# 調用靜態方法,不會自動綁定,因此程序必須手動綁定第一個參數Bird.info('crazyit')# # 創建Bird對象b = Bird()# # 使用對象調用fly()類方法,其實依然還是使用類調用,# # 因此第一個參數依然被自動綁定到Bird類b.fly() ?#②# # 使用對象調用info()靜態方法,其實依然還是使用類調用,# # 因此程序必須為第一個參數執行綁定b.info('網絡毒劉')

?

總結

實例方法只能被實例對象調用,靜態方法(由@staticmethod裝飾的方法)、類方法(由@classmethod裝飾的方法),可以被類或類的實例對象調用。

?

?

實例方法,第一個參數必須要默認傳實例對象,一般習慣用self。


靜態方法,參數沒有要求。

?

類方法,第一個參數必須要默認傳類,一般習慣用cls。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于dreamweaver軟件設計和開發一網站_基于 abp vNext 和 .NET Core 開發博客項目 Blazor 實戰系列(一)...

系列文章使用 abp cli 搭建項目給項目瘦身,讓它跑起來完善與美化,Swagger登場數據訪問和代碼優先自定義倉儲之增刪改查統一規范API,包裝返回模型再說Swagger,分組、描述、小綠鎖接入GitHub,用JWT保護你的API異常處理和…

CSS邊框,背景,邊距,溢出

CSS邊框,背景,邊距,溢出 css邊框屬性 border:寬度 樣式 顏色; border-color; border-style; 邊框樣式:solid實現,dotted點狀線,dashed虛線CSS3的樣式 border-radius:圓角處理 box-shadow: x軸偏移 y軸偏移 模糊度 擴散成都 顏色…

LINUX 內存使用情況

# free 顯示結果如下: Mem:表示物理內存統計 total 內存總數 8057964KBused 已使用的內存 7852484KBfree 空閑的內存數 205480KBshared 當前已經廢棄不用,總是0buffers Buffer 緩存內存數: 290432KBcached Page 緩存內存數:5735024KB(存在關…

vagrant系列教程(四):vagrant搭建redis與redis的監控程序redis-stat(轉)

閱讀目錄 下載redis解壓redis編譯安裝redis配置redisredis開機自啟動系統參數的調整上一篇php7環境的搭建 真是火爆,僅僅兩天時間,就破了我之前swagger系列的一片文章,看來,大家對搭建環境真是情有獨鐘。 為了訪問量,我…

sps及pps在解碼器內傳遞過程

首先解碼器中有一個全局變量seq_parameter_set_rbsp_t SeqParSet[MAXSPS];// MAXSPS32,它是一個指向序列參數集的數組。還有一個全局變量seq_parameter_set_rbsp_t *active_sps;主要為后續解碼所用。解碼器先將碼流中的數據讀入臨時指針sps,之后存入全局…

【技術分享】Ubuntu下使用微信教程

做后端開發的同學用的Linux(ubuntu),肯定會因為沒有適配微信版本會感覺不太舒服,很多時候因為缺少一些辦公通訊軟件而感到不便。現在已經有很方便的Wine WeChat方案,但是微信在Wine上配置還有許多bug,今天在github上看…

python join函數_Python join()函數

原博文 2016-08-12 10:16 ? 今天寫python 100例時,有個題目是大致是這樣的:已知輸入形式是1321,要求輸出形式為1123 一開始思路是將輸入的字符串用split()函數劃分成數組,在對數組進行排序,再用for循環輸出 代碼附上&…

CSS中的盒子

盒子 盒子模型解釋元素在頁面中顯示成一個方塊,類似一個盒子,CSS盒子模型就是使用現實中盒子來做比喻,幫助我們設置元素對應的樣式。盒子模型示意圖如下: 把元素叫做盒子,設置對應的樣式分別為:盒子的邊框…

分享Kali Linux 2017年第17周鏡像文件

分享Kali Linux 2017年第17周鏡像文件 Kali Linux官方于4月23日發布2017年的第17周鏡像。這次維持了11個鏡像文件的規模。默認的Gnome桌面的4個鏡像,E17、KDE、LXDE、MATE、XFCE桌面的各一個,手機版的包括ARMEL和ARMHF。有最近要安裝Kali Linux系統的&am…

Djang重新整理migrations,解決:Django Table xxx already exist

在開發過程中,由于需求變更或者自我重構,需要清理migrations,以保持代碼整潔和后續的可維護性。 場景一 不考慮數據庫數據表,可以完全清空數據庫里面的表的數據。 步驟: 刪除所有migrations find . -path "/migr…

安全隨筆2:對稱加密應用場景

MD5或者說HASH值是一種不可逆的算法。如果需要從密文還原成明文,那么就需要對稱和非對稱這兩類可逆算法。 首先,簡單介紹下這兩類算法。圖9-1是對稱算法的示意圖: 圖9-1 對稱算法 在對稱算法中,首先需要發送方和接收方協定一個密鑰…

python安裝多久_python安裝與使用

1、進入官網下載python軟件 python-3.4.4.amd64.msi http://www.python.org/download/ 這個軟件包含三個環境,如下圖:2、雙擊安裝軟件 3、設置環境變量path";C:\Python34"; 4、驗證是否安裝成功 進入cmd中,輸入python,如果出現如下…

HADAMARD變換

for (j0;j<16;j) { for (i0;i<16;i) { M1[ i ][j]imgY_org[img->opix_yj][img->opix_xi]-img->mprr_2[k][j][ i ]; 計算當前宏塊殘差塊 M0[i%4][i/4][j%4][j/4]M1[ i ][j]; } } current_intra_sad_20; //…

CSS中的塊元素,內聯元素,內聯塊元素

塊元素,內聯元素,內聯塊元素 元素就是標簽&#xff0c;布局中常用的有三種標簽&#xff0c;塊元素、內聯元素、內聯塊元素&#xff0c;了解這三種元素的特性&#xff0c;才能熟練的進行頁面布局。 塊元素塊元素&#xff0c;也可以稱為行元素&#xff0c;布局中常用的標簽如&…

django 與 vue 的完美結合

最近接到一個任務&#xff0c;就是用django后端&#xff0c;前段用vue&#xff0c;做一個普通的簡單系統&#xff0c;我就是一搞后端的&#xff0c;聽到vue也是比較震驚&#xff0c;之前壓根沒接觸過vue。看了vue的一些文檔&#xff0c;還有一些項目&#xff0c;先說一下django…

東芝確定半導體重組計劃:保留閃存其他全賣

會計丑聞給日本東芝公司的業績帶來嚴重影響&#xff0c;為了提高盈利&#xff0c;東芝正在對旗下的半導體、個人電腦、白色家電等業務進行一次重大重組。據日經新聞1月23日報道&#xff0c;東芝已經正式制定了芯片業務重組的詳細計劃&#xff0c;除了占據優勢的閃存芯片之外&am…

python畫兩條曲線圖_python繪制多個曲線的折線圖

這篇文章利用的是matplotlib.pyplot.plot的工具來繪制折線圖&#xff0c;這里先給出一個段代碼和結果圖&#xff1a; # -*- coding: UTF-8 -*- import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt #這里導入你自己的數據 #...... #...... #x_axix&a…

5.19匯總

int block_x 8*(b8 & 0x01)4*(b4 & 0x01);int block_y 8*(b8 >> 1)4*(b4 >> 1);請問下老大 這兩句定義是什么意思啊&#xff1f; 帶些值進去算一下就知道了 b8 0 1 2 3b4 0 1 2 3 A&#xff1a;0 ........Er…

oracle 截取字指定的字符串

過濾指定的字符串,一字符串有重復的數據內容,所以需要去掉重復的內容,subst()截取 起止下標;instr()獲取終止下標位置 例如:substr(p.address, 0, instr(p.address, -, 1, 1)-1) ); case when length(substr(p.address, 0, instr(p.address, -, 1, 1)-1) ) 13 then substr(sub…

[django]django模型中auto_now和auto_now_add

示例: update_time models.DateTimeField(更新時間, defaulttimezone.now) create_time models.DateTimeField(創建時間, auto_now_addTrue) auto_now無論是你添加還是修改對象&#xff0c;時間為你添加或者修改的時間。 auto_now_add為添加時的時間&#xff0c;更新對象時不…