我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 反射-isinstance

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 反射-isinstance

用到的

isinstance(对象,类)  -------------------  判断一个对象是否是一个类的实例

issubclass(子类,父类)  ----------------  判断一个类是否是一个类的子类

hasattr(对象,字符串属性)  ------------  判断一个属性在对象里有没有

getattr(对象,属性,第三参数)  ---------  获取对象中的字符串属性  

setattr(对象,属性,值)  ------------------  属性的赋值(设置值,修改值,新增值)

delattr(删除的属性)  --------------------  删除属性操作

__str__  ------------------------------------  在对象被打印时自动触发,可以用来定义对象被打印时的输出信息(必须返回一个字符串类型的值)

__del__  -----------------------------------  在对象被删除时先自动触发该方法,可以用来回收对象以外其他相关资源,比如系统资源

 

isinstance和issubclass例子

 1 class Bar:
 2     pass
 3 
 4 
 5 class Foo(Bar):
 6     pass
 7 
 8 
 9 obj = Foo()
10 print(issubclass(Foo, Bar))
>>>True 11 print(isinstance(obj, Foo))
>>>True

 

反射例子

 1 class Ftp:
 2     def get(self):
 3         print('get')
 4 
 5     def put(self):
 6         print('put')
 7 
 8     def login(self):
 9         print('login')
10 
11     def run(self):
12         while True:
13             cmd = input('>>>: ').strip()  # cmd='get'
14             if hasattr(self, cmd):
15                 method = getattr(self, cmd)
16                 method()
17             else:
18                 print('输入的方法不存在')
19 
20 
21 obj = Ftp()
22 obj.run()

 

__str__例子

在对象被打印时自动触发,可以用来定义对象被打印时的输出信息(注意: 必须返回一个字符串类型的值)

 1 class People:
 2     def __init__(self, name, age):
 3         self.name = name
 4         self.age = age
 5 
 6     def __str__(self):
 7         return '<name:%s age:%s>' % (self.name, self.age)
 8 
 9 
10 obj = People('egon', 18)
11 print(obj)  # print(obj.__str__())
>>><name:egon age:18>

 

__del__例子

在对象被删除时先自动触发该方法,可以用来回收对象以外其他相关资源,比如系统资源

 1 class Foo:
 2     def __init__(self, x, filepath, encoding='utf-8'):
 3         self.x = x
 4         self.f = open(filepath, 'rt', encoding=encoding)
 5 
 6     def __del__(self):
 7         print('run.....')
 8         # 回收对象关联的其他资源
 9         self.f.close()
10 
11 
12 obj = Foo(1, 'a.txt')
13 print('主===========>')
>>>主===========>
>>>run.....

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 反射-isinstance

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 反射-isinstance

用到的isinstance(对象,类)  -------------------  判断一个对象是否是一个类的实例issubclass(子类,父类)  ----------------  判断一个类是否是一个类的子类hasattr(对象,字
2023-01-30

python isinstance、is

今天写一个校验的时候,遇到了三个函数,记下来以备用吧    isinstance、isalnum、len相比大家都知道type()函数,判断一个对象的数据类型:    In [1]: test = "abc123"In [2]: type(
2023-01-31

python 反射

1.反射主要是用到了4个函数(  用的最多的就是getattr()和 hasattr()  ):getattr()   从xxx对象中获取到xxx属性值hasattr()  判断xxx对象中是否有xxx属性值delattr()   从xxx
2023-01-30

Python-----反射

class Person(object): """定义一个人类""" def __init__(self, name): self.name = name def eat(self, food):
2023-01-31

Python反射

反射的定义根据字符串的形式去某个对象中操作成员根据字符串的形式去一个对象中寻找成员根据字符串的形式去一个对象中设置成员根据字符串的形式去一个对象中删除成员根据字符串的形式去一个对象中判断成员是否存在初始反射通过字符串的形式,导入模块根据用户
2023-01-31

python之反射

1. isinstance, type, issubclass的区别class Animal: def eat(self): print("刚睡醒吃点儿东西")class Cat(Animal): def play
2023-01-30

Python基础:反射

反射就是根据提供的字符串,匹配对象(类、模块等)里面的方法。达到动态调用的目的。主要有四个成员。getattr、hasattr、setattr、delattr  获取成员、检查成员、设置成员、删除成员语法:getattr(对象,字符串)se
2023-01-31

python学习之反射

python学习反射实例1脚本内容如下:#coding: utf8class myClass(object):    def fax(self):        print 'faxing....'    def copy(self): 
2023-01-31

Python功能之反射

有如下文件:index.py#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'ryan'"""import homeprint 'oldboy....'url=raw_inpu
2023-01-31

python isinstance和is

一.isinstance和issubclass1.isinstanceclass Animal: def eat(self): print('刚睡醒吃点儿东西')class Cat(Animal): def pla
2023-01-30

python之函数isinstance

1.判断变量是否是这个类型 >>> a=1>>> isinstance(a,int)True>>> isinstance(a,float)False2.判断一个对象是否是一个已知的类型>>> isinstance(1,list)   Fal
2023-01-31

Unity3d 射线反射

As any person that has already used Unity’s Ray class knows, there’s no support for reflection, which could be useful fo
2023-01-31

Python_反射

一.反射定义放射是指程序可以访问。检测和修改它本身状态或行为的一种能力(自省)。二.四个自省的函数Python中提供了以下四种自省的函数,使用于类和对象。1.hasattr函数--用于判断obj中有没有name字符串对应的方法或属性,若有返
2023-01-31

python学习 day018打卡 反射

本节主要内容:1.isinstance,type,issubclass2.区分函数和方法3.反射(重点) 一.isinstance,type,issubclassissubclass():判断xxx类是否是yyy类型的子类class Bas
2023-01-30

python记录_day18 反射 判断

一、三个内置函数1、issubclass(a, b)  判断a类是否是b类的子类 1 class Foo: 2 pass 3 4 class Zi(Foo): 5 pass 6 7 class Sun(Zi): 8
2023-01-30

python面向对象(反射)(四)

1. isinstance, type, issubclass     isinstance: 判断你给对象是否是xx类型的. (向上判断     type: 返回xxx对象的数据类型     issubclass: 判断xxx类是否xxx
2023-01-30

python面向对象之反射

一、静态方法(staticmethod)和类方法(classmethod)类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属×××互(也就是可以使用类属性)静态方法:让类里的方法直接被类调用,就像正常调用函数一样类方法和静态方
2023-01-31

AS3反射

反射这玩意,在一些游戏的框架中的确有其优势,但是注意反射或多或少会影响性能的.在资源的获取上就 使用了反射 , 得到SWF中的美术的资源 如:public static function getClazz(className : Strin
2023-01-31

Python27 反射

反射:通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法1.getattr:2.hasattr:判断一个对象里是否有对应(相同名称)字符串的方法3.setattr4.delattrclass Dog(object):
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录