2020-11-16 面向对像 类

  • Python使用class关键字来定义类,其语法格式如下: class 类名: 类体
  • 类名的首字母一般需要大写
  • 类的所有实例方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参(如果有多个形参),self参数代表将来要创建的对象本身。另外,self.name称为实例属性,在类的实例方法中访问实例属性时需要以self为前缀。
  • 面向对象编程(OOP)就是创建“对象”。对象是一组相互关联的变量和函数。这些变量通常称为对象的属性,而功能则称为对象的行为。这些对象为程序提供了更好,更清晰的结构。
  • 例如:汽车可以是物体。如果我们将汽车视为一个对象,那么它的属性就是–它的颜色,模型,价格,品牌等。它的行为/功能将是加速,减速,换档。
  • 另一个例子-如果我们将狗视为对象,那么它的属性将是-他的颜色,他的品种,他的名字,他的体重等。他的行为/功能将是散步,吠叫,嬉戏等。
  • 面向对象编程之所以闻名,是因为它在编程中实现了诸如对象,隐藏,继承等读取世界的实体。由于它接近真实场景,因此使可视化变得更加容易。
import random
class Card:
    RANKS =['A','1','2','3','4','5','6','7','8','9','10','J','Q','K']
    SUTIS =['♥','♦','♣','♠']

    def __init__(self):
        self.cards = []

        for x in Card.SUTIS:
            for y in Card.RANKS:
                self.cards.append(x+y)
                
        random.shuffle(self.cards)

     def send(self,player,playerNum=13):
         for i in range(playerNum):
            for play in player:
                temp = self.cards[0]
                play.add(temp)
                self.cards.remove(temp)
         
class Player:
     def __init__(self,name):
         self.name = name
         self.cards = []
     def add(self,value):
         self.cards.append(value)
     def printInfo(self):
         print(self.name,'',self.cards)
card = Card()
p1 = Player('AA')
p2 = Player('BB')
p3 = Player('CC')
p4 = Player('DD')
lst = [p1,p2,p3,p4]
card.send(lst)
for player in players:
   print(player.name,"玩家:",player)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值