#!usr/bin/env python3 # -*- coding: utf-8 -*- '获取对象信息' print('type\n') num = 1234 print(num.__class__.__name__,type(num)) def fun(): pass print(fun.__class__.__name__,type(fun)) import types print(type(fun)==types.FunctionType) print(type(fun)==types.BuiltinFunctionType) print(type(abs)==types.BuiltinFunctionType) print(type(x for x in range(10))==types.GeneratorType) print(type((x for x in range(10)))==types.GeneratorType) print('\nisinstance\n') import 继承和多态 as Inherit bio = Inherit.Biology('Biology A') ani = Inherit.Animal('Animal A') pla = Inherit.Plant('Plant A') cat = Inherit.Cat('Miao') dog = Inherit.Dog('Wang') apl = Inherit.Fruit('Apple') act = Inherit.action print(isinstance(ani,bio.__class__)) print(isinstance(pla,bio.__class__)) print(isinstance(cat,bio.__class__)) print(isinstance(cat,ani.__class__)) print(isinstance(cat,dog.__class__)) print(isinstance(num,int)) print(isinstance('123',str)) print(isinstance('123',(str,int))) #print(isinstance(num,[str,int])) print('\ndir()\n') print(dir(str),dir(str)==dir('123'), '12453'.__len__(),range(100).__len__()) print('\n获取操作对象的状态\n') class myNum(object): def __init__(self,num): self.__num = num def setNum(self,num): self.__num = num def getNum(self): return self.__num def addNum(self,num): self.__num = self.__num + num def powerNum(self,num=2): self.__num = self.__num ** num num = myNum(10) print(hasattr(num,'__num')) print(hasattr(num,'getNum')) print(hasattr(num,'testNum')) setattr(num,'testNum',110) print(hasattr(num,'testNum')) print(getattr(num,'testNum')) setattr(num,'testFun',lambda x:x>=0) print(hasattr(num,'testFun')) print(getattr(num,'testFun')(100)) print(getattr(num,'testFun')(-123)) #print(getattr(num,'what')) print(getattr(num,'what',404))
错了,前面应该是:
#!/usr/bin/env python3
Sign in to make a reply
久疤_796