python之面向对象的程序设计(一)

一、面向过程编程介绍

面向过程编程:

  1. 导入外部库
  2. 设计全局变量
  3. 写一个函数实现某个功能,将得到的结果往下一个函数传递,并作为下一个函数的起始条件
  4. 写一个函数完成某个功能,将得到的结果往下一个函数传递,并作为下一个函数的起始条件
  5. 写一个函数完成某个功能,将得到的结果往下一个函数传递,并作为下一个函数的起始条件
  6. 写一个main函数作为程序入口

面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么……
基于面向过程编程的思想编写程序好比在设计一条流水线,是一种机械式的思维方式。

1. 优点:复杂的问题流程化、进而简单化
2. 缺点:扩展性差

二、面向对象编程介绍

面向对象编程:

  1. 导入各种外部库
  2. 设计各种全局变量
  3. 决定你要的类
  4. 给每个类提供完整的一组操作
  5. 明确地使用继承来表现不同类之间的共同点
  6. 根据需要,决定是否写一个main函数作为程序入口

面向对象的程序设计:核心是对象二字,对象是特征与功能的结合体,简单说一个公司要拓展海外业务,需要有外贸专业技能的人,那么HR招聘到的外贸专业人才就能称之为"对象",特征即是他的岗位或姓名,功能:外贸专业技能,公司业务拓展,便可以很方便通过他的特征来调用他的功能,比如:安排某某某参加外贸商务谈判。

优点:可扩展性强(参考下图)
缺点:编程的复杂度要高于面向过程

在这里插入图片描述

三、类和对象

类的意思:种类、分类、类别
对象是特征与技能的结合体,多个相似功能的对象(参考下图),可以划分为一类,因此给出类的定义:类就是一系列对象相似的特征与技能的结合体。
在这里插入图片描述

在现实世界中:先有一个个具体存在的对象,然后随着人类文明的发展才了分类的概念,既然现实世界中有类这个概念,Python程序中也一定有类这个概念,和现实世界不同的是在Python程序中:必须先定义类,然后调用类来产生对象。

1、python定义类和对象实例

定义类:

# 定义一个学生类
# 相似特征: 学校
# 相似技能:学习、选课
# 不同点:姓名、年龄、性别
class Student: 
    school='python训练营'
    def learn(self):   
        print('%s 在%s 学习 !'%(self, Student.school))
        
    def Elective(self):
        print('is Electives')
    # print('=====================run')  # 类体代码在类的定义阶段就会立即执行

# 查看属性
print(Student.school)  # 数据属性
print(Student.learn)  # 函数属性
Student.learn('Jasn') # 类的函数属性调用

# 增加属性
Student.country = 'China'
print(Student.country)

# 修改属性
Student.school = 'python训练'  # 重新赋值
print(Student.school)

# 删除属性
del Student.country
print(Student.country)  # 内存不存在conutry,导致报错

定义对象
调用类即可产生对象,调用类的过程,又称为类的实例化,实例化的结果称为类的对象/实例

stu1=Student() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
print('学生一的学校是:',stu1.school)

stu2=Student() # 调用类会得到一个返回值,该返回值就是类的一个具体存在的对象/实例
print('学生二的学校是',stu2.school)

结果:

学生一的学校是: python训练营
学生二的学校是: python训练营

四、定制对象独有特征

1、实例
class Student:
    school='python训练营'  
    def learn(self):
        print('%s 在%s 学习 !'%(self, Student.school))
    def Elective(self):
        print('is Electives')
        
stu1 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值