从0.1开始学Python——[19](番外练习)
试着定义一个简单的,但是比较完整的类。
比如下棋建一个类帮我理清卡片的组合buff和花费什么的。
class Yundingzhiwang(): # 棋王养成用类
def __init__(self,name,pay,combo,equipment): # 卡牌的基本信息
self.name = name
self.pay = pay
self.combo = combo
self.equipment = equipment
def work(self): # 发挥卡牌战力的方法
print('触发%s羁绊'%self.combo)
def up(self): # 提升卡牌战力的方法
print('花%s钱升到三星'%int(int(self.pay)*9))
def zhuc(self): # 让卡片成为主c的方法
print('把%s给合成成装'%self.equipment)
nn = Yundingzhiwang('努努','3','幻镜龙:重骑兵','金铲铲')
nn.work()
nn.up()
触发幻镜龙:重骑兵羁绊
花27钱升到三星
可以看到效果还可以,但是有一个问题。这个类里面的属性,他们的值可以在外部语句输入变量.属性名=×××的方式进行更改,但是这种行为是不尽合理的,因为卡片的花费不能是负数,英雄名字、羁绊效果或者成装名字不能是没有的名字,也就是说受制于应用背景,有很多内容是不能随便更改的,但是现在却限制不了用户。
这就涉及到所谓的数据安全性问题,理想情况是,我作为编程者,给使用的人可以进行规定,只有我同意,而且他输入的新值合法,这样才能更改数据。这些内容将在接下来的学习中得到充实。