Python魔法函數詳解

一、Python魔法函數int

1、Python中整數類型的表示方法是int(整型),可以通過內置函數int()進行轉換。int()可以將字符串,浮點數或者其它一些類型的數據轉換為整數,如果是浮點數,函數會將其直接截斷刪除小數部分


num = int('123')
print(num)    #輸出123

num = int(3.14)
print(num)    #輸出3

2、在Python內部,使用了一個叫做PyObject的結構體表示所有對象,其中一個成員變量ob_type就是用來表示該對象的類型的。而在Python中,int類型實際上也是一個對象。故int類型同樣也具有對象的特性,支持type()函數


num = 10
print(type(num))    #輸出

二、Python函數調用圖

1、Python中的魔法方法,是指在實現某些特定功能時,遵循一定的編碼規則,Python可以識別並自動執行的特殊函數。Python中內置的函數都有特定的魔法方法,例如len()函數有__len__()魔法方法,在使用len()函數的時候就會自動調用__len__()魔法方法

2、下面是一個Python函數調用圖的示例,展示了Python幾個常見的魔法函數及其相互之間的關係


           object
             |
     _____________
     |           |
   type       object
     |           |
   object     type
     |           |
  int,str   int,str

三、Python魔法函數詳解

1、Python中的魔法函數都以雙下劃線開始和結尾,例如__init__(),__str__()等函數都是魔法函數

2、下面是一個實現矩陣加法的例子,它用到了__add__()魔法方法


class Matrix:
    def __init__(self, matrix):
        self.matrix = matrix
    def __add__(self, other):
        result = []
        for i in range(len(self.matrix)):
            row = []
            for j in range(len(self.matrix[0])):
                row.append(self.matrix[i][j] + other.matrix[i][j])
            result.append(row)
        return Matrix(result)
m1 = Matrix([[1, 2], [3, 4]])
m2 = Matrix([[4, 3], [2, 1]])
print((m1 + m2).matrix)    #輸出[[5, 5], [5, 5]]

四、Python魔法函數add

1、__add__()方法用於定義兩個對象相加的行為,需要兩個參數,self為第一個對象,other為第二個對象。該方法可以返回任何類型的值。

2、下面是一個實現字符串相加的例子,它用到了__add__()魔法方法


class stringAdd:
    def __init__(self, value):
        self.value = value
    def __add__(self, other):
        if isinstance(other, stringAdd):
            return self.value + other.value
        else:
            return self.value + str(other)
sa1 = stringAdd('hello')
sa2 = stringAdd('world')
print(sa1 + sa2)    #輸出helloworld
sa3 = stringAdd('the number is ')
print(sa3 + 42)    #輸出the number is 42

五、Python魔法函數大全

1、Python魔法函數大全可以參考官方文檔,下面列舉一些常見的魔法函數:

__init__(self[, …]) 構造函數,在對象初始化時調用

__str__(self) 在使用print輸出對象時自動調用,返回一個描述對象的字符串

__repr__(self) 定義打印對象時的輸出結果

__len__(self) 定義當被 len() 調用時的行為

__getitem__(self, key)定義獲取容器中指定元素(key)的行為,相當於self[key]

__setitem__(self, key, value)定義設置容器中指定元素(key)的行為,相當於self[key] = value

__delitem__(self, key)定義刪除容器中指定元素的行為,相當於del self[key]

__iter__(self)定義當迭代容器中的元素時的行為

__contains__(self, item)定義當使用in判斷元素是否在容器中時的行為,相當於item in self

六、Python魔法函數的作用

1、Python魔法函數主要是為某些特殊需求而設計的。例如__str__()和__repr__()函數用於打印輸出對象的信息,__add__()函數用於定義兩個對象相加的行為,__len__()函數定義當被len()調用時的行為等。

2、在Python中,大量使用魔法函數可以提高代碼的可讀性和可維護性,使開發更加方便快捷。

七、Python語法

1、Python是一種面向對象、解釋型的高級編程語言。Python語法簡潔清晰、易學易懂、運行速度快,被廣泛應用於web開發、數據科學、人工智能等領域。

2、Python魔法函數是實現Python語法糖的一種方式,可以更加方便快捷地編寫代碼,提高代碼的可讀性和可維護性。

八、Python怎麼用

1、Python的安裝


1)在官網下載Python的安裝文件
2)運行安裝文件,按照提示進行安裝
3)安裝完成後,通過命令行輸入python命令即可進入Python交互環境

2、Python的編寫


1)使用Python自帶的IDLE或者其他開發環境進行編寫
2)新建.py文件,使用Python語法編寫程序
3)保存文件,運行python xxx.py命令即可執行

3、Python的學習


1)可以通過閱讀官方文檔、參考書籍等途徑進行學習
2)也可以通過網絡上的免費、付費教程進行學習

本文只介紹了Python魔法函數的一些基本概念和用法,希望讀者可以深入學習,掌握更多更高級的技能。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/153626.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-14 03:06
下一篇 2024-11-14 03:06

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論