python下的一些特殊属性(几个实例说明)

实例1:

#-*-coding:UTF-8-*-

class  FirstDemo(object):
    """
        这里是一个doc
    """
    a=10   #类属性
    def  demo(self):
        """
        第一个方法
        """
        pass
    def demo2(self):
        """
        第二个方法
        """
        pass
print FirstDemo.__dict__   #打印出FirstDemo类的所有属性和方法,结果为一个字典
print FirstDemo.__bases__  #类的基类
print FirstDemo.__doc__    #类的docstring
print FirstDemo.__name__   #类的名字
print FirstDemo.__module__ #类所在模块,如果是主文件,就是__main__


print FirstDemo().__class__    #类的类型<class '__main__.FirstDemo'>
print FirstDemo().__module__   #实例类型所在模块
print FirstDemo().__dict__     #对象的字典,存储所有实例成员信息


 实例2:

#-*-coding:UTF-8-*-

class  FirstDemo(object):
    b=100   #类属性
    def __init__(self):
        FirstDemo.b=200
    def __repr__(self):
        return "repr方法"
    def __str__(self):
        return "str方法"
    def  demo(self):
        print FirstDemo.b
a=FirstDemo()
print a.__repr__()
print a.__str__()
print "--------"
a.demo()


结果:

repr方法
str方法
--------
200

序号目的所编写代码Python 实际调用
初始化一个实例x = MyClass()x.__init__()
字符串的“官方”表现形式repr(x)x.__repr__()
字符串的“非正式”值str(x)x.__str__()
  
  

最后打印的b的值为200,是因为__init__()方法的调用发生在实例被创建之后。

实例3(对象属性的操作):

#-*-coding:UTF-8-*-

class  FirstDemo(object):
    b=100   #类属性
    def __init__(self):
        FirstDemo.b=200
    def __repr__(self):
        return "repr方法"
    def __str__(self):
        return "str方法"
    def  demo(self):
        print FirstDemo.b
a=FirstDemo()
a.temp=500   #为对象添加一个属性
print a.__dict__  #查看对象的实例属性字典
print dir(a)   #列出实例的属性和方法集合
del a.temp	#删除对象中的temp属性
print a.__dict__
print dir(a)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值