Python 面向对象(一)
应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方
面向对象中都是类,通过程序中的类来实现对象
Python3已经把类型和类整合起来了 ,int 等都是类。
现实生活中,是现有对象后有类。在程序中是先有类后有对象。
使用类需要实例化和引用类的变量和类的函数
class Garen:
camp='Demacia' # 这是类的共同特征
def attack(self): # 定义的类的方法,需要参数
print('attack')
obj = Garen()
# print(obj)
# print(Garen.camp) # 打印类的特征
Garen.attack('asdf') # 在调用内部的函数的时候需要给attack函数传参数
self是对象自己本身
class Garen:
camp = 'Demacia'
def __init__(self,nickname): # 初始化的函数 self 就是实例化的g1 g2
self.nick=nickname
def attack(self,enemy):
print("%s attack %s"%(self.nick,enemy))
# 实例化会触发类的init的调用,把g1传递给self,g1就是对象
g1 = Garen('aaaaaa') # g1 = Garen.__init__(g1,'aaaaaa')
g2 = Garen('bbbbbb')
print(g1.nick)
print(g2.camp)
print(g1.attack('abc')) #这是绑定方法 g1自动把参数传递给self
print(Garen.attack(g1,'aaabbb')) # 调用的函数,按位置传参数
print(g2.nick)
print(g2.camp)
类的增删改查:
print(Garen.camp) # 查看
Garen.camp='aa'
print(Garen.camp) # 改
del Garen.camp
print(Garen.camp) # 删除
Garen.x = '1123134'
print(Garen.x) #增
类的对象的增删改查:
g1 = Garen('abc') # 首先实例化,并传入初始化的参数
print(g1.nick) # 查看
g1.nick = 'bbb'# 改
print(g1.nick)
del g1.nick # 删除
print(g1.nick)
g1.x = '123'
print(g1.x) # 增加