#需求:洗衣机,功能:能洗衣服#1、定义洗衣机类

"""class 类名():

代码"""

classWasher():defwash(self):print("能洗衣服")#2 创建对象#对象名 = 类名()

haier =Washer()#3、验证成果#打印haier对象

print(haier)#使用wash功能--实例方法/对象方法 --对象名.wash()

haier.wash()#类:洗衣机,功能:能洗衣服

classWasher():defwash(self):print("洗衣服")print(self)

haier1=Washer()print(haier1) #<__main__.washer object at>

#haier.wash() #洗衣服 <__main__.washer object at>#由于打印对象和打印self得到的内存地址是一样的,所以self指的是调用该函数的对象

haier2=Washer()print(haier2)#一个类可以创建多个对象;多个对象都调用函数的时候,self地址是不相同的

添加和获取对象属性

属性即是特征,比如:洗衣机的宽度、高度、重量

对象的属性既可以在类外面添加和获取,也能在类里面添加和获取1类外面添加对象属性#语法 对象名.属性名 = 值 dg:haier.width = 500

classWasher():defwash(self):print("洗衣服")

haier1=Washer()#添加对象属性

haier1.width = 400haier1.height= 500

#类外面获取对象属性#获取属性 对象名.属性名

print("洗衣机的宽度是:%s"%haier1.width) #洗衣机的宽度是:400

print("洗衣机的高度是:%s"%haier1.height) #洗衣机的高度是:500

print("--------------------------------")#类里面获取对象属性#语法: self.属性名

classmyWasher():defwash(self):print("洗衣服")#获取对象属性

defprint_info(self):#self.属性名

#print(self.width)

print("洗衣机的宽度是:%s"%self.width)print("洗衣机的高度是:%s"%self.height)

my_haier=myWasher()#添加属性

my_haier.width = 400my_haier.height= 500

#对象调用方法

my_haier.print_info()#魔方方法#在python中,__xx__的函数叫做魔法方法,指的是具有特殊功能的函数

#体验__init__#__init__()的方法作用:初始化对象#__init__()方法,在创建一个对象时默认被调用,不需要手动调用#__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去

#目标:定义init魔法方法设置初始化属性,并访问调用

"""1 定义类:

init魔法方法:width 和 height

添加实例方法:访问实例属性

2 创建对象

3 验证结果

调用实例方法"""

classWasher():def __init__(self):#添加实例属性

self.width = 500self.height= 800

defprint_info(self):print("洗衣机的宽度是:%s"%self.width)print("洗衣机的高度是:%s"%self.height)

haier=Washer()

haier.print_info()#洗衣机的宽度是:500 洗衣机的高度是:800

#带参数的__init__()#思考:一个类可以创建多个对象,如何对不同的对象设置不同的初始化属性呢? 答:传参数

classWasher():def __init__(self,width,height):#添加实例属性

self.width =width

self.height=heightdefprint_info(self):print("洗衣机的宽度是:%s"%self.width)print("洗衣机的高度是:%s"%self.height)

haier= Washer(100,200)

haier.print_info()#洗衣机的宽度是:100 洗衣机的高度是:200

__str__()

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

self.width= 300

def __str__(self):return '解释说明:类的说明或对象状态的说明'haier=Washer()print(haier) #解释说明:类的说明或对象状态的说明

#__del__()#当删除对象时,python解释器也会默认调用__del__()方法

classWasher():def __init__(self):

self.width= 300

def __del__(self):print("对象已经删除")

haier= Washer() #对象已经删除

#del haier

python面向对象思路_python面向对象方法相关推荐

  1. python面向对象思路_Python面向对象三要素-继承(Inheritance)

    Python面向对象三要素-继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承概述 1>.基本概念 前面我们学习了Python的面向对象三 ...

  2. python完全支持面向对象编程_python面向对象编程----009

    本篇内容: 1.反射 2.面向对象编程 3.面向对象三大特性 4.类成员 5.类成员修饰符 6.类的特殊成员 7.单例模式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.ge ...

  3. python完全支持面向对象编程_Python 面向对象编程概要

    面向对象三大特性 面向对象的三大特性是指:封装.继承和多态. 封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容. 所以,在使用面向对象的封装特性时,需要: 将内容封装到某处 ...

  4. python面向对象图片_Python面向对象-概念、类、实例

    OOP--Object Oriented Programming,面向对象编程,是一种程序设计思想.该思想将对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 区别于面向过程的程序设计即把计 ...

  5. python封装举例_Python面向对象封装操作案例详解

    本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...

  6. python面向对象继承_Python 面向对象 --- 继承

    目标 单继承 多继承 面向对象三大特性 1,封装 根据 职责 将 属性 和 方法 封装 到以抽象的 类 中 2,继承 实现代码的重用,相同的代码不需要重复的缩写 3,多态 不同的对象调用相同的方法,产 ...

  7. python完全支持面向对象编程_Python面向对象编程

    对象魔法 1.多态 多态指的是能够同样地对待不同类型和类的对象,既无需知道对象属于哪个类就可调用其方法. 2.封装 对象可能隐藏(封装)其内部状态.在有些语言中,这意味着对象的状态(属性)只能通过其方 ...

  8. python self理解_Python面向对象总结,让你快速掌握面向对象常用的用法

    python等面向对象的提出是为了更好的处理和管理同属一个类别的事情,这样就可以省去多余重复的基础代码,让程序变得更加简洁和强大.对于学习编程的朋友来说,熟悉掌握面向对象是非常重要的. 下面开始讲讲关 ...

  9. python不完全支持面向对象程序设计_Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】...

    本文实例讲述了Python面向对象程序设计OOP.分享给大家供大家参考,具体如下: 类是Python所提供的最有用的的工具之一.合理使用时,类可以大量减少开发的时间.类也在流行的Python工具中使用 ...

最新文章

  1. 人工智能之神经网络要进入的下一个阶段-演绎推理
  2. 复旦大学跑步爱好者协会章程(终稿)
  3. java 动态增加定时任务
  4. html制作彩虹_制作彩虹
  5. 开放计算中国社区技术峰会举行,开放开源加速产业创新
  6. 常用JavaScript函数 16 - 30(自我总结)
  7. Linux安装与配置
  8. react脚手架 显示npm不知内部命令_第一章 React开发环境搭建
  9. 安装webpack和webpack打包(此文转自Henery)
  10. MSSQL SQL简繁转换函数
  11. 小白教程系列——MultiDesk连接服务器
  12. 快速明白ARCore + 上手
  13. Matlab出错向量长度必须相同,代码已贴。错误使用plot3,向量长度必须相同
  14. 【20CSPS提高组】题解
  15. Adding a Timepicker to jQuery UI Datepicker
  16. 作业:pytorch实现图卷机网络,与随机梯度下降法实现
  17. 推荐几个好用的网盘搜索引擎
  18. 认生、内敛不等同于孤独症[图]
  19. 使用HTML5+CSS3+JavaScript制作网页游戏的流程
  20. 2018-09-11【H5对局玩法】

热门文章

  1. Linux centos7 安装 MySQL5.7.x
  2. 学之思开源考试系统 - 使用手册
  3. 解决Windows中PLSQL连接虚拟机中Oracle缓慢的问题
  4. RabbitMQ非root用户安装(Linux环境)
  5. 推荐 12个Idea 免费实用插件及插件离线安装方法
  6. flowable实战(四)flowable任务实例管理接口
  7. IDEA Terminal替换成Git Bash_05
  8. 小程序开发(11)-之支付封装
  9. 修改文件 华为交换机_华为交换机系统文件管理配置命令大全(二)
  10. vue 判断同一数组内的值是否一直_vue一些笔记