python 类的定义

class Icon(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)

这里的两个parent是什么意思啊?一个 = None,一个后面什么都没加,求详解
然后Icon不是QtGui.QWidget的子类吗?那第一个parent我觉得应该是QtGui.QWidget吧。为什么是None的?
求详解

第一个是定义的接收参数,默认是None,如果调用者不传递这个参数,就把这个参数赋值成None了。
第二个是把parent传递给其他函数
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-24

Python编程中类定义,代码如下:

class <类名>:
 <语句>

定义类的专有方法:

__init__  构造函数,在生成对象时调用
__del__   析构函数,释放对象时使用
__repr__  打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
__len__获得长度
__cmp__比较运算
__call__函数调用
__add__加运算
__sub__减运算
__mul__乘运算
__div__除运算
__mod__求余运算
__pow__称方

代码如下:

#类定义  
    class people:  
        #定义基本属性  
        name = ''  
        age = 0  
        #定义私有属性,私有属性在类外部无法直接进行访问  
        __weight = 0  
        #定义构造方法  
        def __init__(self,n,a,w):  
            self.name = n  
            self.age = a  
            self.__weight = w  
        def speak(self):  
            print("%s is speaking: I am %d years old" %(self.name,self.age))

    p = people('tom',10,30)  
    p.speak()

第2个回答  2013-05-06
首先初始化时确定是否接收一个parent参数(这个参数名没什么意义,想怎么取怎么取)
如果没有在这个Icon类初始化的时候同时给参数,那么parent就为None,因为继承了QtGui.QWidget类,所以在初始化的时候,先调用QtGui.QWidget.__init__(self, parent)这个QtGui.QWidget的初始化方法,这个parent参数是QtGui.QWidget需要的吧
相似回答