python:面向过程编程和面向对象编程思想

面向对象编程和面向过程编程(函数式编程)都是程序设计的方法,不过稍有区别。

套路

  • 面向过程编程
1. 导入各种外部库

2. 设计各种全局变量

3. 写一个函数完成某个功能
4. 写一个函数完成某个功能
5. 写一个函数完成某个功能
6. 写一个函数完成某个功能
7. 写一个函数完成某个功能
8. ......

9. 写一个main函数作为程序入口

在面向过程编程中,许多重要的数据被放置在全局变量区,这样它们就可以被所有函数访问。每个函数都可以具有自己的局部变量数据,封装某些功能代码,无需重复编写,日后仅需调用函数即可。从代码的组织形式来看,面向函数编程的一般套路就是根据业务逻辑从上到下垒代码。

  • 面向对象编程
1. 导入各种外部库

2. 设计各种全局变量

3. 决定你要的类
4. 给每个类提供完整的一组操作
5. 明确地使用继承来表现不同类之间的共同点
6. ......

7. 根据需要,决定是否写一个main函数作为程序入口

在面向对象编程中,将函数和变量进一步封装成类。类是面向对象程序的基本元素,它将数据(类属性)和操作(类方法)紧密地连接在一起,并保护数据不会被外界的函数意外地改变。类和和类的实例(也称对象)是面向对象的核心概念,是与面向过程编程的根本区别。面向对象编程并非必须,而要看你的程序怎么设计方便,但是就目前来说,基本上都是使用面向对象编程。


面向对象和类

类的组成:以狗为例

  • 类名:狗
  • 类的属性:狗的一组数据,如狗的毛色、重量等
  • 类的方法:狗的功能

全局变量

实际上就是使用self初始化,然后就可以在类的方法里面直接调用全局变量

class Cat():
    # __init__初始化,self指代类本身,new_name, new_age是类的两个入参
    def __init__(self, new_name, new_age):
        self.name = new_name
        self.age = new_age
    def __str__(self):
        return '%s age is %d.'%(self.name, self.age)
    # 使用self初始化,然后在类方法里面直接调用全局变量    
    def eat(self):
        print('eating...')
    def drink(self):
        print('drink...')
    def introduce(self):
        print('%s age is:%d.'%(self.name, self.age))
        
if __name__=='__main__':
    # 接收入参,类方法调用
    tom = Cat('tom', 40)
    tom.introduce()
    # 接收入参,类方法调用
    bluecat = Cat('Bluecat', 20)
    bluecat.introduce()
    print(tom)
    print(bluecat)

你可能感兴趣的:(Python)