日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

乐学python_【IT专家】铁乐学python

發布時間:2024/7/5 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 乐学python_【IT专家】铁乐学python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鐵樂學

python

2018/04/18 13

鐵樂學

python_day23_

面向對象進階

1_

反射

以下內容大部分摘自博客

cnblogs/Eva-J/

isinstance()

issubclass()

兩者的返回值都是布爾值

isinstance()

能夠檢測到繼承關系

type()

只能單純的判

斷類

isinstance()

判斷一個對象和一個類有沒有血緣關系

issubclass()

接收兩個參數,前一個是子類名,后一個是父類名

如果返回

True,

明有父子

(

繼承

)

關系。

isinstance(obj,cls)

檢查

obj

是否是類

cls

的對象

class Foo(object): passobj = Foo()

#

實例化

isinstance(obj, Foo)issubclass(sub, super)

檢查

sub

類是否是

super

類的派生

class Foo(object): passclass Bar(Foo): passissubclass(Bar, Foo)issubclass

可以追溯

更遠的源頭,例如:

class

tuple_A():

passclass

grandfather_B(tuple_A):

passclass

father_C(grandfather_B):

passclass

son_D(father_C):

passprint(issubclass(son_D,

tuple_A))

#

返回

True

,是不是很像吸血鬼家族呢?

1

什么是反射

反射的概念是由

Smith

1982

年首次提出的,主要是指程序可以訪問、檢測和修改它本身狀態或行

為的一種能力(自省)。這一概念的提出很快引發了計算機科學領域關于應用反射性

的研究。它首先被程序語言的設計領域所采用

,

并在

Lisp

和面向對象方面取得了成

績。

2

python

面向對象中的反射:

通過字符串的形式操作對象相關的屬性。

python

中的一切事物都是對象(都可以使用反射)

四個可以實現自省的函數:

下列方法

適用于類和對象(一切皆對象,類本身也是一個對象)

1

hasattr(*args, **kwargs)def hasattr(*args, **kwargs): # real signature unknown

Return whether

the

object

has an attribute with

the

given

name.

This

is done

by

calling

getattr(obj,

name)

and

catching

AttributeError.

pass2

getattr(object,

name,

default=None)def

getattr(object,

name,

default=None):

#

known

special

case

of

getattr

getattr(object, name[, default]) - value Get a named attribute from an object; getattr(x,

‘y’)

總結

以上是生活随笔為你收集整理的乐学python_【IT专家】铁乐学python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。