专栏首页算法与编程之美Python|面向对象编程的类和实例

Python|面向对象编程的类和实例

问题描述

Python是一门动态语言,面向对象编程是一个我们必须掌握的重点,而类和实例又是面向对象中的重要概念,由于类是抽象的模板,有点不好理解,所以有很多人不能很好的使用类。

类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

我们可以举一个简单的例子,首先我们创建一个类,就相当于上帝创建了人,类就等于人这这个物种,同时在人类中又有很多不同的人,他们有不同的外貌,会不同的技能,有的人高,有的人矮,有的人会游泳,有的人会开车。而在类中外貌就相当于它的属性,技能就相当于方法

解决方案

我们先创建一个人

class person(object): def __init__(self,hight,weight,age,handsome): self.hight = hight self.weight = weight self.age = age self.handsme = handsome def youyon(self): print('你会游泳') def kaiche(self): print('你会开车')

我们会发现一个人有身高,体重,年龄,还有长相,这些就是这个人的属性,还有游泳,开车这些是人的方法。

然后我们赋予它实例,张三,李四,每个实例的属性不相同,但可以有一样的方法。

class person(object): def __init__(self,hight,weight,age,handsome): self.hight = hight self.weight = weight self.age = age self.handsme = handsome def youyon(self): print('你会游泳') def kaiche(self): print('你会开车')zhangsan = person(170,50,29,86) lisi = person(180,50,24,97) zhangsan.youyon() lisi.kaice()

运行如下:

结语

以上就是对于类和实例的一些简单知识,我们只要抓住类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都互相独立,互不影响。

END

实习编辑 | 王楠岚

责 编 | 王 曦

where2go 团队

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:王曦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python|520表白神器

    众所周知,5月20日为“520”情人节,这一天也是即将到来,大家都希望与自己的男神女神过一个浪漫的情人节。但是还有很多像小编这样的单身狗,不知道如何向自己的男神...

    算法与编程之美
  • Python|Huffman编码的python代码实现

    Huffman编码是依靠Huffman树来实现的,Huffman树是带全路径长度最小的二叉树。

    算法与编程之美
  • Python|动态规划与回溯求数字个数

    给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n

    算法与编程之美
  • 使用 mypy 做 type check

    完残!?,最近看之前写的 Python 代码老得琢磨这比变量的类型是啥(Python 无类型系统xxx),不愧是我写的!

    Cloud-Cloudys
  • 一个PyQt5示例(密码记忆箱)

    新建、修改、和删除分别对应工具条上的三个按钮。程序现将账号密码等信息显示在表格里(QTableWidget),确认后立即永久保存/更新到本地数据库,或从本地数据...

    用户6021899
  • 一日一技:如何统计Python函数被调用了几次?

    青南
  • 爬虫课堂(二十八)|Spider和CrawlSpider的源码分析

    黄小怪
  • PyQt 5信号与槽的几种高级玩法

    在Qt中,每一个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject的子对象)都支持信号与槽机制。当信号发射时,连接的槽函数将会...

    博文视点Broadview
  • python——客户端

    twisted是一个设计非常灵活的框架,通过它可以写出功能强大的客户端,然而要在代码中使用非常多的层次结构。这个文档包括创建用于TCP,SSL和Unix soc...

    py3study
  • Python Data Structures - C3 Data Structures

    参考内容: 1.Problem Solving with Python Chapter 2 Algorithm Analysis Chapter 3 Ba...

    宅男潇涧

扫码关注云+社区

领取腾讯云代金券