面向对象 | 面向过程 | |
区别 | 事物比较复杂,使用简单的线性思维无法解决 | 事物比较简单,可以用线性的思维去解决 |
以彩票抽奖机为例,随机产生6个0~99的数字,组成彩票号码
面向过程的方法
from random import randint
times = 6
lottery = []
for i in range(0, times):
number = randint(0, 99)
lottery.append(number)
print('本期彩票中奖号码为:%s' % lottery)
面向对象的方法
from random import randint
class Lottery:
def __init__(self, times):
# 号码个数
self.times = times
# 中奖号码池
self.lottery = []
def draw_lottery(self):
for i in range(0, self.times):
number = randint(0, 99)
self.lottery.append(number)
def print_lottery(self):
print('本期彩票中奖号码为:%s' % self.lottery)
# 实例化,抽 6 个号码
lottery = Lottery(6)
# 抽奖
lottery.draw_lottery()
# 开奖
lottery.print_lottery()
使用 面向对象 的思维方式的好处是:程序的可读性、可拓展性、可维护性高。但并不是说 面向过程 就一无是处了,二者相辅相成,并不是对立的,我们要根据实际情况选择合适的编程思维方式。