一、复习

1、什么是对象

2、什么是类

3、什么是属性

4、什么是方法

5、创建一个dog类,dog的属性有颜色,方法有汪汪叫

随堂练习:

class Dog:
def __init__(self, color):
self.color = color def wangwang(self):
print("Dog wangwang!") dog = Dog("white")
dog.wangwang()

6、创建一个cat类,cat的属性有拥有老鼠的只数,方法有捉老鼠

class Cat:
def __init__(self, mouse_count):
self.mouse_count = mouse_count def catch_mouse(self):
self.mouse_count += 1
print("Cat has mouse count:", self.mouse_count) def __str__(self):
text = "Cat has {} mouse.".format(self.mouse_count)
return text cat = Cat(0)
cat.catch_mouse()
cat.catch_mouse()
print(cat)

二、魔法方法

前面学过一个魔法方法,__init__(),该方法会在对象创建时完成初始化。每个对象内置一个__init__()方法。如果你在类定义中没有加入自己的__init__()方法,就会有这样一个内置方法接管,它的工作就是创建对象。

另一个特殊方法是__str__(),它会告诉Python打印(print)一个对象时具体显示什么内容。

主要打印如下内容:

1、实例在哪里定义

2、类名

3、存储实例的内存位置(0x00BB83A0部分)

不过,也可以定义自己的__str__(),这会覆盖内置的__str__()方法

def __str__(self):
text = "Cat has {} mouse.".format(self.mouse_count)
return text

三、练习

1、创建一个dog对象,此对象是白色的狗,名字叫贝贝,有10岁了,如果写出语句:

print(dog), 显示为:Dog name is Beibei,has 10 old.

它会汪汪叫,也会跑。

2、创建一个cat对象,此对象是白色的猫,有3岁了,刚创建时它没有老鼠,不过它会捉老鼠,还会跑,也会吃老鼠

如果写出语句:print(cat),显示为:Cat has 3 old,has 2 mouses.(假设创建猫以后,它已经捉了两次老鼠了并且还没开始吃)

python初级(302) 6 对象(二)的更多相关文章

  1. python初级(302) 6 对象(三)

    一.复习 1.什么是魔法方法? 2.什么是类的初始化函数? 二.什么是self 使用一个类可以创建多个对象实例,例如: ball1 = Ball("red", "smal ...

  2. python初级(302) 6 对象(四)

    一.复习 1.什么是多态 2.复习上一节课内容 class Triangle: """ 三角形类 """ def __init__(self ...

  3. python初级(302) 6 对象(一)

    作业: 1.编写一个Dog类,并生成对象dog,属性包含颜色,大小,重量,可以汪汪叫,摇尾巴,跑 # -*- coding: utf-8 -*- class Dog: def __init__(sel ...

  4. python初级(302) 3 easygui简单使用二

    一.复习 1.easygui 信息提示对话框 2.easygui 是否对话框 二.easygui其它组件 1.选择对话框:choicebox(msg, title, choices) import e ...

  5. python初级(302) 2 easygui简单使用

    一.复习之前的两个练习,巩固计数循环和条件循环 1.系统生成一个随机数1到5,然后让用户的猜测,若猜对了,提示恭喜你,猜对了,否则提示,对不起,你猜错了(提示,1到5的随机数为:secret = ra ...

  6. python初级(302) 1 环境搭建及简单使用

    一.安装anaconda(python环境) 1 地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A 选择Ana ...

  7. python初级(302) 5 列表

    一.复习 1.函数的创建 1) def关键字 2) 函数名及后面跟随的括号 3)冒号加上函数体 2.函数的调用 函数名及后面跟随的括号 3.带一个,二个,三个参数的函数及调用 二.列表 family ...

  8. python初级(302) 4 函数

    一.函数 1.函数定义: 可以完成某个工作的代码块.这是可以用来构建更大程序的一个小部分. 2.创建或定义函数要使用def关键字 3.创建一个函数 1) def 关键字 2)函数名及后面跟随的括号 3 ...

  9. Python 初级 6 循环 (二)

    一.复习 1 for循环 for looper in [1, 2, 3, 4]: print("hello") 1) 每次循环开始,会依次把列表中的数按顺序赋值给looper,第一 ...

随机推荐

  1. 项目Beta冲刺(7/7)(追光的人)(2019.5.29)

    所属课程 软件工程1916 作业要求 Beta冲刺博客汇总 团队名称 追光的人 作业目标 描述Beta冲刺每日的scrum和PM报告两部分 队员学号 队员博客 221600219 小墨 https:/ ...

  2. TCP/IP通信过程(以发送电子邮件为例)(转)

    1.应用程序处理 (1)A用户启动邮件应用程序,填写收件人邮箱和发送内容,点击“发送”,开始TCP/IP通信: (2)应用程序对发送的内容进行编码处理,这一过程相当于OSI的表示层功能: (3)由A用 ...

  3. multipart/form-data与数据封装

    方案一: 将所有数据先格式化(编码)成可读字符串,然后转化成bytes的形式. 方案二: 将每一个部分分别转化成(或者直接使用)bytes的形式,然后串联到一起. http://www.jianshu ...

  4. Tasking

    Put your plan on the tick list, and set the completion time limit, daily repetition, etc. according ...

  5. Numpy | 09 高级索引

    NumPy 比一般的 Python 序列提供更多的索引方式.除了之前看到的用整数和切片的索引外,数组可以由整数数组索引.布尔索引及花式索引. 整数数组索引 实例1:获取数组中(0,0),(1,1)和( ...

  6. graphql-compose graphql schema 生成工具集

    graphql-compose 是一个强大的graphql schema 生成工具集 包含以下特性 快速便捷的复杂类型生成 类型仓库,类型可以存储在schemacomposer 存储中 包含flowt ...

  7. ent 基本使用 二 简单create && query

    接上文,前边我们了解了关于基本代码生成以及schema 迁移的学习,下边我们看看基本的数据操作 参考代码: https://github.com/rongfengliang/ent-demo 环境准备 ...

  8. JavaScript原始类型转换和进制转换

    1.JavaScript转换包括:强制转换和基本转换 如: var  str = 'A',num=10,nu=null,t=true,und=undefined,x; //注意:定义的x未被初始化:默 ...

  9. Linux 系统管理——系统安全及应用

    chagen -d 0 ____用户名:下次登录时必须修改密码 ctrl+R:查看历史记录 history:查看历史记录 清除历史记录: >.bash _history echo“”>.b ...

  10. eclipse右键空白、eclipse提示空白

    右键选择菜单经常显示空白.要试好多次才会出来.eclipse无法启动.启动报错 查看eclipse安装目录下的.metadata下的.log 里面会记录eclipse的报错信息 一般显示空白问题都是因 ...