面向对象编程和面向过程编程(函数式编程)都是程序设计的方法,不过稍有区别。
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)