码迷,mamicode.com
首页 > 其他好文 > 详细

2018.12.20 今日所学

时间:2018-12-22 16:31:26      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:span   整数   iss   获取   数据类型   实例   style   animal   anim   

今日所学 :

 1. isinstance , type , issubclass

 2.如何区分方法和函数(代码)

 3.反射(重要)

1. isinstance ,type ,issubclass

  isinstance(椅子音死ten死): 判断你给的对象是否是xx类型的.(向上判断)

 #应用
 def cul(a,b):  #次函数用来计算数字a和数字b的相加的结果
        判断传递进来的对象必须是数字.int(整数) float (小数)
    if (type(a)==int or type(a)==float) and (type(b)==int or type(b)==float):
        return a+b
    else:
        print(‘对不起,你提供的数据无法进行计算‘)
print(cul(a,c)) 

 

  type : 精准的判断返回xxx对象的数据类型

class Animal:
    def eat(self):
        print("刚睡醒吃点儿东西")

class Cat(Animal):
    def play(self):
        print("猫喜欢玩儿")

c = Cat()
a=animal()
    print(isinstance(a,cat)) #不能向下判断

print(type(a)) # 返回 a的数据类型
print(type([]))
print(type(c)) # 精准的告诉你这个对象的数据类型

 

  

 

  issubclass: 判断xxx是否是xxx的子类

print(issubclass(Cat, Animal))
print(issubclass(Animal, Cat))

 

2.如何区分方法和函数(代码)

在类中 :

 实例方法: 如果是类名.方法 这时是函数

      如果是对象.方法 这时是方法

静态方法: 类名.方法 和对象.方法都是函数

类方法: 类名.方法 和对象.方法都是方法

这里要引入一个模块 

form  types import MethodType,FunctionType 

3 .反射 (重要)

反射主要涉及到了4个函数 

getattr(a,b) 从a中获取到b数据

setattr(a,b,c) 将a中的b更改为c(设置a中的b属性为c)

hasattr(a,b) 判断a中是否存在b数据

delattr(a,b) 删除a中b的数据(不是将原数据变成None)

 

2018.12.20 今日所学

标签:span   整数   iss   获取   数据类型   实例   style   animal   anim   

原文地址:https://www.cnblogs.com/zty1304368100/p/10150977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!