"""
类和对象
现实事物 -抽象化-> 类 -实例化-> 对象
"""
class Wife:
"""
抽象的老婆
"""
# 数据:姓名、颜值、钱....
def __init__(self, name, face_score, money):
self.name = name
self.face_score = face_score
self.money = money
# 方法(函数):玩...
def play(self):
print(self.name, "在玩耍")
jg = Wife("金刚",6,5000)
jg.play()
代码
class 类名:
“””文档说明”””
def init(self,参数列表):
self.实例变量 = 参数
方法成员
说明
– 类名所有单词首字母大写.
– init 也叫构造函数,创建对象时被调用,也可以省略。
– self 变量绑定的是被创建的对象,名称可以随意。
"""
创建1个狗类
数据:爱称,年龄,颜色,品种
行为:吃、坐下
创建2个狗对象,调用相应的方法
画出代码内存图
"""
class Dog:
"""
狗
"""
def __init__(self, name, age=0, color="", breed=""):
self.pet_name = name
self.age = age
self.color = color
self.breed = breed
def eat(self):
print(self.pet_name, "在吃")
def sit(self):
print(self.pet_name, "坐下")
mx = Dog("米咻", 4, "黄", "拉布拉多")
hm = Dog("黑米", 3, "黑", "拉布拉多")
mx.sit()
hm.sit()
# 练习1:
mx = Dog("米咻", 4, "黄", "拉布拉多")
d01 = mx
d01.pet_name = "咻咻"
mx.age = 5
print(d01.pet_name)
print(d01.age)
print(mx.pet_name)
print(mx.age)
# 练习2:
def func01(p1,p2):
p1 = Dog("小白", 5)
p2.pet_name = "小黑"
p2.age = 6
mx = Dog("米咻", 4)
hm = Dog("黑米", 3)
func01(mx,hm)
print(mx.pet_name,mx.age)#?
print(hm.pet_name,hm.age)#"小黑" 6
class Wife:
def __init__(self, name, face_score, money):
self.name = name
self.face_score = face_score
self.money = money
def print_self(self):
print("%s--%d--%d" % (self.name, self.face_score, self.money))
w01 = Wife("建宁", 86, 999999)
list_wifes = [
w01,
Wife("双儿", 95, 5000),
Wife("苏荃", 98, 10000),
Wife("阿珂", 100, 6000),
Wife("铁锤", 80, 0),
]
# 练习1:定义函数,在老婆列表中查找双儿对象
# 测试:调用双儿对象的print_self方法
def find01():
for item in list_wifes:
if item.name == "双儿2":
return item
# 测试:
result = find01()
# 如果找到了
if result:
result.print_self()
# 练习2:定义函数,在老婆列表中查找所有老婆的姓名
# 测试:打印列表
def find02():
# list_result = []
# for item in list_wifes:
# list_result.append(item.name)
# return list_result
return [item.name for item in list_wifes]
print(find02())