class Person:
def __init__(self, name, weight):
# self.属性 = 形参
self.name = name
self.weight = weight
def __str__(self):
return "我的名字叫 %s 体重是 %s 公斤" % ( self.name, self.weight)
def run(self):
print("%s 爱跑步,跑步锻炼身体" % self.name)
self.weight -= 0.5
def eat(self):
print("%s 是吃货,吃完这顿再减肥" % self.name)
self.weight += 1
xiaoming = Person("小明", 75.0)
xiaoming.run()
xiaoming.eat()
print(xiaoming)
class Person:
def __init__(self, name, weight):
# self.属性 = 形参
self.name = name
self.weight = weight
def __str__(self):
return "我的名字叫 %s 体重是 %s 公斤" % ( self.name, self.weight)
def run(self):
print("%s 爱跑步,跑步锻炼身体" % self.name)
self.weight -= 0.5
def eat(self):
print("%s 是吃货,吃完这顿再减肥" % self.name)
self.weight += 1
xiaoming = Person("小明", 75.0)
xiaoming.run()
xiaoming.eat()
print(xiaoming)
xiamei = Person("小美", 45.0)
xiamei.eat()
xiamei.run()
print(xiamei)
print(xiaoming)
class HouseItem:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
return "[%s]占地%.2f" % (self.name, self.area)
class House:
def __init__(self, house_type, area):
self.house_type =house_type
self.area = area
# 剩余面积
self.free_area = area
# 家具名称列表
self.item_list = []
def __str__(self):
# Python 能够自动将一对小括号内的代码链接在一起
return ("户型:%s\n总面积:%.2f[剩余:% .2f]\n家具:%s"
% (self.house_type, self.area, self.free_area, self.item_list))
def add_item(self, item):
print("要添加 % s" % item)
# 1. 创建家具
bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("餐桌", 1.5)
print(bed)
print(chest)
# 2.创建房子的对象
my_home = House("两室一厅", 60)
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print(my_home)
class HouseItem:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
return "[%s]占地%.2f" % (self.name, self.area)
class House:
def __init__(self, house_type, area):
self.house_type = house_type
self.area = area
# 剩余面积
self.free_area = area
# 家具名称列表
self.item_list = []
def __str__(self):
# Python 能够自动将一对小括号内的代码链接在一起
return ("户型:%s\n总面积:%.2f[剩余:% .2f]\n家具:%s"
% (self.house_type, self.area, self.free_area, self.item_list))
def add_item(self, item):
print("要添加 % s" % item)
# 1. 判断家具的面积
if item.area > self.free_area:
print(" %s 的面积太大了,无法添加" % item.name)
return
# 2. 将家具的名称添加到家具
self.item_list.append(item.name)
# 3. 计算剩余面积
self.free_area -= item.area
# 1. 创建家具
bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("餐桌", 1.5)
# print(bed)
# print(chest)
# print(table)
# 2.创建房子的对象
my_home = House("两室一厅", 60)
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print(my_home)
class Gun:
def __init__(self, model):
# 枪的型号
self.model = model
# 子弹的数量
self.bullet_conunt = 0
def add_bullet(self, count):
self.bullet_conunt += count
def shoot(self):
# 1.判断子弹数量
if self.bullet_conunt <= 0:
print("[%s 没有子弹了...]" % self.model)
return
# 2. 发射子弹
self.bullet_conunt -= 1
# 3. 提示发射信息
print("[%s] 突突突...[%d]" % (self.model, self.bullet_conunt))
# 1. 创建枪类
ak47 = Gun("AK47")
ak47.add_bullet(50)
ak47.shoot()
class Gun:
def __init__(self, model):
# 枪的型号
self.model = model
# 子弹的数量
self.bullet_conunt = 0
def add_bullet(self, count):
self.bullet_conunt += count
def shoot(self):
# 1.判断子弹数量
if self.bullet_conunt <= 0:
print("[%s 没有子弹了...]" % self.model)
return
# 2. 发射子弹
self.bullet_conunt -= 1
# 3. 提示发射信息
print("[%s] 突突突...[%d]" % (self.model, self.bullet_conunt))
class Soldier:
def __init__(self, name):
# 1.新宾的姓名
self.name = name
# 2.枪
self.gun = None
def fire(self):
# 1. 判断士兵是否有枪
if self.gun == None:
print("%s 还没有枪.." % self.name)
return
# 2. 高喊口号
print("冲啊。。。[%s]" % self.name)
# 3.让枪装填子弹
self.gun.add_bullet(50)
# 让枪发射子弹
self.gun.shoot()
# 1. 创建枪类
ak47 = Gun("AK47")
# 2.创建许三多
xushaoduo = Soldier("许三多")
xushaoduo.gun = ak47
xushaoduo.fire()
class Women:
def __init__(self, name):
self.name = name
self.__age = 18
def __secret(self):
# 在对象的方法的内部,是可以访问私有的属性
print("%s 的年龄是 %d" % (self.name, self.__age))
xiaofang = Women("小芳")
# 私有属性,在外界不能被直接访问
# print(xiaofang.__age)
# 私有的方法,同样不允许在外界直接访问
# xiaofang.__secret()
class Women:
def __init__(self, name):
self.name = name
self.__age = 18
def __secret(self):
# 在对象的方法的内部,是可以访问私有的属性
print("%s 的年龄是 %d" % (self.name, self.__age))
xiaofang = Women("小芳")
# 伪私有属性,在外界不能被直接访问
print(xiaofang._Women__age)
# 伪私有的方法,同样不允许在外界直接访问
xiaofang._Women__secret()