前言
OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。哈哈哈,学Python、Java的人表示很开心。
面向过程的程序设计 把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。
面向对象的程序设计 把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
面向对象编程—Object Oriented Programming
Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念
示例
定义一个Person对象
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 面向对象
class Person():
# 类似java构造器
def __init__(self, name, age):
self.name = name
self.age = age
def toString(self):
print("%s : %s" % (self.name, self.age))
打印出这个对象
下面这个就是典型的java风格
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 面向对象
from Person import *
mPerson = Person("王大锤", "18")
mPerson.toString()
报错处理
‘module’ object is not callable
D:\PythonProject\sustudy>python main.py
Traceback (most recent call last):
File "main.py", line 6, in <module>
mPerson = Person("王大锤", "18")
TypeError: 'module' object is not callable
解决方法
import Person
改成
from Person import *
面向过程编程
上述相同效果面向过程写法如下
示例代码
mPeople = {"王大锤":"18", "小美":"16"}
print(mPeople)
运行结果
{'王大锤': '18', '小美': '16'}
结语
数据封装、继承和多态是面向对象的三大特点