python中面向对象简介

在介绍面向对象之前先说一说编程范式,主要有面向过程和面向对象两大类,下面简单介绍以下这二者之间的优缺点

面向过程编程

面向过程编程其核心在过程二字,过程指的是解决问题的步骤,即先干什么,在干什么。

基于该思想编程写程序就好比在设计一条流水线,是一种机械式的思维方式。

其优点是:复杂问题流程化,进而简单化

缺点是: 扩展性差,若要修改某一功能,有可能牵一发而动全身

面向对象编程

核心是对象二字,对象我们可以简单描述为特征与技能的结合体

基于该思想编写程序就好比再创造一个世界,世界万物都是对象,你就是创造这个世界的角色

如果把对象比喻为特征与技能的结合体,那么类就是一系列对象相似的特征与技能的结合体

站在不同的角度总结出来的类是截然不同的

在现实世界中一定是现有某一个具体存在的对象,才能将其归为某一类,但是在程序中必须先定义类,后调用类来产生对象

现实世界中总结对象-->抽取相似之处-->得到现实世界中的类

定义程序中的类-->调用类,产生程序中的对象

我们这里暂且不讨论现实中怎么将一个对象归类,直接看程序中的类是如何产生对象

1 先定义类:

class Student:

    school = 'University of Technology'

    def choose_couse(self):

        print('there is choosing course')

我们看看以上四行代码都发生了什么,首先我们定义了一个名为Student的类,在类的定义阶段会立刻执行类体代码,产生类的名称空间,将类体代码执行过程中产生的名字都放入名称空间中

print(Student.__dict__)

类的本质就是一个名称空间/容器,从类的名称空间中增/删/改/查某一名字

Python为我们提供专门访问属性(名称空间的名字)的语法,点后的都是属性

Student.school  #Student.__dict__['school']  #查

Student.x = 1  #Student.__dict__['x'] = 1  #增

Student.school = 'university of technology'  #Student.__dict__['school'] = 'university of technology' #改

del  Student.x   #del  Student.__dict__['x']   #删

类中定义的函数是类的函数属性,类可以使用,但是用 的就是一个普通函数,意味着需要完全遵循函数的参数原则,该传几个值就传几个

2 后调用类产生对象,调用类的过程称之为实例化,实例化的结果称之为类的一个实例或者对象

stu1 = Student()

stu2 = Student()

print(stu1)

print(stu2)

print(Student.school)

Student.school = 'University of Technology'

print(stu1.school)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值