#定义一个扑克类,属性是颜色,数字。
#定义一个手类,属性是扑克牌得颜色数字
#定义一个人类,属性是左手,右手。类里定义一些方法,比如交换,展示
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_里面的参数,只是一个变量。 

最新文章

  1. linux 内核与用户空间通信之netlink使用方法
  2. python读取excel并制表输出
  3. 刨根问底U3D---如何退出Play模式后保留数据更改
  4. [C语言]一个很实用的服务端和客户端进行TCP通信的实例
  5. Linux shell脚本编程基础之练习篇
  6. 如何实现GridView的选中,编辑,取消,删除功能
  7. Deferred的那些知识
  8. Android源代码下载之《Android新闻client源代码》
  9. 关于统一资源标志符URL的理解
  10. 设计模式之策略模式(Strategy Pattern)
  11. Spring保护方法
  12. HDFS客户端的权限错误:Permission denied
  13. Ubuntu16.04下搭建Go语言环境
  14. 解决docker镜像pull超时问题
  15. Python日志模块logging&JSON
  16. swap的实现(没有中间变量)
  17. CSS-设置Footer始终在页面底部
  18. 【BZOJ3240】【NOI2013】矩阵游戏(数论)
  19. Akka概念集
  20. rem第一天

热门文章

  1. SEC2- - mysql 的介绍
  2. C++64位整型
  3. ichunqiu在线挑战--网站综合渗透实验 writeup
  4. CentnOS7安装Nginx“No package available”
  5. 基于dvwa环境下级别为low的SQL手工注入教程
  6. VS code 生成html模板快捷键
  7. 十、.NET使用本地Outlook邮箱指定邮箱用户名和密码发送邮件
  8. 一、表单和ajax中的post请求&&后台获取数据方法
  9. HDU 6686 Rikka with Travels 树的直径
  10. 【归纳】Layui table.render里的json后台传入