python类与对象练习题扑克牌
#定义一个扑克类,属性是颜色,数字。
#定义一个手类,属性是扑克牌得颜色数字
#定义一个人类,属性是左手,右手。类里定义一些方法,比如交换,展示
class Poker :
def __init__(self,colour ,num):
self.colour = colour
self.num = num
def __str__(self):
return "{},{}".format(self.colour,self.num)
p1 = Poker("红桃","A")
p2 = Poker("黑桃","k")
#定义一个手得类
class Hand :
def __init__(self,poker):
self.poker = poker
left_hand = Hand(p1)
right_hand = Hand(p2)
#定义一个人的类
class Person :
def __init__(self,left_hand ,right_hand):
self.left_hand = left_hand
self.right_hand = right_hand
def show_hand(self):
print(self.right_hand.poker,self.left_hand.poker)
def swap_hand(self):
self.left_hand.poker,self.right_hand.poker = self.right_hand.poker,self.left_hand.poker
xiaoming = Person(left_hand,right_hand)
xiaoming.show_hand()
xiaoming.swap_hand()
xiaoming.show_hand()
总结,里面的变量只是一个变量,形参是变量,对象也是变量。当你将一个对象作为一个参数传入另外一个类中的时候,才会发生关系。给大家一个改良版的,加强大家理解。
class Poker :
def __init__(self,colour ,num):
self.colour = colour
self.num = num
def __str__(self):
return "{},{}".format(self.colour,self.num)
p1 = Poker("红桃","A")
p2 = Poker("黑桃","k")
#定义一个手得类
class Hand :
def __init__(self,pai):
self.paipai = pai
left_hand = Hand(p1)
right_hand = Hand(p2)
#定义一个人的类
class Person :
def __init__(self,bianliang ,suibian):
self.zuoshou = bianliang
self.youshou = suibian
def show_hand(self):
print(self.youshou.paipai,self.zuoshou.paipai)
def swap_hand(self):
self.zuoshou.paipai,self.youshou.paipai = self.youshou.paipai,self.zuoshou.paipai
#xiamian de left_hand riaht_hand 是Hand的对象哦。
xiaoming = Person(left_hand,right_hand)
xiaoming.show_hand()
xiaoming.swap_hand()
xiaoming.show_hand()
同学们仔细对比一下,仔细体会一下,就是说类的属性,原来是空白的,只有你给她传进去 一个具体的之后,它才实例化。传之前,类的属性函数_init_里面的参数,只是一个变量。
python类与对象练习题扑克牌的更多相关文章
- python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
- python 类和对象的属性
python类和对象的属性分为类属性和对象属性两大类,类属性属于类,而对象属性属于对象. 1. 父类的对象属性会被子类的对象继承. 2. 父类的类属性会被子类继承,还是作为类属性,如果父类改变了类属性 ...
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类、对象
python类.对象 学习完本篇,你将会深入掌握 什么是类,对象 了解类和对象之间的关系 能独立创建一个People(人类),属性有姓名.性别.年龄.提供一个有参的构造方法,编写一个show方法,输出 ...
- python 类、对象、方法、属性
在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...
- python类、对象、方法、属性之类与对象笔记
python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗, ...
- python类与对象基本语法
面向对象编程的2个非常重要的概念:类和对象. 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念--类. 类就相当于制造飞机时的图纸,用它 ...
- python 类和对象
类和对象 类 1.类的组成 数据和函数,二者是类的属性 2.两个作用: 实例化 属性引用 属性引用:类名.属性(增删改查) 实例化: 类名加括号就是实例化,会自动出发__init__的运行 ...
- Python类和对象
目录 类与对象 其他方法 继承 经典类和新式类 派生 组合 接口.归一化设计与抽象类 继承实现的原理 子类中调用父类的方法 指名道姓 super()方法 多态与多态性 封装 单下划线开头 双下划线开头 ...
随机推荐
- Vue访问子组件实例或子元素
1 尽管存在 prop 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件(例如,调用子组件的方法).为了达到这个目的,你可以通过 ref 特性为这个子组件赋予一个 ID 引用 ...
- Python笔记(十二)_文件
文件的打开模式 'r':以只读的方式打开文件(默认) 'w':以写入的方式打开文件,会覆盖已存在的文件 'x':用写入的方式打开文件,如果文件已存在,会抛出异常 'a':用写入的方式打开文件,如果文件 ...
- Sublime Text3安装配置
Sublime Text3的所有package都可在如下网站检索 https://packagecontrol.io/browse 以下是我的插件列表 CoolFormat 一款C\C++\C#\CS ...
- 洛谷P3379 【模板】最近公共祖先(LCA)——LCA
给一手链接 https://www.luogu.com.cn/problem/P3379 算是lca的模板吧 #include<cstdio> #include<cstring> ...
- mybatis配置mapper.xml 的基本操作
XML 映射文件 本文参考mybatis中文官网进行学习总结:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html MyBatis 的真正强大在于它的 ...
- MySQL错误信息语言设置为英文
MySQL错误信息语言设置为英文 安装的wamp环境中,mysql的错误提示信息默认不是英语(大概是法语) 这里说下改为英语的过程 第一步 找到以下文件夹,确保里面可以看到各种"国际方言&q ...
- [暑假集训Day3T1]小木棍
经典搜索题. 考虑以下9种优化 1)按木棍长度排序,使得较大长度的木棍被较早的选出. 2)只找能够整除的木棍长度,因为不能被sum整除一定不会出整数根,自然也就不是最优解. 3)枚举木棍长度时只需从最 ...
- U33405 纽约 (二分)
[题目描述] 牧民 Azone 需要多次往返于两个草场之间运输家当.为了顺利转场,Azone 决定花费 w元津巴布韦币,购买一辆载重为 w 的汽车.共有 n 件家具需要搬运,每件家具的重量为 wi ...
- 2019 Multi-University Training Contest 1 - 1012 - NTT
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=6589 题解连接: https://www.cnblogs.com/xusirui/p/1122945 ...
- mysql 8.0.15忘记密码重置方法
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务, 2.开启跳过密码验证登录的MySQL服务 输入命令 mysqld --console --skip-grant-t ...