__init__方法
1.python自带内置函数,特殊函数。
2.一个初始化方法,用来定义实例属性和初始化的数据,在创建对象的时候自动调用
3.利用传参的机制可以让我们定义功能更加强大并且方便的类
import random
class role:
def __init__(self,name,hp):
self.name=name
self.hp=hp
def tong(self,enemy):
a=random.randint(8,12)
enemy.hp-=a
info='%s捅了%s一刀,%s掉了%s滴血'%(self.name,enemy.name,enemy.name,a)
print(info)
def kan(self,enemy):
a = random.randint(12, 17)
info='%s捅了%s一刀,%s掉了%s滴血'%(self.name,enemy.name,enemy.name,a)
print(info)
enemy.hp-=a
def chi(self):
a = random.randint(5, 8)
self.hp+=a
info = '%s吃了一粒小还丹,回血%s滴' % (self.name,a)
print(info)
def __str__(self):#__str__方法:在将对象转换成字符串str(对象)测试的时候,打印对象的信息。
return '%s 还剩下%s血'%(self.name,self.hp)
xmcx=role('西门吹雪',100)
ygc=role('叶孤城',100)
a=1
while True:
if xmcx.hp<=0:
print('西门吹雪败了!')
break
elif ygc.hp<=0:
print('叶孤城败了!')
break
else:
print('--------第{}回合---------'.format(a))
a += 1
xmcx.tong(ygc)
ygc.chi()
ygc.tong(xmcx)
xmcx.chi()
print(ygc)
print(xmcx)
1.self和对象指向同一个内存地址,可以认为self就是对象的引用。
2.__str__方法:在将对象转换成字符串str(对象)测试的时候,打印对象的信息。
class animal:
def __init__(self,color,name,age):
self.color=color
self.name=name
self.age=age
def eat(self):
print('%s在吃东西'%(self.name))
def __str__(self):
return '这是动物的颜色是%s,姓名是%s,年龄是%s'%(self.color,self.name,self.age)
dog=animal('黄色','大黄',9)
dog.eat()
print(dog)