国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python靜態方法與類方法

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-07 16:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

python靜態方法與類方法

1. 寫法上的差異

類的方法可以分為:

靜態方法:有 staticmethod 裝飾的函數

類方法:有 classmethod 裝飾的函數

實例方法:沒有任何裝飾器的普通函數

舉個例子,如下這段代碼中,run 普通的實例方法,eat 是靜態方法,jump 是類方法。

class Animal:
    def __init__(self, name):
        self.name = name

    def run(self):
        print(f"{self.name}跑起來啦")

    @staticmethod
    def eat():
        print("正在吃飯...")

    @classmethod
    def jump(cls, name):
        print(f"{name}跳起來啦")

這三種方法,在寫法有很大的區別:

1、普通的實例方法,在定義時,他的第一個方法固定是 self,如果是從實例調用,那么 self 參數 不需要傳入,如果是通過類調用,那么 self 要傳入已經實例化的對象。

>>> dog=Animal(name="小黑")
>>> dog.run()
小黑跑起來啦
>>> Animal.run(dog)
小黑跑起來啦

2、靜態方法,在定義時,不需要 self 參數。

>>> dog=Animal(name="小黑")
>>> dog.eat()
正在吃飯...
>>> Animal.eat()
正在吃飯...

3、類方法,在定義時,第一個參數固定是 cls,為 class 的簡寫,代表類本身。不管是通過實例還是類調用類方法,都不需要傳入 cls 的參數。

>>> dog=Animal(name="小黑")
>>> dog.jump("小黑")
小黑跳起來啦
>>> Animal.jump("小黑")
小黑跳起來啦

2. 方法與函數區別

在前面,我們很經常提到方法和函數,為免有同學將他們混為一談,我這里總結一下他們的區別。

在 Python 3.x 中,

普通函數(未定位在類里)和靜態方法,都是函數(function )。

實例方法(@staticmethod)和類方法,都是方法(method )。

這些結論其實都可以使用 type 函數得到驗證。

先準備如下代碼

class Animal:
    def __init__(self, name):
        self.name = name

    def run(self):
        print(f"{self.name}跑起來啦")

    @staticmethod
    def eat():
        print("正在吃飯...")

    @classmethod
    def jump(cls, name):
        print(f"{name}跳起來啦")

def demo_func():
    pass

然后進入 Python Console 模式

>>> type(demo_func)  # 普通函數

>>> type(dog.eat)   # 靜態方法

>>>
>>> type(dog.run)  # 實例方法

>>> type(dog.jump)  # 類方法

方法是一種和對象(實例或者類)綁定后的特殊函數。

方法本質上還是函數,不同之處在于它與對象進行綁定。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 面向對象
    +關注

    關注

    0

    文章

    64

    瀏覽量

    10251
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何分辨五網線

    分辨五與六網線的方法如下: 外皮標識 五網線外皮標注“CAT5”,六網線標注“CAT6”。這是最直觀的區分方式,標識直接表明網線的類
    的頭像 發表于 01-28 10:21 ?1112次閱讀

    單片機系統硬件的調試方法

    單片機的系統硬件調試,通常有靜態調試和動態調試兩種不同,前者是通過目測、萬能表測試、加電檢查、聯機檢查的方法,在加電于樣機之前.對樣機的型號規格,以及安裝要求等進行核對,同時檢查 電源 系統.防止
    發表于 12-03 06:10

    求助,靜態電流測試,穩態測試怎么做

    我是一名剛入職的實習生,我的嵌入式這一塊的知識很欠缺,但是交給我的任務就是做一塊DEMO板的靜態電流測試和穩態測試,我目前有的工具如圖所示,請求各位大佬教給我具體方法(最好是能有操作步驟)和思路,多謝各位了
    發表于 11-12 15:46

    Python調用API教程

    兩個不同系統之間的信息交互。在這篇文章中,我們將詳細介紹Python調用API的方法和技巧。 一、用Requests庫發送HTTP請求 使用Python調用API的第一步是發送HTTP請求,通常
    的頭像 發表于 11-03 09:15 ?870次閱讀

    開關電源測試流程方法合集

    的標準解決方案,因此本文針對開關電源電性能的測試流程和方法進行總結。 本文主要介紹開關電源的基礎測試項目流程和方法,其中溫度、濕度以及電磁測試等特殊測試不在本文范圍之內。 電源模塊 測試儀器: 交流穩壓電源:提供
    的頭像 發表于 10-31 09:36 ?1287次閱讀
    開關電源測試流程<b class='flag-5'>方法</b>合集

    利用軟件的方法解決EMC問題

    一前言隨著信息技術和半導體技術的快速發展,電子產品的類型和功能模塊日益多樣化,提訊傳輸速率也日益提高,產品的EMC問題也是越來越多樣化,解決EMC問題的方法多種多樣,常見的方法硬件層面的居多,然而
    的頭像 發表于 10-28 11:35 ?297次閱讀
    利用軟件的<b class='flag-5'>方法</b>解決EMC問題

    諧波源定位常用的方法有哪些?

    諧波源定位的核心是通過 “信號測量→特征分析→邏輯判斷”,確定電網中產生諧波的具體設備、用戶或區域,常用方法可按 “原理差異” 分為功率流向、暫態對比、阻抗分析、相位判斷
    的頭像 發表于 10-13 16:41 ?950次閱讀

    動態調整同步周期的具體方法是什么?

    資源浪費” 之間找到動態平衡。其具體方法可分為四大,每類均包含 “狀態感知 - 閾值判斷 - 周期調整 - 反饋驗證” 的閉環邏輯,以下為詳細說明: 一、基于 “同步誤差反饋” 的動態調整(核心基礎方法) 該
    的頭像 發表于 09-19 11:31 ?720次閱讀

    邊聊安全 | 軟件單元測試的設計方法

    的設計是確保代碼正確性和可靠性的關鍵步驟。在軟件單元測試中,等價測試是一種很重要的測試設計方法,它通過將輸入數據劃分為若干個等價,并從每個等價中選取代表性的數
    的頭像 發表于 09-05 16:18 ?7403次閱讀
    邊聊安全 | 軟件單元測試的設計<b class='flag-5'>方法</b>

    Python中字符串逆序有幾種方式,代碼是什么

    對于一個給定的字符串,逆序輸出,這個任務對于python來說是一種很簡單的操作,畢竟強大的列表和字符串處理的一些列函數足以應付這些問題 了,今天總結了一下python中對于字符串的逆序輸出的幾種常用
    的頭像 發表于 08-28 14:44 ?1082次閱讀

    淺談半導體薄膜制備方法

    本文簡單介紹一下半導體鍍膜的相關知識,基礎的薄膜制備方法包含熱蒸發和濺射法兩。
    的頭像 發表于 06-26 14:03 ?1574次閱讀
    淺談半導體薄膜制備<b class='flag-5'>方法</b>

    詳解ADC電路的靜態仿真和動態仿真

    ADC電路主要存在靜態仿真和動態仿真兩仿真,針對兩種不同的仿真,我們存在不同的輸入信號和不同的數據采樣,因此靜態仿真和動態仿真是完全不同的兩個概念,所以設置的參數不同。
    的頭像 發表于 06-05 10:19 ?1981次閱讀
    詳解ADC電路的<b class='flag-5'>靜態</b>仿真和動態仿真

    數字IC設計:方法、技巧與實踐

    方法,以及和綜合關系密切的靜態時間分析和一致性檢查技術。最后一章介紹了芯片設計的項目管理。 獲取完整文檔資料可下載附件哦?。。?!如果內容有幫助可以關注、點贊、評論支持一下哦~
    發表于 05-28 16:06

    參考cycx3_uvc_ov5640例程,想進行按鍵觸發拍照,使用方法一,請問怎么實現的?

    [] = #ifdef STILL_CAPTURE_ENABLE 0x02, /* 支持方法 2 靜態圖像捕獲方法 *//ZHN 02-&gt;01 不能改 1 改完 USB 出錯,藍屏
    發表于 05-21 07:24

    python入門圣經-高清電子書(建議下載)

    和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、、文件與異常、代碼測試等內容; 第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D 游戲開發如何利用數據
    發表于 04-10 16:53