Python类属性与实例属性用法分析

yipeiwu_com5年前Python基础

本文实例分析了Python类属性与实例属性用法。分享给大家供大家参考。具体如下:

类属性:类名.属性名 

实例属性:实例.属性名

>>> class test():
...  ver=1
... 
>>> a=test()
>>> test.x=8
>>> a.__dict__
{}
>>> a.x
8
>>> a.x=9
>>> a.__dict__
{'x': 9}

1.类的属性如何模子一样,类属性一旦给出,所有的实例将都取这个值。
2.各个实例的这个属性的值可以变化。
3.某一实例的属性没有显示地给定,a.x可以显示这个属性的值,但是,它没有在名称空间里面。

为了把它加入名称空间,必须显式赋值。

class Instant1(object):
 count=0
 def __init__(self):
  Instant1.count=Instant1.count+1
  print "created instant"
 def howmany(self):
  print Instant1.count
  print self.count

class Instant2(object):
 count=0
 def __init__(self):
  print self.count
  #print Instant2.count
  self.count=self.count+1
  #Instant2.count=Instant2.count+1
  print "created instant"
 def howmany(self):
  print self.count
  print Instant2.count

希望本文所述对大家的Python程序设计有所帮助。

相关文章

解决已经安装requests,却依然提示No module named requests问题

Python版本3.5.1, pip install requests 之后依然提示 Python ImportError: No module named 'requests' 经过文...

pandas的排序和排名的具体使用

有的时候我们可以要根据索引的大小或者值的大小对Series和DataFrame进行排名和排序。 一、排序 pandas提供了sort_index方法可以根据行或列的索引按照字典的顺序进...

MySQLdb ImportError: libmysqlclient.so.18解决方法

安装MySQLdb后,import MySQLdb出错如下: 复制代码 代码如下: [root@lizhong MySQL-python-1.2.3]# /usr/local/bin/p...

Django的信号机制详解

Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。 Django...

Python实现快速排序算法及去重的快速排序的简单示例

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它...