沐阳Python扫盲01类的概念与实例
前言
让我们从一个实际的游戏人物例子出发,学习理解Python类的概念与实现。
游戏现在需要两种职业,一个是法师,一个是刺客
除了角色的职业外,我们还需要人物技能
比如寒冰箭、轮舞毒刃
一、面向过程编程的实现
# -*- coding: UTF-8 -*-
role1 = {'position':'法师','skill':'寒冰箭'}
role2 = {'position':'刺客','skill':'轮舞毒刃'}
def print_role(role):
print('职业是%s,技能有%s' %(role['position'],role['skill']))
print_role(role1)
print_role(role2)
这种写法称为面向过程编程
根据程序的执行顺序,从上到下编写程序
二、面向对象编程的实现
# -*- coding: UTF-8 -*-
class Player(): # class用来定义一个类
def __init__(self,position,skill):
self.position = position
self.skill = skill
def print_role(self): # 定义一个方法
print('职业是%s,技能有%s' %(self.position,self.skill))
role1 = Player('法师','寒冰箭') # 类的实例化
role2 = Player('刺客','轮舞毒刃')
role1.print_role()
role2.print_role()
面向对象编程定义的类是为了将相似的内容进行归纳
(例如小狗、小猫、小猪都属于动物类)
在编程中使用这样归类的方法,会让我们人读起来更容易懂,这就是面向对象编程的思想
把对象汇聚在一起,不同的对象有一些相同的特征,将这些特征进行提取,就形成了类
__init__方法里预定了一些功能,它的意思是当你引用Player这个类时,要去处理的事情
(我们传递了position,skill两个参数,并把它们赋给了self.position,self.skill)
self表示Player进行实例化后,这个实例的本身
总结
class用来定义一个类,类名用大写字母开头
引用类叫做类的实例化
在类当中实现的函数功能,叫做定义类的方法
面向过程编程更适合机器运行,面向对象更符合人的思维习惯