今日所学 :

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)

day19 反射的更多相关文章

  1. Python全栈--目录导航

    这里更新以Python语言作为基础,想要成为全栈工程师需要掌握的技能... Python基础语法 day01 初识Python day02 while循环 运算符和编码 day03 字符串 day04 ...

  2. 隐私泄露杀手锏 —— Flash 权限反射

    [简版:http://weibo.com/p/1001603881940380956046] 前言 一直以为该风险早已被重视,但最近无意中发现,仍有不少网站存在该缺陷,其中不乏一些常用的邮箱.社交网站 ...

  3. Java学习之反射机制及应用场景

    前言: 最近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,既然用到了就想着好好学习总结一下,其实无论是之前的EventBus 2.x版本还是Retrofit.早期的View注解框 ...

  4. 关于 CSS 反射倒影的研究思考

    原文地址:https://css-tricks.com/state-css-reflections 译者:nzbin 友情提示:由于演示 demo 的兼容性,推荐火狐浏览.该文章篇幅较长,内容庞杂,有 ...

  5. 编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议106~109)

    建议106:动态代理可以使代理模式更加灵活 Java的反射框架提供了动态代理(Dynamic Proxy)机制,允许在运行期对目标类生成代理,避免重复开发.我们知道一个静态代理是通过主题角色(Prox ...

  6. 运用Mono.Cecil 反射读取.NET程序集元数据

    CLR自带的反射机智和API可以很轻松的读取.NET程序集信息,但是不能对程序集进行修改.CLR提供的是只读的API,但是开源项目Mono.Cecil不仅仅可以读取.NET程序集的元数据,还可以进行修 ...

  7. .NET面试题系列[6] - 反射

    反射 - 定义,实例与优化 在面试中,通常会考察反射的定义(操作元数据),可以用反射做什么(获得程序集及其各个部件),反射有什么使用场景(ORM,序列化,反序列化,值类型比较等).如果答得好,还可能会 ...

  8. .NET基础拾遗(4)委托、事件、反射与特性

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  9. C++的性能C#的产能?! - .Net Native 系列五:.Net Native与反射

    此系列系小九的学堂原创翻译,翻译自微软官方开发向导,一共分为六个主题.本文是第五个主题:.Net Native与反射. 向导文链接:<C++的性能C#的产能?! - .Net Native 系列 ...

随机推荐

  1. Python编码简要说明

    ●python2默认编码:ASCII编码 达到正确显示,程序需要编码转换: UTF-8 -- >decode解码 --> Unicode Unicode -- > encode编码 ...

  2. JAVA基础知识总结:一到二十二全部总结

    >一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器( ...

  3. php set_time_limit()的作用是什么

    php set_time_limit()用法测试 一.总结 一句话总结:在php中set_time_limit函数是用来限制页面执行时间的,如我想把一个php页面的执行时间定义为5秒就可以set_ti ...

  4. MySQL 8.0 安装时 Authentication Method

    1. 使用强密码加密授权(推荐) 8.0提供的心的授权方式,采用SHA256基础的密码加密方法. 但是需要新版本的connector,目前和Connector/J最新的时8.0 目前8.0的连接器和使 ...

  5. 如何有效地使用t-SNE | How to Use t-SNE Effectively

    熟练使用PCA和tSNE,彻底理解底层的原理是非常有必要的. 参考:How to Use t-SNE Effectively Real-time tSNE Visualizations with Te ...

  6. 2017-2018-2 20165303 实验三《Java面向对象程序设计》实验报告

    实验三 敏捷开发与XP实践-1 实验要求 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参 ...

  7. 学习Py——自己模拟写的一个Range功能

    #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = "loki" # function: Modeled range ...

  8. LeetCode--345--反转字符串中的元音字母

    问题描述: 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: &quo ...

  9. EventBus 3.0使用相关

    一 引入方法 可以去github的官网中下载EventBus的相关资源  地址:https://github.com/greenrobot/EventBus 当然还有他的官方网站 http://gre ...

  10. ncnn框架

    1.下载和编译ncnn git clone https://github.com/Tencent/ncnn cd ncnn mkdir build && cd build cmake ...