• 特征即是属性
  • 行为即是方法
  • self表示调用该函数的对象

魔法方法
在Python中, __ xx_()的函数叫做魔法方法,指的是具有特殊功能的函数。
init():初始化对象

class Washer():def __init__(self):#添加实例属性self.width=500self.height=800#不能有返回值 Nonedef print_info(self):print(f'洗衣机的宽度是{self.width},高度是{self.height}')haier=Washer()
haier.print_info()
输出:
洗衣机的宽度是500,高度是800
#init()方法:在创建一个对象时默认被调用,不需要手动调用
#init(self)中的self参数,不需要开发者传递,Python解释器会自动把当前的对象引用传递过去

带参数的init方法

class Washer():def __init__(self,width,height):#添加实例属性self.width=widthself.height=heightdef print_info(self):print(f'洗衣机的宽度是{self.width},高度是{self.height}')haier=Washer(10,20)
haier.print_info()
输出:
洗衣机的宽度是10,高度是20

__ str __()
当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了str()方法,那么就会打印从在这个方法中return的数据

class Washer():def __init__(self,width,height):#添加实例属性self.width=widthself.height=heightdef print_info(self):print(f'洗衣机的宽度是{self.width},高度是{self.height}')def __str__(self):return '这是海尔洗衣机的说明书'haier=Washer(10,20)
print(haier)
输出:
这是海尔洗衣机的说明书

dict函数
类的静态函数、类函数、普通函数、全局变量以及一些内置的属性都是放在类__dict__里的

  • 1) 内置的数据类型没有__dict__属性
  • 2) 每个类有自己的__dict__属性,就算存着继承关系,父类的__dict__ 并不会影响子类的__dict__
  • 3) 对象也有自己的__dict__属性, 存储self.xxx 信息,父子类对象公用__dict__
class MoonCake():def __init__(self,name,date):self.name=nameself.date=date
mooncake=MoonCake('五仁月饼',8.15)
print(mooncake.__dict__)

del方法
当删除对象时,Python解释器会默认调用del()方法

class Washer():def __init__(self,width,height):#添加实例属性self.width=widthself.height=heightdef print_info(self):print(f'洗衣机的宽度是{self.width},高度是{self.height}',end='\n')def __str__(self):return '这是海尔洗衣机的说明书'def __del__(self):print(f'{self}对象已被删除')haier=Washer(10,20)del haier
输出:
这是海尔洗衣机的说明书对象已被删除

魔法方法——Python相关推荐

  1. python 类 对象 魔法方法概念+习题

    类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...

  2. 阿里云天池 Python训练营Task3: Python基础进阶:从函数到高级魔法方法 学习笔记

    本学习笔记为阿里云天池龙珠计划Python训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/promotion/aicamppython?spm=5 ...

  3. python的魔法方法

    在python中有这么一类方法,定义在某一个类中,如果某一个对象实现了这个方法,而并没有继承于这个类型,但他也称为这个类型,即魔法方法 python本身是基于鸭子类型实现的语言 如下代码 #go语言的 ...

  4. 【python入门第三十三天】特殊成员和魔法方法

    特殊成员和魔法方法 特殊成员和魔法方法 特殊成员和魔法方法 Python中有大量类似__doc__这种以双下划线开头和结尾的特殊成员及"魔法方法",它们有着非常重要的地位和作用,也 ...

  5. Python的面向对象(二):Python中神奇的魔法方法

    魔法方法 Python里面有一种特殊的方法,叫做魔法方法.Python的类里提供的,是由两个下划线开始,再以两个下划线结束的方法. 魔法方法不需要手动调用,会在恰当的时候就会被激活,自动执行. 魔法方 ...

  6. 面向对象封装继承多态五大基本原则魔法方法反射

    目录 面向对象 三大基本特征 五大基本原则 魔法方法 反射 面向对象 什么是面向对象 使用模板的思想,将世界万事万物使用对象来表示一个类型 面向对象和面向过程的区别: 面向对象的不就是使用程序处理事情 ...

  7. 第九章 魔法方法、特性和迭代器

    第九章 魔法方法.特性和迭代器 构造函数 构造函数(constructor),它其实就是初始化方法,只是命名为__init__. 构造函数不同于普通方法的地方在于,将在对象创建后自动调用它们. 在Py ...

  8. 刻意练习:Python基础 -- Task11. 魔法方法

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  9. 技术图文:Python魔法方法之属性访问详解

    背景 今天在B站学习"零基础入门学习 Python"中的第45节"魔法方法:属性访问",这也是我们组织的 Python基础刻意练习活动 的学习任务,其中有这样的 ...

最新文章

  1. 疫情期间自我提升指南:十大资源,为你铺平数据科学家之路!
  2. Kafka消费者详解
  3. maven 打包jar lib
  4. xubuntu14.04下编译pjsip及pjsua2 java
  5. [云炬创业管理笔记]第三章打造优秀创业团队讨论2
  6. 怎么设置电脑锁屏不断网
  7. ai无法启动产品_启动AI启动的三个关键教训
  8. 助力中小企业级连云端,促进工业互联网平台蓬勃发展,全套解决方案。附:技术产品
  9. 日月神话_常见的Java神话
  10. vue新手入门——vue-cli搭建
  11. JavaScript从入门到放弃 - (一)构造函数和原型
  12. java cookie secure_Cookie的Secure属性
  13. linux-选择输入法
  14. 阿里java规范_阿里Java规范
  15. LINQ to Objects和多线程实现文件查找与分组
  16. Python实现微信自动抠图换底助手
  17. 开源项目:羚羊-抖音运营平台,基于Vue+抖音开放平台+小白开放平台+PhalApi开源框架的抖音运营管理平台
  18. html设置图片为部分背景颜色,设置HTML的一个部分作为一个不同的背景颜色
  19. 苹果计算机开机进入安全模式,苹果电脑开机步骤
  20. CSDN创作中心Markdown编辑器基本使用方法

热门文章

  1. CodeSmith 注册
  2. 盘点苹果乔布斯憎恨Google的十大原因
  3. LeetCode讲解视频博主链接
  4. 剑指offer——面试题5:从尾到头打印链表
  5. 【机器学习】端到端机器学习实践
  6. PyTorch出现RuntimeError: Function AddBackward0 returned an invalid gradient at index 1
  7. Gym102174 (The 14-th BIT Campus Programming Contest)
  8. pyton random 模块
  9. 根据XPATH去查看修改xml文件节点的内容
  10. 【BZOJ-4524】伪光滑数 堆 + 贪心 (暴力) [可持久化可并堆 + DP]