class human:
# mind='有思想'
# language='有语言'
# def __init__(self):
# pass
# def work(self):
# print('人类会工作')
# def tools(self):
# print('人类会使工具')
# # print(human.__dict__)
# # print(human.__dict__['mind'])
# # print(human.__dict__['tools'])
# # human.__dict__['mind']='无脑'
# # print(human.__dict__)
#
#
#
# # print(human.mind)
# # human.mind='无脑'
# # print(human.mind)
# del human.mind
# print(human.__dict__)
# # human.walk ='说话'
# # print(human.walk)
#
# obj = human
# # print(obj)
# # 1、产生一个对象的空间
# # 2、自动执行类中的__init__方法并且将这个对象空间传给self。
# # 3、在__init__中通过self给这个空间添加属性。
#
# class human:
# mind='有思想'
# language='有语言'
#
# def __init__(self,name,sex,age,hobby):
# self.n=name
# self.s=sex
# self.a=age
# self.h=hobby
# def work(self):
# print('人类会工作')
# def tools(self):
# print('人类会使用工具')
# obj =human('小胖','男',20,'女')
# print(human)
# print(obj.__dict__) #查
# obj.job ='it' #增
# print(obj.__dict__)
# del obj.n #删除
# print(obj.__dict__)
# obj.s='女'
# print(obj.__dict__)
# count=0
# s1='1213sddfaff'
# for i in s1:
# count+=1
# print(count)
# print(len(s1))
class Human:
mind='有思想'
language='实用语言'
def __init__(self,name,sex,age,hobby):
self.n=name
self.s=sex
self.a=age
self.h=hobby
def work(self):
print('人类工作')
def tools(self):
print('人类会工具')
# print(Human.__dict__)
# print(Human.__dict__['mind'])#查
# Human.mind='ha'
# print(Human.__dict__['mind']) #改】
# del Human.mind #删
# print(Human.__dict__)
# Human.walk='行走' #增
# print(Human.__dict__)
obj=Human('小胖','男','18','女')
# 1、创造这个实力空间
# print(obj) # <__# main__.Human object at 0x0000028DBA9E52B0>
# # 2、用__init__方法并且将这个空的对象空间传给self
# #3、在__init__方法中的self给这个空间添加属性
# obj=Human('小胖','男','18','女')
# print(obj.__dict__) #{'n': '小胖', 's': '男', 'a': '18', 'h': '女'}
#
# del obj.s #删
# print(obj.__dict__) #{'n': '小胖', 'a': '18', 'h': '女'}
#
# obj.s='女'
# print(obj.__dict__)#{'n': '小胖', 'a': '18', 'h': '女', 's': '女'}
#
#
#
# obj.job='it'#增
# print(obj.__dict__)#{'n': '小胖', 'a': '18', 'h': '女', 's': '女', 'job': 'it'}
# 3,对象可以查询类中的属性。
# print(obj.mind)
# print(obj.language)
# obj.a=67
# print(obj.a)
# self:类中方法的第一个形参约定俗成写self 便于统一,self接受的就是对象空间。
#self:类中方法约定俗称的写成self,方便统一,self接收的就是这对象空间
# obj.tools()
# print(obj.__dict__)
# self=[1,2,3]
# self.append(777)
# obj=self
# print(obj,self)
# self.append(666)
# print(obj,self)
作业18
# 1,完成下列功能:
# 1.1创建一个人类Person,再类中创建3个静态变量(静态字段)
# animal = '高级动物'
# soul = '有灵魂'
# language = '语言'
# 1.2在类中定义三个方法,吃饭,睡觉,工作.
# 1.3在此类中的__init__方法中,给对象封装5个属性:国家,姓名,性别,年龄, 身高.
# 1.4实例化四个人类对象:
# 第一个人类对象p1属性为:中国,alex,未知,42,175.
# 第二个人类对象p2属性为:美国,武大,男,35,160.
# 第三个人类对象p3属性为:你自己定义.
# 第四个人类对象p4属性为:p1的国籍,p2的名字,p3的性别,p2的年龄,p3 的身高.
# 1.5 通过p1对象执行吃饭方法,方法里面打印:alex在吃饭.
# 1.6 通过p2对象执行吃饭方法,方法里面打印:武大在吃饭.
# 1.7 通过p3对象执行吃饭方法,方法里面打印:(p3对象自己的名字)在吃饭.
# 1.8 通过p1对象找到Person的静态变量 animal
# 1.9 通过p2对象找到Person的静态变量 soul
# 2.0 通过p3对象找到Person的静态变量 language
# class Person():
# animal='高级动物'
# soul='有灵魂'
# language='语言'
# def __init__(self,country,name,sex,age,height):
# self.na=country
# self.n = name
# self.s = sex
# self.a = age
# self.h = height
# def dinner(self):
# print('%s在吃饭' % (self.n))
# def sleep(self):
# pass
# def work(self):
# pass
#
# P1=Person('中国','alex','未知','42','175')
# P1.dinner()
# # print(obj.__dict__)#{'na': '中国', 'n': 'alex', 's': '未知', 'a': '42', 'h': '175'}
# P2=Person('美国','武大','男','35','160')
# P2.dinner()
# # print(obj2.__dict__) #{'na': '美国', 'n': '武大', 's': '男', 'a': '35', 'h': '160'}
# P3=Person('日本','加藤鹰','男','45','170')
# P3.dinner()
# # print(obj3.__dict__)#{'na': '日本', 'n': '加藤鹰', 's': '男', 'a': '45', 'h': '170'}
# P4=Person(P1.country,P2.name,P3.sex,P2.age,P3.height)
# P4.dinner()
# print(P1.animal)
# print(P2.soul)
# print(P3.language)
# print(obj4.__dict__)#{'na': '中国', 'n': '武大', 's': '男', 'a': '35', 'h': '170'}
# print(Person.sleep)
# print(Person.work)
#
# 2,通过自己创建类,实例化对象
# class Human():
# def __init__(self,name,age,sex):
# self.name=name
# self.age=age
# self.sex=sex
# def kanchai(self):
# print('%s,%s岁,%s,上山去砍柴'%(self.name,self.age,self.sex))
# def qudongbei(self):
# print('%s,%s岁,%s,开车去东北' % (self.name, self.age, self.sex))
# def baojian(self):
# print('%s,%s岁,%s,最爱大保健' % (self.name, self.age, self.sex))
# p1=Human('小明',10,'男')
# p2=Human('老李',90,'男')
# p1.kanchai()
# p1.qudongbei()
# p1.baojian()
# p2.kanchai()
# p2.qudongbei()
# p2.baojian()
# 在终端输出如下信息
# ,10岁,男,上山去砍柴
# 小明,10岁,男,开车去东北
# 小明,10岁,男,最爱大保健
# 老李,90岁,男,上山去砍柴
# 老李,90岁,男,开车去东北
# 老李,90岁,男,最爱大保健
# 老张…
# 3,模拟英雄联盟写一个游戏人物的类(升级题).
# 要求:
# (1)创建一个 Game_role的类.
# (2) 构造方法中给对象封装name,ad(攻击力),hp(血量).三个属性.
# (3) 创建一个attack方法,此方法是实例化两个对象,互相攻击的功能:
# 例: 实例化一个对象 盖伦,ad为10, hp为100
# 实例化另个一个对象 剑豪 ad为20, hp为80
# 盖伦通过attack方法攻击剑豪,此方法要完成 '谁攻击谁,谁掉了多少血, 还剩多少血'的提示功能.
# class Game_role():
# def __init__(self,name,ad,hp):
# self.name=name
# self.ad=ad
# self.hp=hp
# def attack(self,p2):
# print('%s攻击%s,%s掉了%s血 ,还剩%s血'%(self.name,p2.name,p2.name,self.ad,p2.hp-self.ad))
# gailun=Game_role('盖伦',10,100)
# jianhao=Game_role('剑豪',20,80)
# gailun.attack(jianhao)
# jianhao.attack(gailun)