【Python系列】Python 中方法定義與方法調用詳解

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。
img

  • 推薦:kwan 的首頁,持續學習,不斷總結,共同進步,活到老學到老
  • 導航
    • 檀越劍指大廠系列:全面總結 java 核心技術點,如集合,jvm,并發編程 redis,kafka,Spring,微服務,Netty 等
    • 常用開發工具系列:羅列常用的開發工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 數據庫系列:詳細總結了常用數據庫 mysql 技術點,以及工作中遇到的 mysql 問題等
    • 懶人運維系列:總結好用的命令,解放雙手不香嗎?能用一個命令完成絕不用兩個操作
    • 數據結構與算法系列:總結數據結構和算法,不同類型針對性訓練,提升編程思維,劍指大廠

非常期待和您一起在這個小小的網絡世界里共同探索、學習和成長。💝💝💝 ?? 歡迎訂閱本專欄 ??

博客目錄

    • 1.引言
    • 2.類與對象的基礎
    • 3.方法的定義
    • 4.方法的調用
    • 5.類方法與靜態方法
    • 6.方法的參數傳遞
    • 7.方法的返回值

1.引言

Python 是一種面向對象的編程語言,它允許我們通過定義類(Class)和對象(Object)來組織代碼。在面向對象編程中,方法(Method)是與對象相關聯的函數,它定義了對象的行為。本文將詳細介紹 Python 中方法的定義與調用,幫助讀者深入理解面向對象編程的核心概念。
在這里插入圖片描述

2.類與對象的基礎

在 Python 中,類是創建對象的藍圖,它定義了對象的屬性和方法。對象則是根據類創建的具體實例。下面是一個簡單的類定義示例:

class Car:def __init__(self, brand, model):self.brand = brandself.model = model

在這個例子中,Car是一個類,它有兩個屬性:brand(品牌)和model(型號)。__init__是一個特殊的方法,稱為構造函數,用于初始化對象的狀態。

3.方法的定義

在類中,除了__init__方法外,我們還可以定義其他方法來描述對象的行為。這些方法通常以self作為第一個參數,self代表了當前對象的實例。以下是在Car類中定義一個方法的示例:

class Car:def __init__(self, brand, model):self.brand = brandself.model = modeldef start_engine(self):print(f"The {self.model} by {self.brand} has started.")

在這個例子中,start_engine是一個方法,它定義了汽車啟動引擎的行為。self參數允許該方法訪問和修改對象的屬性。

4.方法的調用

定義了類和方法之后,我們可以創建對象并調用其方法。以下是如何創建Car對象并調用start_engine方法的示例:

my_car = Car("Tesla", "Model S")
my_car.start_engine()

在這個例子中,我們首先創建了一個Car對象my_car,然后調用了它的start_engine方法。輸出將是:“The Model S by Tesla has started.”

5.類方法與靜態方法

除了實例方法(通過self調用的方法),Python 還支持類方法和靜態方法:

  • 類方法:使用@classmethod裝飾器定義,它們的第一個參數是類本身,通常用cls表示。
  • 靜態方法:使用@staticmethod裝飾器定義,它們不需要類或實例的引用。

以下是類方法和靜態方法的示例:

class Car:def __init__(self, brand, model):self.brand = brandself.model = model@classmethoddef get_class_info(cls):print(f"Class: {cls.__name__}")@staticmethoddef check_speed(speed):print(f"Speed: {speed} km/h")# 創建Car對象
my_car = Car("Toyota", "Corolla")# 調用類方法
Car.get_class_info()# 調用靜態方法
Car.check_speed(120)

6.方法的參數傳遞

方法可以接收參數,這些參數可以是位置參數、關鍵字參數、默認參數、可變位置參數和可變關鍵字參數。以下是參數傳遞的示例:

class Car:def __init__(self, brand, model):self.brand = brandself.model = modeldef drive(self, distance, speed=60):print(f"Driving {distance} km at {speed} km/h")def drive_to(self, destination, **kwargs):print(f"Driving to {destination} with settings {kwargs}")# 調用drive方法
my_car.drive(100)# 調用drive方法并指定速度
my_car.drive(200, speed=80)# 調用drive_to方法并傳遞關鍵字參數
my_car.drive_to("Beijing", distance=1000, speed=100)

在這里插入圖片描述

7.方法的返回值

方法可以有返回值,也可以沒有。如果方法沒有返回值,默認返回None。以下是方法返回值的示例:

class Calculator:def add(self, a, b):return a + bdef multiply(self, a, b):return a * b# 創建Calculator對象
calc = Calculator()# 調用方法并獲取返回值
result = calc.add(5, 3)
print(f"The sum is: {result}")product = calc.multiply(4, 5)
print(f"The product is: {product}")

覺得有用的話點個贊 👍🏻 唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評論批評指正!😄😄😄

💘💘💘如果覺得這篇文對你有幫助的話,也請給個點贊、收藏下吧,非常感謝!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且長,行則將至,讓我們一起加油吧!🌙🌙🌙

img

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

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

相關文章

詳細介紹運算符重載函數,清晰明了

祝各位六一快樂~ 前言 1.為什么要進行運算符重載? C中預定義的運算符的操作對象只能是基本數據類型。但實際上,對于許多用戶自定義類型(例如類),也需要類似的運算操作。這時就必須在C中重新定義這些運算符&#xff…

短信發送驗證碼及郵件發送驗證碼

發送短信驗證碼 阿里云發送驗證碼 public Integer sendTelCode(String tel) {String url "https://dfsns.market.alicloudapi.com/data/send_sms";String appcode "a3198282fbdf443d97aa9f3cfbe1232e";int code RandomUtil.randomInt(1000,10000);emai…

【DSP】xDAIS算法標準

1. 簡介 在安裝DSP開發支持包時,有名為 “xdais_7_21_01_07”文件夾。xDAIS全稱: TMS320 DSP Algorithm Standard(算法標準)。39條規則,15條指南。參考文檔。參考文章。 2. 三個層次 3.接口 XDAIS Digital Media。編解碼引擎。VISA(Video&…

LeetCode前端刷題指南:探索四大領域,精通五大技能,掌握六大題型,運用七大策略

LeetCode前端刷題指南:探索四大領域,精通五大技能,掌握六大題型,運用七大策略 在前端開發的廣闊領域中,刷題是提高自身能力、深入理解算法和數據結構的重要途徑。LeetCode作為知名的在線刷題平臺,為前端開…

牛客小白月賽95VP

早上藍橋杯大寄&#xff0c;算是交了300元買了件T恤qaq 1.簽到&#xff1a;https://ac.nowcoder.com/acm/contest/83687/A 下面是AC代碼&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int a,b;cin>>a>>b;if(ab) cout<<&quo…

簡述你對 SPA 單??的理解,它的優缺點分別是什么 ?

SPA&#xff08;Single-Page Application&#xff0c;單頁應用&#xff09;是一種在Web開發中廣泛使用的應用架構模式。它允許用戶通過交互操作來更新頁面的部分內容&#xff0c;而無需重新加載整個頁面。以下是關于SPA的理解、優點和缺點的簡要說明。 SPA的理解 SPA的核心思…

qi5uxeel算法分析流程記錄libmsec.so

動態注冊函數主要方法在so層。 libmsec.so 通過regsiterNative方法注冊62個函數 加殼混淆ollvm動態反調試等你還能再惡心點不 分析流程定位關鍵點 算法設計SM4以及各類自定義簽名算法 涉及到的知識包含Java C Android 完整混淆流程如下圖&#xff0c; 不得不說你開發的…

微信小程序canvas畫圖使用百分比適配不同機型屏幕達到任何屏幕比例皆可!完美適配任何機型!指定canvas尺寸適配亦可!保證全網唯一完美

錯誤代碼示例: // 在onLoad中調用 const that = this wx.getSystemInfo({success: function (res) {console.log(res)that.setData({model: res.model,screen_width: res.windowWidth/375,screen_height: res.windowHeight})} }) 我看到網上很多使用上面這種代碼去適配,其…

C語言 指針——函數指針

目錄 什么是函數指針&#xff1f; 函數指針的定義 定義函數指針時的常見錯誤 函數指針有什么用&#xff1f; 函數指針的主要應用 什么是函數指針&#xff1f; 函數指針 (Function Pointer) 就是指向函數的指針變量 數據類型 ( * 指針變量名 ) ( 形參列表 ); 例如&#x…

【回眸】牛客網刷刷刷(九) ——面試經驗篇(含參考回答)

前言 度過了忙碌的4個月&#xff0c;經歷了加班、籌備wedding、更新簡歷&#xff0c;終于有些許喘息時間。 下面的規劃比較簡單&#xff0c;一個是備考3個月后的雅思&#xff0c;一個是積累牛客網沖浪經驗&#xff0c;最后一個是記錄工作交接項。 牛客網刷刷刷這個系列也終于迎…

el-date-picker 選擇日期范圍只保存左側日期面板

需求 日期篩選&#xff0c;但限制只能選擇同一個月的數據&#xff0c;故此應該去掉右側月份面板。 實現 主要是通過 css 樣式實現&#xff1a; <style> /* 隱藏右邊日期面板 */ .el-picker-panel__content.el-date-range-picker__content.is-right .el-date-table, .…

拼多多商品信息一鍵抓取:深度解析商品詳情接口,Python實戰代碼來襲!

拼多多的商品詳情接口允許開發者通過指定的商品ID獲取商品的詳細信息&#xff0c;如商品標題、價格、描述、圖片等。接口采用HTTP請求方式&#xff0c;支持GET方法&#xff0c;返回格式為JSON。 三、接口調用 要調用拼多多的商品詳情接口&#xff0c;你需要遵循以下步驟&…

深度學習-01-作為“箱子“的變量

深度學習-01-作為"箱子"的變量 本文是《深度學習入門2-自製框架》 的學習筆記&#xff0c;記錄自己學習心得&#xff0c;以及對重點知識的理解。如果內容對你有幫助&#xff0c;請支持正版&#xff0c;去購買正版書籍&#xff0c;支持正版書籍不僅是尊重作者的辛勤勞…

6.12 Libbpf-bootstrap(三,APP)

一,APP 既然我們已經了解了最小應用以及Makefile中的編譯方式,接下來我們將通過bootstrap應用程序展示的一些額外的BPF特性。在現代BPF Linux環境中,bootstrap是我編寫可用于生產環境的BPF應用程序的方式。它依賴于BPF CO-RE(閱讀原因請點擊這里),并且需要Linux內核以CO…

Java基礎知識點(反射、注解、JDBC、TCP/UDP/URL)

文章目錄 反射反射的定義class對象反射的操作 注解注解的定義注解的應用注解的分類基準注解元注解 自定義注解自定義規則自定義demo JDBCTCP/UDP/URLTCPUDPURL 反射 反射的定義 Java Reflection是Java被視為動態語言的基礎啊&#xff0c; 反射機制允許程序在執行期間接入Refl…

[數據集][目標檢測]腦腫瘤檢測數據集VOC+YOLO格式9787張3類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;9787 標注數量(xml文件個數)&#xff1a;9787 標注數量(txt文件個數)&#xff1a;9787 標注…

【圖像增強處理工具】軟件使用說明書

軟件使用說明書 軟件名稱 圖像增強處理工具 軟件簡介 該軟件是一個基于 PySide6 和 OpenCV 的圖像處理工具,用戶可以通過 GUI 界面來執行圖像的旋轉、平移和鏡像操作,并將處理后的圖像保存到指定路徑。 運行軟件須知 確保 ui_form.py 文件在同一目錄下,該文件包含了通…

Bean-Searcher的使用提高查詢效率

Bean Searcher官網 添加pom.xml依賴 <dependency><groupId>cn.zhxu</groupId><artifactId>bean-searcher-boot-starter</artifactId><version>4.2.9</version> </dependency>在controller層注入 Autowiredprivate MapSearch…

淺談安科瑞ASJ10-LD1A智能漏電繼電器的設計與應用-安科瑞 蔣靜

一 產品簡介 功能 ASJ10-LD1A安科瑞智能電力繼電器 剩余電流保護可與低壓斷路器或低壓接觸器等組成組合式的剩余電流動作保護器&#xff0c;主要適用于交流50Hz&#xff0c;額定電壓為400V及以下的TT或TN系統配電線路&#xff0c;防止接地故障電流引起的設備和電氣火災事故&a…

AndroidStudio中debug.keystore的創建和配置使用

1.如果沒有debug.keystore,可以按照下面方法創建 首先在C:\Users\Admin\.android路徑下打開cmd窗口 之后輸入命令:keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 輸入兩次密碼(密碼不可見,打碼處隨便填寫沒關系) 2.在build…