Rumah  >  Soal Jawab  >  teks badan

python - 如何动态获取某个对象的某个属性的名字

举个例子

class A:
    def __init__(self,value1,value2):
        self.value1=value1
        self.value2=value2

def function(value):
    #do some thing and get the name of obj.property
    print(property)

tempObj=A()    

function(tempObj.value1)#这里会print输出value1,无论value1值是多少
function(tempObj.value2)#这里会print输出value2,无论value2值是多少

真实遇到的问题是这样的
在写restfulApi,每次会在逻辑代码前要检查传入数据的正确性,经常会检查数组的长度

然后大概写成这样

def post(self):
    parsed_data = self.parser.parse_args()
    if len(parsed_data.T) < 8:
        return make_parser_error('T', '不得少于8个')

我想把代码变成

def post(self):
    parsed_data = self.parser.parse_args()
    check_result=function(parsed_data.T,8)
    if check_result:
        return check_result,400 #400是返回状态码
天蓬老师天蓬老师2760 hari yang lalu729

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-04-18 10:19:21

    Sepatutnya tidak mungkin untuk mendapatkan nama pembolehubah melalui pembolehubah dalam Python Paling banyak, nama kelas boleh diperoleh, kerana Python ialah jenis nilai Jika nilai1 dan nilai2 mempunyai nilai yang sama, maka ia adalah objek yang sama dan tunjuk tempat yang sama dalam ingatan

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:19:21

    python3

    __dict__

    class A:
        def __init__(self,v=0):
            self.v=v
    
            
    a=A()
    print(a.v) # 0
    
    for k,v in a.__dict__.items():
        print('key:%s, val:%d' % (k,v))
    
        
    # key:v, val:0
    

    balas
    0
  • Batalbalas