Python面向对象编程——类(二)

本文是Python面向对象编程系列的第二篇,主要讲解类的运算符重载、类装饰器以及类的陷阱。内容包括:构造函数__init__、属性引用赋值的__getattr__和__setattr__、字符串表示的__repr__和__str__、函数调用的__call__方法、索引和分片操作、迭代器相关方法以及类装饰器的使用。同时,还讨论了类的陷阱,即类变量的原处修改可能影响所有实例。
摘要由CSDN通过智能技术生成

微信公众号:数据分析与统计学习
最近更新时间:2018-7-1

一、前言

Python的系列文章主要介绍python语言的基础语法知识。按照核心内建数据类型、语句、函数、类、异常、标准模块的顺序对相关的语法知识进行讲解。
python类知识的介绍主要分为两块:第一部分讲解类的基础知识,类的定义、类与实例、如何创建一个类;第二部分详细介绍类的运算符重载,类装饰器。
上期小编介绍了类的基础知识,本期小编介绍类的运算符重载和类装饰器。

二、运算符重载

用于所有的类型方法

1、__init__ (self,[, arg]*)构造函数,该方法在Class(args)上被调用,用来初始化实例X= Class(args)。

2、__getattr__(self,name)和__setattr__(self,name,value)属性引用赋值
当name是一个未定义的属性入口时,在self.name上调用该方法。如果name已经存在或由self继承是,该方法不能被调用。
__setatrr__在self.name=value(所有属性赋值)上被调用。为避免递归循环,对属性字典做索引运算来赋值任何实例属性self__dict__[‘attr’]=value

3、__repr__(self)和__str__(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值