hasattr(object, name) :用于判断一个对象中是否有指定的属性或方法,如果存在返回 True,否则返回 False

getattr(object, name, [default]) :用于获取一个对象的属性或方法,如果属性或方法存在则打印出来,如果不存在,打印出默认值

setattr(object, name, value) :用于给一个对象的属性赋值,如果属性不存在,会先创建该属性再赋值

#!/usr/bin/env python
#-*- coding:utf-8 -*- class People(object):
def __init__(self):
self.name = 'Tom' def talk(self):
return "My name is %s" % self.name if __name__ == '__main__':
ren = People() hasattr(ren, 'name') # 判断 ren 这个对象中是否存在 name 属性,如果存在返回 True,否则返回 False
hasattr(ren, 'talk') # 判断 ren 这个对象中是否存在 talk 方法,如果存在返回 True,否则返回 False getattr(ren, 'name') # 获取 ren 这个对象中 name 属性的值,如果属性存在则返回该属性的值
getattr(ren, 'age', '') # 获取 ren 这个对象中 age 属性的值,如果属性不存在,则返回默认值 setattr(ren, 'name', 'John') # 设置 ren 这个对象中 name 属性的值为 John,如果属性存在,则修改该属性的值
setattr(ren, 'age', '') # 设置 ren 这个对象中 age 属性的值为 18,如果属性不存在,则先创建再赋值 getattr(ren, 'age', setattr(ren, 'age', '')) # 综合用法

hasattr() 、getattr() 、setattr()的更多相关文章

  1. Python3 hasattr()、getattr()、setattr()函数简介

    Python3 hasattr().getattr().setattr()函数简介 一.hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对 ...

  2. (转)详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数

    原文:https://www.jb51.net/article/138363.htm hasattr()函数 hasattr()函数用于判断是否包含对应的属性 语法: hasattr(object,n ...

  3. python-hasattr()、getattr()、setattr()函数的使用

    python中hasattr().getattr().setattr()函数 class A(): name = 'python' def __init__(self): setattr(self._ ...

  4. python 常见内置函数setattr、getattr、delattr、setitem、getitem、delitem

    常见内置函数 内置函数:在类的内部,特定时机自动触发的函数 示例1:setattr.getattr.delattr class Person: # def __init__(self, name): ...

  5. python中的hasattr()、getattr()、setattr()

    hasattr()的用法和理解--hasattr(obj, target) 判断对象obj中是否含有,目标target属性,然后返回布尔值,如果有返回True,没有返回False. >>& ...

  6. hasattr、getattr、setattr、delattr、反射

    目录 hasattr getattr setattr delattr 反射的应用 __import__(了解) 思考: 在做程序开发中,我们常常会遇到这样的需求:需要执行对象里的某个方法,或需要调用对 ...

  7. python中hasattr()、getattr()、setattr()函数的使用

    1. hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法:有则返回True,没有则返回False:需要注意的是n ...

  8. python的反射函数(hasattr()、getattr()、setattr()与delattr())和类的内置属性attr(__getattr()__、__setattr()__与__delattr()__)

    主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省),有四个可以实现自省函数. hasattr(object,name) 判断object中是否有name字符串对应的属性或方法,返回Tr ...

  9. Python 类 setattr、getattr、hasattr 的使用

    #coding=utf-8 class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = n ...

  10. 反射---hasattr、getattr、setattr、delattr

    class Foo: f = "类的静态变量" def __init__(self,name,age): self.name = name self.age = age def s ...

随机推荐

  1. Java程序员面试之葵花宝典

    程序员面试之葵花宝典 1.面向对象的特征有哪些方面   抽象:抽象就是忽略一个主题中与当前目标 无关的那些方面, 以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而 只是选择其中的一部 ...

  2. 实际应用中的C#加密

    在系统的管理员有着实际的应用,对于一个数据库管理系统来说,数据库安全还是挺重要的,所以在存入到数据库的密码通常都是加密的.即使有着hack攻破数据库后,也不会那样的容易的盗取你的账号和密码,这样可以减 ...

  3. C语言 · 分糖果

    历届试题 分糖果   时间限制:1.0s   内存限制:256.0MB      问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一 ...

  4. Android--List与ArrayList区别(转)

    转载自:http://www.cnblogs.com/aisiteru/articles/1151874.html List是一个接口,而ArrayList是一个类. ArrayList继承并实现了L ...

  5. yii的一些方法的解析和blog的详细解析

    1.  存取数据库方法存储第一种(SAVE )存表时候用到  例子: $post=new Post;$post->title='sample post';$post->content='c ...

  6. 单片机小白学步系列(二十) IO口原理

    IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比較长的篇幅介绍IO口的原理. 也是查阅了不少资料,确保内容正确无误,花了非常长时间写的. IO口原理原本须要涉及非常多深入的知识,而这里尽最大 ...

  7. 也许,这样理解HTTPS更容易(今天看到的, 对https总结最好的一篇)

    摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样.但是这并不代表HTTPS的真实设计过程.在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于" ...

  8. eclipse-设置默认编码格式为UTF-8

    需要设置的几处地方为: Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window ...

  9. libmysqlclient16 libmysqlclient-dev

    如果提示安装 libmysqlclient16 则用 libmysqlclient-dev 代替之

  10. 关于Cocos2d-x中的scheduleUpdate和update方法的使用

    一.如果要让某类实例对象要连续执行某些语句(比如让每个Block实例从运行框最右边移动到最左边) 要在Block类中增加一些东西 1.先在其.cpp文件的init()函数中执行scheduleUpda ...