第十一章:面向对象编程_课堂练习11 面向对象编程-程序员宅基地

技术标签: python教程  

类的定义

类是一种数据类型。类名、属性和方法的命名遵循两个原则:见名知意和驼峰原则。其中,类名遵循首字母大写。

创建类的格式:

  class 类名(父类列表):

    属性

    方法

通常,默认的父类是基类object(又称超类),一般没有合适的父类,就以object为父类。

类的实例化格式:

    对象名 = 类名(参数列表)

class Person(object):
# 方法的参数必须以self作为第一个参数,self代表类的实例(对象)
    #构造函数
    def __init__(self,name, age, height, weight):
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    def say(self):
        print("Hello! My name is %s, Iam %d years old" % (self.name, self.age))

per1 = Person("Tom", 20, 160, 80)
per1.say()

per2 = Person("Hanmeimei", 21, 160,60)
per2.say()

构造函数

        每一个类都存在一个构造函数__init__(),在使用类创建对象的时候自动被调用。如果不显示写出构造函数,默认会自动添加一个空的构造函数。

self

        所有方法的第一个参数都是self。self代表类的实例,而非类。哪个对象调用方法,那么该方法中的self就代表那个对象。

        self不是关键字,换成其它标识符也可以,但是一般都使用self。

self.__class__

        self.__class__代表类名,可以实现在某个类的方法中创建自身的实例。

class Person(object):
    def __init__(self,name, age, height, weight):
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    def run(self):
        print(self.__class__)
        per = self.__class__("Lilei", 30, 178, 70)
        print(per)

per1 = Person("Tom", 20, 160, 80)
per1.run()

析构函数

        __del__()是python默认的析构函数,释放对象时自动调用。

        堆区内存需要程序员手动开辟和释放,对象存放在堆区,但python的垃圾处理机制,会在程序结束时回收堆区内存。

class Person(object):
    def __init__(self,name, age, height, weight):
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    def __
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010378984/article/details/83054048

智能推荐

Vue传递数据到后台SpringMVC接收解析返回_vue参数编码传到.net后端解析-程序员宅基地

文章浏览阅读2.4w次,点赞2次,收藏8次。最近在自学vue,开始以为跟angular大同小异,但是真正使用的时候发现还是很多不一样的地方,可能是因为刚刚开始理解的还不够深入O(∩_∩)O。 下面说说前端jsp怎么和后台交互,后台使用的是springMvc框架。html部分<div id="app"> <table class="table table-bordered table-striped" style..._vue参数编码传到.net后端解析

使用bochs调试操作系统_oslab存在另一个bochs调试会话-程序员宅基地

文章浏览阅读1.7k次。自 http://bbs.pediy.com/showthread.php?t=123767&highlight=bochs一、环境配置: 操作系统:Microsoft Windows XP Professional Service Pack 3 调试工具:bochs 2.4.0.01、安装:Bochs Bochs是一种十分轻便的使用c++编写的开源IA-_oslab存在另一个bochs调试会话

html页面垂直滚动条不显示,隐藏html横向但不是垂直滚动条-程序员宅基地

文章浏览阅读144次。Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type a..._html中只显示横向滚动条不显示垂直滚动条

MISRA C编程规范标准_函数应该声明为具有文件作用域-程序员宅基地

文章浏览阅读3k次。MISRA (The Motor Industry Software Reliability Association),中文名称为汽车工业软件可靠性联会,是英国的一个跨国汽车工业协会,其成员包括了大部分欧美汽车生产商。其核心使命是为汽车工业提供服务和协助,帮助厂方开发安全的、高可靠性的嵌入式软件。MISRA C则是由MISRA提出的针对嵌入式C语言开发标准,目的是提高嵌入式系统的安全性、可读性和可..._函数应该声明为具有文件作用域

h5打开android相册非文件管理器,Android webview中打开相机拍照和选择相册-程序员宅基地

文章浏览阅读805次。记录在Android的webview加载的h5中调用相机和选择相册的步骤1申请权限此时需要申请相机和相册的权限(1)android.Manifest.permission.CAMERA)(2)android.Manifest.permission.READ_EXTERNAL_STORAGEprivate void getPermission() {if (Build.VERSION.SDK_INT..._h5 安卓打开相机

一句话说清NI公司的LabView、CVI、MeasurementStudio三者之间的区别_ni cvi-程序员宅基地

文章浏览阅读2k次。LabView是NI公司傻瓜化的图形操作测试开发工具;CVI是NI公司C语言风格的测试开发语言,当然也是工具;Measurement Studio是面向一直使用微软开发工具如VC、C#的那些开发人员,而提供的测试开发工具。原文链接:https://blog.csdn.net/dijkstar/article/details/30290905..._ni cvi

随便推点

【全年汇总】2023年CCF体系结构/并行与分布计算/存储系统会议截稿时间汇总(持续更新)_international test conference in asia-程序员宅基地

文章浏览阅读1.5k次。【全年汇总】2023年CCF体系结构/并行与分布计算/存储系统会议截稿时间汇总(持续更新)_international test conference in asia

psnr(峰值信噪比)-程序员宅基地

文章浏览阅读2.9k次。峰值信噪比(PSNR),一种评价图像的客观标准。它具有局限性,PSNR是“Peak Signal to Noise Ratio”的缩写。peak的中文意思是顶点。而ratio的意思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像都会在某种程度与原始影像不同。为了衡量经过处理后的影像品质,我们通常会参...

学习SSM遇到的问题及解决方案_ssm技术解决的主要问题就行。-程序员宅基地

文章浏览阅读1.8k次。1. 前台往后台传值,后台接受方式原先是一个一个的接收值,并用单个值进行操作改进:将数据封装,用对象的方式传值接收,用对象.属性的方式操作2.Service包存在的作用Controller 是可以直接和Mapper 对应,但后期维护不易Service 降低耦合性,对业务逻辑的更改提供便利..._ssm技术解决的主要问题就行。

《算法心得:高效算法的奥秘(原书第2版)》-程序员宅基地

文章浏览阅读228次。《算法心得:高效算法的奥秘(原书第2版)》基本信息原书名:Hacker's Delight,Second Edition原出版社: Addison-Wesley Professional作者: (美)Henry S. Warren,Jr译者: 爱飞翔丛书名: 名家经典系列出版社:机械工业出版社ISBN:9787111453567上架时间:2014-3-5..._hacker's delight second edition

开箱即用,完整版 LLaMA2 大模型全流程方案,开源了!-程序员宅基地

文章浏览阅读328次。来源:GitHubDailyChatGPT 引发的大模型热潮愈演愈烈,全球科技巨头和明星初创争相入局,打造以 AI 大模型为核心的竞争力和多样化商业使用需求。其中 LLaMA 系列模型,因良好的基础能力和开放生态,已积累了海量的用户和实际应用案例,成为无数开源模型后来者的模仿和竞争的标杆对象。但是,如何降低类 LLaMA2 大模型预训练成本,如何基于 LLaMA2 通过继续预训练和微调,低成本构建..._llama2 模型 百度网盘

java.io.IOException 断开的管道 解决方法 ClientAbortException: java.io.IOException: Broken pipe-程序员宅基地

文章浏览阅读5.5k次,点赞4次,收藏8次。转载于:https://blog.csdn.net/zqz_zqz/article/details/52235479今天公司技术支持的童鞋报告一个客户的服务不工作了,紧急求助,于是远程登陆上服务器排查问题。 查看采集数据的tomcat日志,习惯性的先翻到日志的最后去查看有没有异常的打印,果然发现了好几种异常信息,但是最多还是这个: 24-Nov-2016 09:54:21.116 SEVERE [http-nio-8081-Acceptor-0] org.apache.t..._clientabortexception: java.io.ioexception: broken pipe