对象操作

coding:utf-8

类变量:由类名调用的变量称为类变量。
实例变量:只有实例对象才能调用的变量,称为实例变量。对象的属性也可以称为实例变量。

实例变量是在函数内定义,类变量是在函数体外进行定义。

class Employee(object):
    """docstring for Employee"""
    # 声明一个类变量,记录员工总人数
    total_employee_number = 0

    def __init__(self, name, salay):

        self.name = name
        self.salay = salay

        # 要确认一个对象是否被创建出来,只需要查看__init__()函数是否执行了。函数执行了,肯定是创建对象了。
        Employee.total_employee_number += 1

    def get_total_number(self):
        print '员工总人数:',Employee.total_employee_number


e1 = Employee('张三', 6000)
e2 = Employee('李四', 8000)

类变量的值在各个对象之间数据是共享的。类变量只初始化一次。

有关对象的一些操作

动态给某一个对象添加属性

e1.age = 34
e1.sex = 'male'

实例变量的值在各个对象之间是不共享的,只属于某一个对象。

print e1.age
if hasattr(e2, 'age'):
    print e2.age
else:
    print 'e2对象没有"age"属性'

判断一个对象是否拥有某一个属性的方法

hasattr(对象名, 属性名),函数返回bool值

if hasattr(e1, 'age'):
    # 存在
    # 删除一个对象的属性
    del e1.age

getattr():用于获取对应的一个属性值
getattr(对象名,属性名,属性默认值): 当获取的属性存在时,则直接取出属性值;如果获取的属性不存在,可以返回默认值,防止出现AttributeError异常。

print getattr(e1, 'age', '100')

setattr(): 用于给一个对象添加属性值,函数没有返回值。

setattr(e1, 'height', '170')
print e1.height

如果setattr()设置属性已经存在,则去修改属性的值。

setattr(e1, 'height', '160')
print e1.height

delattr(): 用于删除对象的一个属性

delattr(e1, 'height')
print e1.height
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值