11--Python入门--面向对象

面向对象是Python的特点。面向对象主要通过类class的定义来实现。类class是用来描述具有相同属性和方法的对象的集合。类定义了该集合中的每个对象的共有属性和方法
可以将类理解为一个模块,模块中包含很多个函数,每个函数用来实现某一个功能
对象是根据类创建的实例,通过实例化对象就可以执行类中的各个函数

面向对象不好理解。这里用一个小例子来说明面向对象的基本用法,关于面向对象在后面的系列中还会详述其更高层次的用法
例如,我们想创建一个简单的游戏程序,涉及到游戏人物的创建,几个游戏环节的设计等等

class charater:
    '''创建游戏人物'''
    def __init__(self, name, gender, age, ability):
        self.name = name
        self.gender = gender
        self.age = age
        self.ability = ability
        
    def fight_grass(self):
        self.ability = self.ability - 200
        print('%s参加了一次野外战斗,消耗战斗力200' %self.name)
        
    def self_trainng(self):
        self.ability = self.ability + 100
        print('%s参加了一次自我修炼,增长战斗力100' %self.name)
        
    def mass_fight(self):
        self.ability = self.ability - 500
        print('%s参加了一次多人PK,消耗战斗力500' %self.name)
        
    def show_info(self):
        print('%s,%s岁,%s,%s战斗力' %(self.name,self.age,self.gender,self.ability))
View Code
#定义好上面的类之后 我们就可以开始游戏了  我们先创建3个游戏人物  rogers stark 和 natasha
rogers = charater('史蒂夫 罗杰斯','',18,1000)
stark = charater('托尼 斯塔克','',20,1800)
natasha = charater('娜塔莎 罗曼诺夫','',19,2500)
# 先查看 三个游戏人物的 属性
rogers.show_info()
stark.show_info()
natasha.show_info()
View Code

输出:

史蒂夫 罗杰斯,18岁,男,1000战斗力
托尼 斯塔克,20岁,男,1800战斗力
娜塔莎 罗曼诺夫,19岁,女,2500战斗力

# 创建人物之后  每个人物可以进行不同的游戏环节 例如他们三个人 进行不同的游戏环节
rogers.mass_fight()  
stark.self_trainng() 
natasha.fight_grass()
View Code
输出:
史蒂夫 罗杰斯参加了一次多人PK,消耗战斗力500 托尼 斯塔克参加了一次自我修炼,增长战斗力100 娜塔莎 罗曼诺夫参加了一次野外战斗,消耗战斗力200

# 在经过了上面的环节之后  我们再来查看三个游戏人物的属性是否产生了变化
rogers.show_info()
stark.show_info()
natasha.show_info()
#可以发现 三个游戏人物在经历游戏环节之后  战斗力都发生了改变
View Code

输出:

史蒂夫 罗杰斯,18岁,男,500战斗力
托尼 斯塔克,20岁,男,1900战斗力
娜塔莎 罗曼诺夫,19岁,女,2300战斗力
原文地址:https://www.cnblogs.com/lizhiyan/p/9713473.html