本文共 1281 字,大约阅读时间需要 4 分钟。
def dog(name,dog_type):
def bark(d):print("dog %s: 汪。。汪。汪。。。"%d["name"])data={"name":name,"type":dog_type,"bark":bark}return datadef person(name,age,sex,job):
def run(p):print("person %s is running...."%p['name'])data={"name":name,"age":age,"sex":sex,"job":job}return datad1=dog("豆豆","京巴")
p1=person("王道",33,"F","混混")p2=person("王渣",33,"F","混混头领")print(d1)
面向过程又被称为top-down languages, 就是程序从上到下一步步执行,一步步从上到下,从头到尾的解决问题 。基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过程再继续分解直到小问题足够简单到可以在一个小步骤范围内解决。这样做的问题也是显而易见的,就是如果你要对程序进行修改,对你修改的那部分有依赖的各个部分你都也要跟着修改, 举个例子,如果程序开头你设置了一个变量值 为1 , 但如果其它子过程依赖这个值 为1的变量才能正常行,那如果你改了这个变量,那这个子过程你也要修改,假如又有一个其它子程序依赖这个子过程 , 那就会发生一连串的影响,随着程序越来越大, 这种编程方式的维护难度会越来越高。所以我们一般认为, 如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程的方式是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护的, 那还是用面向对象最方便了。
def db_conn():
print("connecting db...")def db_backup(dbname):
print("导出数据库...", dbname)print("将备份文件打包,移至相应目录...")def db_backup_test():
print("将备份文件导入测试库,看导入是否成功")def main():
db_conn()db_backup('my_db')db_backup_test()if name == 'main':
main()1.防止数据被随意修改。2.是外部程序不需要关注对象内部的构造,只需要通过此对象对外提供的接口进行直接访问即可
通过父类-》子类的方式以最小代码量的方式实现不同角色的共同点和不同点的同时存在
比如都是人类,都能说话,但是不同的人说话方式不一样。一个说话接口,多种实现方式。中国人说中文,美国人说英语。
转载于:https://blog.51cto.com/12992048/2288084