好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

python面向对象基础

目录

面向对象基础 一、面向对象和面向过程 二、类与对象 三、产生对象 四、一切皆对象

面向对象基础

一、面向对象和面向过程

面向过程: 优点:复杂问题流程化,进而简单化 确定:可扩展性差 面向对象: 优点:可扩展性高 缺点:编写复杂度高于面向过程

二、类与对象

类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体。

那么问题来了,先有的一个个具体存在的对象(比如一个具体存在的人),还是先有的人类这个概念,这个问题需要分两种情况去看。

在现实世界中:先有对象,再有类。

世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,如人类、动物类、植物类等概念。

也就说,对象是具体的存在,而类仅仅只是一个概念,并不真实存在。

在程序中:务必保证先定义类,后产生对象。

这与函数的使用是类似的,先定义函数,后调用函数,类也是一样的,在程序中需要先定义类,后调用类。

不一样的是,调用函数会执行函数体代码返回的是函数体执行的结果,而调用类会产生对象,返回的是对象。

定义类: class关键字 类名: pass 产生对象: 对象 = 类名() 类: 获取类的属性和方法:类.__dict__ 类来调用属性和方法: 通过dict来取(复杂,不建议使用) 类名.属性/函数 对象: 对象获取属性和方法:对象.__dict__ 对象来调用属性和方法:对象.属性/方法

三、产生对象

绑定方法,属性的查找顺序

属性的查找顺序:

先从对象自身找--->类中找--->报错

对象赋属性:

方式一:

加入有一个学生类,给他一个名字

stu = Student()

stu.name = ‘sb‘

方式二:

在类中定义该方法,方法上写一些参数 在对象实例化产生对象的时候,在括号内传入值,会被传入到__init__中

绑定方法:

定义在类的内部 对象来调用,会自动把对象传送过来,在方法内部就可以进行修改该对象。

强调__init__

__init__方法 为对象初始化自己独有的特征 强调: 1、该方法内可以有任意的python代码 2、一定不能有返回值

python中类内置的特使属性

#python为类内置的特殊属性
类名.__name__# 类的名字(字符串)
类名.__doc__# 类的文档字符串
类名.__base__# 类的第一个父类(在讲继承时会讲)
类名.__bases__# 类所有父类构成的元组(在讲继承时会讲)
类名.__dict__# 类的字典属性
类名.__module__# 类定义所在的模块
类名.__class__# 实例对应的类(仅新式类中)

四、一切皆对象

查看更多关于python面向对象基础的详细内容...

  阅读:20次