python初级(302) 6 对象(二)
一、复习
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
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 对象(二)的更多相关文章
- python初级(302) 6 对象(三)
一.复习 1.什么是魔法方法? 2.什么是类的初始化函数? 二.什么是self 使用一个类可以创建多个对象实例,例如: ball1 = Ball("red", "smal ...
- python初级(302) 6 对象(四)
一.复习 1.什么是多态 2.复习上一节课内容 class Triangle: """ 三角形类 """ def __init__(self ...
- python初级(302) 6 对象(一)
作业: 1.编写一个Dog类,并生成对象dog,属性包含颜色,大小,重量,可以汪汪叫,摇尾巴,跑 # -*- coding: utf-8 -*- class Dog: def __init__(sel ...
- python初级(302) 3 easygui简单使用二
一.复习 1.easygui 信息提示对话框 2.easygui 是否对话框 二.easygui其它组件 1.选择对话框:choicebox(msg, title, choices) import e ...
- python初级(302) 2 easygui简单使用
一.复习之前的两个练习,巩固计数循环和条件循环 1.系统生成一个随机数1到5,然后让用户的猜测,若猜对了,提示恭喜你,猜对了,否则提示,对不起,你猜错了(提示,1到5的随机数为:secret = ra ...
- python初级(302) 1 环境搭建及简单使用
一.安装anaconda(python环境) 1 地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=A 选择Ana ...
- python初级(302) 5 列表
一.复习 1.函数的创建 1) def关键字 2) 函数名及后面跟随的括号 3)冒号加上函数体 2.函数的调用 函数名及后面跟随的括号 3.带一个,二个,三个参数的函数及调用 二.列表 family ...
- python初级(302) 4 函数
一.函数 1.函数定义: 可以完成某个工作的代码块.这是可以用来构建更大程序的一个小部分. 2.创建或定义函数要使用def关键字 3.创建一个函数 1) def 关键字 2)函数名及后面跟随的括号 3 ...
- Python 初级 6 循环 (二)
一.复习 1 for循环 for looper in [1, 2, 3, 4]: print("hello") 1) 每次循环开始,会依次把列表中的数按顺序赋值给looper,第一 ...
随机推荐
- 【使用DIV+CSS重写网站首页案例】CSS选择器
使用表格<table></table>对网站首页进行布局有缺陷,不能拖动版块,不灵活. DIV Div是一个html的标签,单独使用没有意义,必须结合CSS使用: 是一个块级元 ...
- dfs 解决八皇后问题 以及其他图搜索问题
33. N皇后问题 中文 English n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击(任意两个皇后不能位于同一行,同一列,同一斜线). 给定一个整数n,返回所有不同的n皇后问 ...
- Detectron2源码阅读笔记-(二)Registry&build_*方法
Trainer解析 我们继续Detectron2代码阅读笔记-(一)中的内容. 上图画出了detectron2文件夹中的三个子文件夹(tools,config,engine)之间的关系.那么剩下的 ...
- Matplotlib同时绘制多张图片
我现在有一组图片,一共100张图片,每张大小是200*200,即imgs.shape=100*200*200*3 (注意通道数在最后一维). 我需要同时绘制这100张图片,而且每张图片需要写上对应的名 ...
- php中的闭包类
看注释 <?php //闭包类实现匿名函数 //call方法调用 class Customer { private $firstname; private $lastname; public f ...
- python正则表达式(4)--search方法
1.re.search函数 re.search 扫描整个字符串并返回第一个成功的匹配,如果匹配失败search()就返回None. (1)函数语法: re.search(pattern, string ...
- P5022 旅行[基环树]
以后必须学会面向数据编程!看半天题目不知道咋写直接爆搜,结果分少的可怜,还不如直接贪搞个60分. 观察数据,发现图至多存在一个环. 显然,如果没有环,这个题不跟你多bb,直接贪就完事了,线性复杂度. ...
- python应用-综合应用题解决
题目: A,B,C,D,E五个人捕鱼,不计其数,然后休息, 早上A第一个醒来,将鱼均分成五份,把多余的一条鱼扔掉,拿走自己的一份, B第二个醒来,也将鱼均分为五份,把多余的一条鱼扔掉,拿走自己的一份. ...
- includes方法 使用 Object.defineProperty 扩展 ,解决不兼容问题
原文链接 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/includes ...
- webapi HttpGet标签
该标签可以指定路由如HttpGet["Test"],以前用的很顺,后来加了Area后,按照area/controller/Test的路径去访问报404,原因是HTTPGet指定路由 ...