1. 编程思想
核心思想: 找个对象帮我实现功能,关注实现功能的结果
三个特征: 封装,继承,多态
特点:
1. 符合人们思考习惯
2. 将程序员从执行者转换成指挥者
3. 将复杂的事情简单化(代码简单, 不考虑具体如何实现)
2. 面向对象的语法
类:
class 类名: # 类名采用大驼峰
def init(self,形参1,形参2):
# 绑定初始属性, 创建对象的时候自动执行
self.属性名1 = 形参1
self.属性名2 = 形参2
# 方法
def 方法名(self,形参1...):
# 方法体
pass
# __str__
def __str__(self):
# 返回对象的定义描述信息
return "字符串的描述信息"
对象:
对象变量=类名(实参1,实参2)
对象变量=类名(形参1=实参1,形参2=实参2)
使用对象
属性:
对象.属性名 # 查看
对象.属性名 = 值 # 添加
对象.旧属性名 = 新值 # 修改
del 对象.属性名 # 删除
方法:
对象.方法名([实参]) # 实参从形参的第二个参数开始传递
"""
设计一个类:手机类
特征:
功能:看电影,打电话,拍照,玩qq
"""
class phone:
def movie(self):
print("看电影")
def call(self):
print("打电话")
def photo(self):
print("拍照")
def QQ(self):
print("玩QQ")
#创建对象
iphone1 = phone()
iphone2 = phone()
#使用对象上的方法
iphone1.movie()
iphone1.call()
iphone1.photo()
iphone1.QQ()
"""
设计一个类:手机类
特征:
功能:看电影,打电话,拍照,玩qq
"""
class phone:
def movie(self):
print("看电影")
def call(self):
print("打电话")
def photo(self):
print("拍照")
def QQ(self):
print("玩QQ")
#创建对象
iphone1 = phone()
iphone2 = phone()
#使用对象
print(iphone1)
print(iphone2)
#使用对象上的方法
iphone1.movie()
iphone1.call()
iphone1.photo()
iphone1.QQ()
#操作对象上的属性
#添加属性
iphone1.color = "玫瑰金"
iphone1.size = "5.7寸"
iphone1.price = 9999
#查看对象
print(iphone1.color)
print(iphone1.size)
print(iphone1.price)
#修改属性
iphone1.color = "白色"
print(iphone1.color)
#删除属性
del iphone1.price
print(hasattr(iphone1,"size"))
print(hasattr(iphone1,"price"))
"""
定义一个类:学生类
定义一个跑步方法:跑步类
"""
class student:
#方法
def run(self):
print(f"今天{self.name}参加了跑步训练")
#创建两个学生对象,添加属性
lisa = student()
lisa.name = "丽萨"
lisa.age = 18
lisa.sex = "女"
lisa.run() #调用实例化对象
print(id(lisa))
feikun = student()
feikun.name = "飞鲲"
feikun.age = 18
feikun.sex = "雌"
feikun.run()
print(id(feikun))
"""
定义一个类:水果类
定义一个实用方法:食用类
"""
class fruits:
def __init__(self,name,sex,age):
#print("初始化方法,自动调用self")
self.name = name
self.sex = sex
self.age = age
#方法
def water(self): #self,谁调用我,我就是谁
print(f"我朋友{self.name}{self.sex}在它{self.age}岁时,得到了牛皮大王之称!")
#创建学生对象,添加属性
apple = fruits("苹果","男",5)
apple.water() #调用实例化对象
#print(id(apple))
pear = fruits("梨","男",3)
pear.water()
"""
定义一个类:飞禽类
定义一个飞行方法,飞行类
"""
class fly:
def __init__(self,name,flye):
#print("初始化方法,自动调用self")
self.name = name
self.flye = flye
#方法
def flyq(self): #self,谁调用我,我就是谁
print(f"我家{self.name}那天{self.flye}走了")
#定义__str__方法
def __str__(self):
return f"[那天{self.name}出门后,就{self.flye}去了邻家鸽子家]"
#创建学生对象,添加属性
sanchazi = fly("三叉子","飞")
sanchazi.flyq() #调用实例化对象
print(sanchazi)
yeying = fly("夜莺","美美的飞")
yeying.flyq()
print(yeying)