亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python面向?qū)ο缶幊讨惖倪\算

 更新時間:2021年11月01日 15:02:16   作者:一碗周  
這篇文章主要介紹了Python面向?qū)ο缶幊讨惖倪\算,運算即Operation是操作邏輯的抽象,運算體現(xiàn)一種操作邏輯,在廣義角度來說任何程序都是一種運算,接下來看看文章具體內(nèi)容及各種舉例說明,希望對你有所幫助

1、運算概念的理解

運算(Operation)是操作邏輯的抽象

  • 運算體現(xiàn)一種操作邏輯,在廣義角度來說任何程序都是一種運算
  • Python解釋器通過保留方法預(yù)留了一批運算的接口,需要重載
  • 保留方法一般對應(yīng)運算符,Python中運算體現(xiàn)為運算符的重載
  • 運算本質(zhì)上體現(xiàn)了交互關(guān)系、包含關(guān)系和常規(guī)的操作關(guān)系

運算重載的限制

  • 不能重載Python語言內(nèi)置類型的運算符
  • 不能新建運算符,只能通過重載完成
  • is,and,not,or不能被重載

2、運算符的重載

2.1 算術(shù)運算符

一元運算符:+、-、~
二元運算符:+-、*、///、%divmod()  、 pow() 、**、<<、>>、&^、|

保留方法 對應(yīng)操作 描述
.__neg__(self) -obj 定義對象取負(fù)的運算邏輯
.__pos__(self) +obj 定義對象取正的運算邏輯
.__abs__(self) abs(obj) 定義對象絕對值的運算邏輯
.__invert__(self) ~obj 定義對象取反的運算邏輯
.__add__(self, other) obj + other 定義了兩個對象加法的運算邏輯
.__sub__(self, other) obj - other 定義了兩個對象減法的運算邏輯
.__mul__(self, other) obj * other 定義了兩個對象乘法的運算邏輯
.__truediv__(self, other) obj / other 定義了兩個對象除法的運算邏輯
.__floordiv__(self, other) obj // other 定義了兩個對象整數(shù)除的運算邏輯
.__mod__(self, other) obj % other 定義了兩個對象模的運算邏輯
.__divmod__(self, other) divmod(obj, other) 定義了兩個對象除模的運算邏輯
.__pow__(self, other) obj ** other 定義對象冪的運算邏輯
.__lshift__(self, other) obj << other 定義對象左移的運算邏輯
.__rshift__(self, other) obj >> other 定義對象右移的運算邏輯
.__and__(self, other) obj & other 定義兩個對象位于運算邏輯
.__xor__(self, other) obj ^ other 定義兩個對象位異或的運算邏輯
.__or__(self, other) `obj other`

2.2 比較運算符

比較運算符:<、<=、==、!=、>、>=

保留方法 對應(yīng)操作
.__lt__(self, other) obj < other
.__le__(self, other) obj <= other
.__eq__(self, other) obj == other
.__be__(self, other) obj != other
.__gt__(self, other) obj > other
.__ge__(self, other) obj >= other

 兩個對象比較操作的運算重載

2.3 成員運算

成員獲?。?/strong>[]def、 .eversed()
成員判斷:in

保留方法 對應(yīng)操作 描述
.__getitem__(self, key) obj[k] 定義獲取對象中序號K元素的運算邏輯,K為整數(shù)
.__setitem__(self, key, v) obj[k] = v 定義賦值對象中序號K元素的運算邏輯
.__delitem__(self, key) del obj[k] 定義刪除對象中序號K元素的運算邏輯
.__reversed__(self) obj.reversed() 定義對象逆序的運算邏輯
.__contains__(self, item) item in obj 定義in操作符對應(yīng)的運算邏輯

2.4 其他運算

Python內(nèi)置函數(shù):rep(),str(),len(),int(),flaot,complex(),round(),bytes(),bool(),format(),.format(常用方法)

保留方法 對應(yīng)操作 描述
__repr__(self) repr(obj) 定義對象可打印字符串的運算邏輯
__str__(self) str(obj) 定義對象字符串轉(zhuǎn)換的運算邏輯
__len__(self) len(obj) 定義對象長度操作的運算邏輯
__int__(self) int(obj) 定義對象整數(shù)轉(zhuǎn)換的運算邏輯
__float__(self) float(obj) 定義對象浮點數(shù)轉(zhuǎn)換的運算邏輯
__complex__(self) complex(obj) 定義對象復(fù)數(shù)轉(zhuǎn)換的運算邏輯
__round__(self) round(obj) 定義對象四舍五入的運算邏輯
__bytes__(self) bytes(obj) 定義對象字節(jié)串轉(zhuǎn)換的運算邏輯
__bool__(self) bool(obj) 定義對象布爾運算的運算邏輯
.__format__(self, format_spec) obj.format() format(obj) 定義對象格式化輸出的運算邏輯

3、Python類的多態(tài)

多態(tài) _(Polymorphism)_是針對方法,體現(xiàn)方法靈活性的多態(tài);簡單的說,他包含兩部分

參數(shù)類型的多態(tài):一個方法能夠處理多個類型的能力

Python的函數(shù)/方法沒有類型聲明限制,天然支持參數(shù)類型的多態(tài)性

Python編程理念在于:文檔約束,而非語法約束

對不同參數(shù)類型的區(qū)分以及功能,需要有程序員完成

參數(shù)形式的多態(tài):一個方法能夠接受多個參數(shù)的能力

Python的函數(shù)/方法可以支持可變參數(shù),支持參數(shù)形式的多態(tài)性

Python的類方法也是函數(shù),函數(shù)的各種定義方式均有效

對不同參數(shù)個數(shù)以及默認(rèn)值的確定,需要由程序員完成

多態(tài)是OOP的一個傳統(tǒng)概念,Python天然支持多態(tài),不需要特殊語法,示例代碼如下所示:

import abc
class Animal(metaclass=abc.ABCMeta): #同一類事物:動物
    @abc.abstractmethod
    def talk(self):
        pass

class Cat(Animal): #動物的形態(tài)之一:貓
    def talk(self):
        print('say miaomiao')

class Dog(Animal): #動物的形態(tài)之二:狗
    def talk(self):
        print('say wangwang')

class Pig(Animal): #動物的形態(tài)之三:豬
    def talk(self):
        print('say aoao')

到此這篇關(guān)于Python面向?qū)ο缶幊讨惖倪\算的文章就介紹到這了,更多相關(guān)Python類的運算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VsCode中超好用的8個python插件推薦

    VsCode中超好用的8個python插件推薦

    本人日常使用vscode進(jìn)行開發(fā),并且比較喜歡折騰vscode,會到處找這一些好玩的插件,于是越攢越多,下面這篇文章主要給大家介紹了關(guān)于VsCode中超好用的8個python擴(kuò)展插件的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python 靜態(tài)方法和類方法實例分析

    Python 靜態(tài)方法和類方法實例分析

    這篇文章主要介紹了Python 靜態(tài)方法和類方法,結(jié)合實例形式分析了Python類、實例、靜態(tài)方法等相關(guān)概念、原理與使用技巧,需要的朋友可以參考下
    2019-11-11
  • python 字符串追加實例

    python 字符串追加實例

    今天小編就為大家分享一篇python 字符串追加實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python異?;怋aseException詳解

    python異?;怋aseException詳解

    這篇文章主要為大家介紹了python異?;怋aseException詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 對django 模型 unique together的示例講解

    對django 模型 unique together的示例講解

    今天小編就為大家分享一篇對django 模型 unique together的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python2.x版本中maketrans()方法的使用介紹

    Python2.x版本中maketrans()方法的使用介紹

    這篇文章主要介紹了Python2.x版本中maketrans()方法的使用介紹,是Python學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • Python中的logging模塊實現(xiàn)日志打印

    Python中的logging模塊實現(xiàn)日志打印

    這篇文章主要介紹了Python中的logging模塊實現(xiàn)日志打印,其實不止print打印日志方便排查問題,Python自帶的logging模塊,也可以很簡單就能實現(xiàn)日志的配置和打印,下面來看看具體的實現(xiàn)過程吧,需要的朋友可以參考一下
    2022-03-03
  • Python數(shù)據(jù)庫封裝實現(xiàn)代碼示例解析

    Python數(shù)據(jù)庫封裝實現(xiàn)代碼示例解析

    這篇文章主要介紹了Python數(shù)據(jù)庫封裝實現(xiàn)代碼示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • Python/JS實現(xiàn)常見加密算法的示例代碼

    Python/JS實現(xiàn)常見加密算法的示例代碼

    這篇文章主要為大家詳細(xì)介紹了常見的一些JS加密,并記錄了JS和Python的實現(xiàn)方式,主要有base64編碼偽加密、MD5、SHAI等,需要的可以參考一下
    2022-11-11
  • python中sort()和sorted()的區(qū)別及用法實例

    python中sort()和sorted()的區(qū)別及用法實例

    我們通常會遇到對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行排序的問題,下面這篇文章主要給大家介紹了關(guān)于python中sort()和sorted()的區(qū)別及用法的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評論