大佬教程收集整理的这篇文章主要介绍了python之面向对象,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
1、面向过程编程
1、面向过程是什么
面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。
2、优缺点:
优点是:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单)
缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身。
3、应用场景:
一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache http Server等。
2、面向对象编程
1、什么是面向对象
面向对象的程序设计:核心是对象二字,对象是特征与技能的结合体,基于面向对象设计程序就好比在创造一个世界,你就是这个世界的上帝,存在的皆为对象,
不存在的也可以创造出来,与面向过程机械式的思维方式形成鲜明对比,面向对象更加注重对现实世界的模拟,是一种“上帝式”的思维方式。
2、优缺点
优点:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。
缺点:编程复杂度高,
3、应用场景
需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方
3、类与对象
1、什么是类和对象
对象是特征与技能的结合体,
类则是一系列对象相似的特征与技能的结合体
2、先有类还是先有对象?
在现实生活中,先有对象,再有类,也就说,对象是具体的存在,而类仅仅只是一个概念,并不真实存在
在程序中,必须先定义类,在调用类产生对象,这与函数的使用是类似的,先定义函数,后调用函数,类也是一样的,在程序中需要先定义类,
后调用类,不一样的是,调用函数会执行函数体代码返回的是函数体执行的结果,而调用类会产生对象,返回的是对象
3、定义类,产生对象
定义类
class 类名():
pass
def 函数名():
pass
类名: 一般是首字母大写
class student():
school = 'SH'
def choose_course(stu_Dic, coursE):
stu_Dic['courses'].append(coursE)
print("%s 选课成功 %s" % (stu_Dic['name'], stu_Dic['courses']))
类的名称空间
print(student.__Dict__)
造对象,调用类,产生对象
stu1 = student() # 调用类 产生空对象
print(stu1.__Dict__)
最终版本
class student():
school = 'SH'
# 初始化方法
def __init__(stu_obj, name, age, gender, courses=[]):
stu_obj.name = name # stu1.__Dict__['name'] = 'egon'
stu_obj.age = age # stu1.__Dict__['age'] = 20
stu_obj.gender = gender # stu1.__Dict__['gender'] = 'male'
stu_obj.courses = courses # stu1.__Dict__['courses'] = []
def choose_course(stu_Dic, coursE):
stu_Dic['courses'].append(coursE)
print("%s 选课成功 %s" % (stu_Dic['name'], stu_Dic['courses']))
# 类的名称空间
print(student.__Dict__)
stu1 = student('egon', 18 ,'male') #造出stu1这个对象
==》init(stu1, 'egon', 18, 'male')
print(stu1.__Dict__)
ps:左边相当于右边的,一般尽量不用————什么————的,这个一般是内置方法
stu1.name = 'egon' # stu1.__Dict__['name'] = 'egon'
stu1.age = 18 # stu1.__Dict__['age'] = 20
stu1.gender = 'male' # stu1.__Dict__['gender'] = 'male'
stu1.courses = [] # stu1.__Dict__['courses'] = []
调用类的过程就是实例化, 得到的对象就是一个实例 4、属性查找
类有两种属性:数据属性和函数属性
1. 类的数据属性是所有对象共享的,但是,类中的方法是给对象用的, 并且,把对象自己当成第一个参数传递
2. 类的函数属性是绑定给对象用的
对象操作属性
点语法取值,先从自己对象中取,如果没有,在取类中取值
以上是大佬教程为你收集整理的python之面向对象全部内容,希望文章能够帮你解决python之面向对象所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。