01面向对象理解

 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值