python 类的定义 python中如何定义类

python \u7c7b\u5b9a\u4e49

self\uff0c\u4f5c\u7528\u662f\u7ed1\u5b9a\uff0c\u8868\u793a\u5bf9\u7c7b\u7684\u5b9e\u4f8b\u5316\u5bf9\u8c61\u7684\u7ed1\u5b9a\u3002\u6bd4\u5982\u5b9e\u4f8b\u5316\u4f60\u8fd9\u7684Node\u7c7b\uff0cn=Node()\uff0c\u5982\u679c\u65b9\u6cd5traverse\u62ec\u53f7\u5185\u4e0d\u52a0self\uff0c\u5f53n.traverse()\u5728Python\u6267\u884c\u5219\u4f1a\u53d8\u6210n=traverse(n)\uff0c\u7136\u540e\u5c31\u4f1a\u62a5\u9519\u3002\u6240\u4ee5\u5728Python\u91cc\u5fc5\u987b\u52a0self\u7ed1\u5b9a\u3002
\u4f60\u4e5f\u53ef\u4ee5\u7528\u5176\u4ed6\u7684\uff0c\u6bd4\u5982\u5176\u4ed6\u8bed\u8a00\u91cc\u7528this\uff0c\u4f46\u90fd\u5f97\u6709\u8fd9\u4e48\u4e2a\u53c2\u6570\u6765\u5360\u4f4d\u4f5c\u4e3a\u7ed1\u5b9a\u3002

[]\uff0c\u8868\u793a\u5217\u8868\u7684\u7279\u5f81\u7b26\u3002

\u90a3\u4e48\u8fd9\u91cc\u7684[self]\u5373\u662f\u8ba9\u5b9e\u4f8b\u5316\u5bf9\u8c61n\u7ecf\u8fc7traverse\u5f97\u5230\u7684\u7ed3\u679c\u6216\u8005\u8868\u8fbe\u5f0f\u540e\u518d\u5c06\u5176\u8f6c\u4e3a\u5217\u8868\u3002

\u6bd4\u5982\u6574\u5f62\u65701\uff0c2\u3002\u5f53\u6211\u4eec\u7528\u4e2d\u62ec\u53f7\u628a\u5176\u5305\u56f4\uff0c[1\uff0c2]\uff0c\u90a3\u4e48\u5176\u5c31\u6210\u4e86\u5217\u8868\u3002\u5c31\u8fd9\u4e48\u56de\u4e8b\u3002

\u8fd8\u53ef\u4ee5\u8fd9\u6837\uff1aint\uff08self\uff09\uff0ctuple\uff08self\uff09\u7b49\u7684\u3002

\u5176\u5b9e\u5f88\u7b80\u5355\uff0c\u522b\u770b\u5230self\u5c31\u88ab\u552c\u4f4f\u4e86\u3002

\u6211\u5efa\u8bae\u8fd8\u662f\u591a\u770b\u770b\u9762\u76f8\u5bf9\u8c61\u7f16\u7a0b\u90a3\u4e00\u5feb

\u4e00\u3001\u7c7b\u5b9a\u4e49\uff1a
class :


\u7c7b\u5b9e\u4f8b\u5316\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528\u5176\u5c5e\u6027\uff0c\u5b9e\u9645\u4e0a\uff0c\u521b\u5efa\u4e00\u4e2a\u7c7b\u4e4b\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u7c7b\u540d\u8bbf\u95ee\u5176\u5c5e\u6027
\u5982\u679c\u76f4\u63a5\u4f7f\u7528\u7c7b\u540d\u4fee\u6539\u5176\u5c5e\u6027\uff0c\u90a3\u4e48\u5c06\u76f4\u63a5\u5f71\u54cd\u5230\u5df2\u7ecf\u5b9e\u4f8b\u5316\u7684\u5bf9\u8c61

\u7c7b\u7684\u79c1\u6709\u5c5e\u6027\uff1a
__private_attrs \u4e24\u4e2a\u4e0b\u5212\u7ebf\u5f00\u5934\uff0c\u58f0\u660e\u8be5\u5c5e\u6027\u4e3a\u79c1\u6709\uff0c\u4e0d\u80fd\u5728\u7c7b\u5730\u5916\u90e8\u88ab\u4f7f\u7528\u6216\u76f4\u63a5\u8bbf\u95ee
\u5728\u7c7b\u5185\u90e8\u7684\u65b9\u6cd5\u4e2d\u4f7f\u7528\u65f6 self.__private_attrs

\u7c7b\u7684\u65b9\u6cd5
\u5728\u7c7b\u5730\u5185\u90e8\uff0c\u4f7f\u7528def\u5173\u952e\u5b57\u53ef\u4ee5\u4e3a\u7c7b\u5b9a\u4e49\u4e00\u4e2a\u65b9\u6cd5\uff0c\u4e0e\u4e00\u822c\u51fd\u6570\u5b9a\u4e49\u4e0d\u540c\uff0c\u7c7b\u65b9\u6cd5\u5fc5\u987b\u5305\u542b\u53c2\u6570self,\u4e14\u4e3a\u7b2c\u4e00\u4e2a\u53c2\u6570


\u79c1\u6709\u7684\u7c7b\u65b9\u6cd5
__private_method \u4e24\u4e2a\u4e0b\u5212\u7ebf\u5f00\u5934\uff0c\u58f0\u660e\u8be5\u65b9\u6cd5\u4e3a\u79c1\u6709\u65b9\u6cd5\uff0c\u4e0d\u80fd\u5728\u7c7b\u5730\u5916\u90e8\u8c03\u7528
\u5728\u7c7b\u7684\u5185\u90e8\u8c03\u7528slef.__private_methods
\u7c7b\u7684\u4e13\u6709\u65b9\u6cd5\uff1a
__init__ \u6784\u9020\u51fd\u6570\uff0c\u5728\u751f\u6210\u5bf9\u8c61\u65f6\u8c03\u7528
__del__ \u6790\u6784\u51fd\u6570\uff0c\u91ca\u653e\u5bf9\u8c61\u65f6\u4f7f\u7528
__repr__ \u6253\u5370\uff0c\u8f6c\u6362
__setitem__\u6309\u7167\u7d22\u5f15\u8d4b\u503c
__getitem__\u6309\u7167\u7d22\u5f15\u83b7\u53d6\u503c
__len__\u83b7\u5f97\u957f\u5ea6
__cmp__\u6bd4\u8f83\u8fd0\u7b97
__call__\u51fd\u6570\u8c03\u7528

__add__\u52a0\u8fd0\u7b97
__sub__\u51cf\u8fd0\u7b97
__mul__\u4e58\u8fd0\u7b97
__div__\u9664\u8fd0\u7b97
__mod__\u6c42\u4f59\u8fd0\u7b97
__pow__\u79f0\u65b9
\u793a\u4f8b:

[python] view plain copy
#\u7c7b\u5b9a\u4e49
class people:

第一个是定义的接收参数,默认是None,如果调用者不传递这个参数,就把这个参数赋值成None了。
第二个是把parent传递给其他函数

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()


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

扩展阅读:python 列表定义 ... python定义一个动物类 ... 小学生学python 还是c ... 新手入门python图解 ... python类的定义与使用 ... python类的成员的定义 ... python定义sll类 ... python手机版下载官方 ... python下载安装教程 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网