最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python類的高級函數(shù)詳解

 更新時間:2021年08月18日 11:11:37   作者:Insane_Loafer  
這篇文章主要介紹了Python類的高級函數(shù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

__str__函數(shù)

  • 如果定義了該函數(shù),當(dāng)print當(dāng)前實例化對象的時候,會返回該函數(shù)的return信息
  • 可用于定義當(dāng)前類的描述信息
  • 用法:
def __str__(self):
	return str_type
  • 參數(shù):無
  • 返回值:一般返回對于該類的描述信息

在這里插入圖片描述

__getattr__函數(shù)

  • 當(dāng)調(diào)用的屬性或者方法不存在時,會返回該方法定義的信息
  • 用法:
def __getattr__(self, key):
	print(something.….)
  • 參數(shù):

key: 調(diào)用任意不存在的屬性名

  • 返回值:

可以是任意類型也可以不進(jìn)行返回

在這里插入圖片描述

__setattr__函數(shù)

  • 攔截當(dāng)前類中不存在的屬性與值
  • 用法:
def __settattr__(self, key,value):
	self._dict_[key] = value
  • 參數(shù):

key當(dāng)前的屬性名

value 當(dāng)前的參數(shù)對應(yīng)的值

  • 返回值: 無

在這里插入圖片描述

__call__函數(shù)

  • 本質(zhì)是將一個類變成一個函數(shù)
  • 用法:
def __call__(self,*args,**kwargs):
	print( 'call will start')
  • 參數(shù): 可傳任意參數(shù)
  • 返回值: 與函數(shù)情況相同可有可無

在這里插入圖片描述

實戰(zhàn)

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time     : 2021/8/15 18:22
# @Author   : InsaneLoafer
# @File     : object_func.py

class Test(object):

    def __str__(self):
        return 'this is a test class'

    def __getattr__(self, key):
        return '這個key:{}并不存在'.format(key)

    def __setattr__(self, key, value):
        print(key, value)
        self.__dict__[key] = value
        print(self.__dict__)

    def __call__(self, *args, **kwargs):
        print('call will start')
        print(args, kwargs)

t = Test()
print(t)
print(t.a)  # 不存在的對象會直接打印出來,而不是報錯
t.name = 'insane'
t(123, name='loafer')


"""實現(xiàn)鏈?zhǔn)讲僮?""
class Test2(object):
    def __init__(self, attr=''):
        self.__attr = attr

    def __call__(self, name):
        print('key is {}'.format(self.__attr))
        return name

    def __getattr__(self, key):
        if self.__attr:
            key = '{}.{}'.format(self.__attr, key)
        else:
            key = key
        print(key)
        return Test2(key)  # 遞歸操作

t2 = Test2()
print(t2.a.c('insane'))
this is a test class
這個key:a并不存在
name insane
{'name': 'insane'}
call will start
(123,) {'name': 'loafer'}
a
a.c
key is a.c
insane

Process finished with exit code 0

到此這篇關(guān)于Python類的高級函數(shù)的文章就介紹到這了,更多相關(guān)Python高級函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python解析html開發(fā)庫pyquery使用方法

    python解析html開發(fā)庫pyquery使用方法

    PyQuery是一個類似于jQuery的Python庫,也可以說是jQuery在Python上的實現(xiàn),能夠以jQuery的語法來操作解析 HTML 文檔,易用性和解析速度都很好
    2014-02-02
  • 神經(jīng)網(wǎng)絡(luò)python源碼分享

    神經(jīng)網(wǎng)絡(luò)python源碼分享

    這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)python源碼分享,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • python字符串下標(biāo)與切片及使用方法

    python字符串下標(biāo)與切片及使用方法

    這篇文章主要介紹了python字符串下標(biāo)與切片及使用方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案

    詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案

    這篇文章主要介紹了詳解Windows下PyCharm安裝Numpy包及無法安裝問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Python-opencv實現(xiàn)紅綠兩色識別操作

    Python-opencv實現(xiàn)紅綠兩色識別操作

    這篇文章主要介紹了Python-opencv實現(xiàn)紅綠兩色識別操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python文件操作模擬用戶登陸代碼實例

    Python文件操作模擬用戶登陸代碼實例

    這篇文章主要介紹了Python文件操作模擬用戶登陸代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Python實現(xiàn)淘寶秒殺功能的示例代碼

    Python實現(xiàn)淘寶秒殺功能的示例代碼

    這篇文章主要介紹了Python實現(xiàn)淘寶秒殺功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Win10+python3.6+git運行出現(xiàn)問題的解決

    Win10+python3.6+git運行出現(xiàn)問題的解決

    這篇文章主要介紹了Win10+python3.6+git運行出現(xiàn)問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 基于Python的XML格式的文件示例代碼詳解

    基于Python的XML格式的文件示例代碼詳解

    這篇文章主要介紹了基于Python的XML格式的文件示例代碼詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • PyCharm虛擬環(huán)境中使用pip指令

    PyCharm虛擬環(huán)境中使用pip指令

    本文主要介紹了PyCharm虛擬環(huán)境中使用pip指令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評論

平塘县| 漳州市| 泰安市| 五家渠市| 石柱| 八宿县| 犍为县| 八宿县| 清镇市| 会昌县| 哈密市| 礼泉县| 常熟市| 鄂温| 蓬溪县| 白朗县| 工布江达县| 海兴县| 双桥区| 鄂托克旗| 五指山市| 都江堰市| 闽清县| 波密县| 五原县| 宝丰县| 黑山县| 商水县| 武隆县| 德江县| 潍坊市| 石泉县| 乌兰察布市| 浑源县| 永昌县| 彭阳县| 汉中市| 肥东县| 穆棱市| 常州市| 石林|