Python类和对象

面向对象编程:

oop [object oriented programming]一种python的编程思路

面向过程:

就是我们一开始学习的,按照解决问题的步骤去写代码(根据业务逻辑去写代码)
在思考问题的时候, 首先分析“怎么按照步骤去实现”然后将问题解决拆解成若干个步骤,并将这些步骤对应成方法一步一步的,最终完成功能

面向对象:

关注的是设计思维

从计算机的角度来看:面向过程不适合做大项目
而面向对象合适做更大项目的设计

类和对象

类:类是具有一组 相同或者相似特征【属性】和行为【方法】的一系列[多个]对象组合

现实世界 计算机世界
行为---------->方法
特征---------->属性

对象: 对象是实实在在的一个东西,类的实例化,具象化

类是对象的抽象化 而对象是类的一个实例

实例方法:在类的内部,使用def 关键字来定义 第一个参数默认是 self(名字标识可以是其他的名字,但是这个位置必须被占用)

实例方法是归于 类的实例所有

属性:类属性 实例属性
在类的内部定义的变量(类属性)
在方法内部定义的(通过类似于self.变量名)变量,是实例属性

init

  1. python自带的内置函数,具有特殊的函数,使用双下划线包起来的(魔术方法)
  2. 是一个初始化的方法,用来定义实例属性,和初始化数据的,在创建对象的时候自动调用,不用手动去调用
  3. 利用传参的机制可以让我们定义功能更加强大并且方便的类
class People():
    def eater(self):
        print("xiaoqian is a hero")
        pass
    pass

class Person():
    def __init__(self, age, name, sex):
        '''
        实例属性的声明
        :param age:
        :param name:
        :param sex:
        '''
        self.name = name
        self.age = age
        self.sex = sex
        pass
    def eat(self, food):
        print(self.name+'喜欢吃'+food)
        pass
    pass

xq = People()
xq.name = "xiaoqian" # 添加实例属性
print(xq.name)
xq.eater()

xm = Person(19, '小美', 'female')
print("{}的年龄是{}".format(xm.name, xm.age))
xm.eat('banana')
# 小美的年龄是19
# 小美喜欢吃banana
全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务