python面向对象练习方法(Python面向对象实现一个对象调用另一个对象操作示例)
类别:脚本大全 浏览量:2010
时间:2021-10-19 06:58:09 python面向对象练习方法
Python面向对象实现一个对象调用另一个对象操作示例本文实例讲述了python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下:
我先总结一下python中的类的特点:
1.类中所有的方法的参数中都必须加self,并且是第一个参数
2.__init__方法用来初始化对象,也必须加self
3.用__str__方法,方法中有返回值,可以直接用print(对象引用的变量),__str__方法返回什么,print得到的就是什么
4.属性的赋值,最好用方法封装起来使用
__str__和__init__方法的举例:
|
# -*- coding:utf-8 -*- #! python3 class cat: def __init__( self ,new_name,new_age): #初始化对象 self .name = new_name self .age = new_age def __str__( self ): return "%s的年龄是:%d" % ( self .name, self .age) def eat( self ): print ( "猫在吃鱼...." ) def drink( self ): print ( "猫在喝可乐..." ) tom = cat( "汤姆" , 40 ) print (tom) #这个输出的结果就是str返回值的结果 |
运行结果:
汤姆的年龄是:40
一个对象调用另一个对象:
一个对象调用另一个对象的属性可以直接调用
|
# -*- coding:utf-8 -*- #! python3 class home: def __init__( self ,new_area,new_info,new_addr): self .area = new_area self .info = new_info self .addr = new_addr self .left_area = new_area self .contain_items = [] def __str__( self ): msg = "房子的总面积是:%d,可用面积是:%d,户型是:%s,地址是:%s" % ( self .area, self .left_area, self .info, self .addr) msg + = "当前房子里的物品是%s" % ( str ( self .contain_items)) return msg def add_item( self ,item): #self.left_area -= item.area #self.contain_items.append(item.name) self .left_area - = item.get_area() self .contain_items.append(item.get_name()) class bed: def __init__( self ,new_name,new_area): self .name = new_name self .area = new_area def __str__( self ): return "%s占用的面积是:%d" % ( self .name, self .area) def get_area( self ): return self .area def get_name( self ): return self .name fangzi = home( 129 , "三室一厅" , "北京市 朝阳区 长安街 666号" ) print (fangzi) bed1 = bed( "席木思" , 4 ) fangzi.add_item(bed1) print (fangzi) |
运行结果:
房子的总面积是:129,可用面积是:129,户型是:三室一厅,地址是:北京市 朝阳区 长安街 666号当前房子里的物品是[]
房子的总面积是:129,可用面积是:125,户型是:三室一厅,地址是:北京市 朝阳区 长安街 666号当前房子里的物品是['席木思']
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/chenjuan0530/article/details/78468444
您可能感兴趣
- pythonexcel生成报表(python生成每日报表数据Excel并邮件发送的实例)
- python虚拟变量教程(Python中psutil的介绍与用法)
- python去除字符串中间的空格(Python去除字符串前后空格的几种方法)
- python线程池的实现原理(详解python中的线程与线程池)
- python获取网络数据tcp(Python选择网卡发包及接收数据包)
- pythonpandas数据类型(详解Python数据分析--Pandas知识点)
- knn算法详细步骤(Python实现KNNK-近邻算法的示例代码)
- python基本数据结构(浅谈Python编程中3个常用的数据结构和算法)
- python中if条件语句如何使用(对python中if语句的真假判断实例详解)
- python网络爬虫案例实战(python爬取cnvd漏洞库信息的实例)
- python整型可以用什么表示(实例介绍Python中整型)
- python怎么安装queue(python队列Queue的详解)
- python如何用md5作为文档名(Python生成MD5值的两种方法实例分析)
- python随机生成时间戳(python时间序列按频率生成日期的方法)
- python基于django的博客系统(利用django+wechat-python-sdk 创建微信服务器接入的方法)
- python yield 使用浅析(yii框架使用分页的方法分析)
- 休闲VS新古典 办公家居简约设计(办公家居简约设计)
- 15个新成 园 位置公布 深圳龙岗2022年共建花园建设又有大动作(15个新成园位置公布)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
- 富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元 | 美通社(富士胶片集团将向土耳其东南部地震灾民捐赠5000万日元)
- 二次创业 的富士胶片,在进博会上首次展示完成转型后的全线医疗产品(二次创业的富士胶片)
- 富士胶片 中国 我们对上海的信心没有任何改变(富士胶片中国)
热门推荐
- mysql查询时间格式化(MySQL时间格式化)
- laraveljob怎么运行脚本(Laravel-admin之修改操作日志的方法)
- mongodb eval 执行服务器端脚本
- pythonsocket建立多用户通讯(Python socket实现多对多全双工通信的方法)
- dedecms系统怎么查看(DedeCMS V5.3/V5.5/V5.7 安全设置指南 图文推荐)
- dedecms创建栏目(dedecms织梦模板栏目列表中添加统计文档数量的标签)
- python表白神器教程(python浪漫表白源码)
- apache搭建ftp服务器(使用Apache&花生壳架设Web服务器)
- C#中的readonly和const关键字
- 如何看http状态码(10个常见的HTTP状态码详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9