反射的用法總結

2022-07-09 11:09:12 字數 1047 閱讀 1727

一、反射物件的例項變數/繫結方法

import time

class perosn():

def __init__(self, name, birth):

self.name = name

self.birth = birth

@property

def age(self):

return time.localtime().tm_year - self.birth

mkc = perosn('mkc', 1993)

print(mkc.age)

# 反射的用法:

ret = getattr(mkc, 'age')

print(ret)

ret1 = getattr(mkc, 'name')

print(ret1)

二、反射類的靜態/其它方法

class person():

type = '人類'

def __init__(self, name, birth):pass

print(person.type)

print(getattr(person, 'type'))

三、反射模組的任意變數

用法:getattr(模組名, '變數名')

四、反射本模組/指令碼中任意變數

import sys

class person():

type = '人類'

def __init__(self, name, birth):

self.name = name

self.birth = birth

dic =

print(getattr(sys.modules['__main__'], 'dic'))

print(getattr(sys.modules['__main__'], 'person'))

Java 反射用法總結

簡單的來說,就是在程式執行時,獲取類所有屬性和方法資訊 還可以動態建立乙個物件,並且呼叫它的任意乙個方法 訪問和修改任意乙個屬性,包括private修飾的方法和屬性。獲得class物件的三種方法 child child new child class yclass child.getclass cl...

反射 反射的總結

就是得到class物件後,反向獲取物件的各種資訊 公有的,私有的等等 帶有declared修飾的方法可以反射到私有的方法,沒有declared修飾的只能用來反射公有的方法。其他的annotation field constructor也是如此。執行過程中操作各種類的物件。可以解耦,提高可拓展性。效能...

Python 反射的用法

在做程式開發中,我們常常會遇到這樣的需求 需要執行物件裡的某個方法,或需要呼叫物件中的某個變數,但是由於種種原因我們無法確定這個方法或變數是否存在,這是我們需要用乙個特殊的方法或機制要訪問和操作這個未知的方法或變數,這中機制就稱之為反射。接下記錄下反射幾個重要方法 判斷物件中是否有這個方法或變數 c...