我的Python学习之路十五:面向对象(一)

取精华,去糟粕;重基础,促创新

一.编程范式

面向过程:根据业务逻辑从上到下写垒代码

函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即

面向对象:对函数进行分类和封装,让开发“更快更好更强…”

二.面向对象

       面向对象不像面向过程那样按照功能划分模块,它所关注的是软件系统有哪些参与者,把这参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征、哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象

 

三.类和对象

 

      1.面向对象编程的2个非常重要的概念:类和对象

是对象的类型,具有相同属性和行为事物的统称。类是抽象的,在使用的时候通常会找到这个类的一个具体存在。

      2.类是对象的类型,对象是类的实例。类是抽象的概念,而对象是一个你能够摸得着,看得到的实体。二者相辅相成,谁也离不开谁。

四.类的构成

类的名称:类型

      属性:对象的属性

      方法:对象的方法

五.创建和使用类

   1.类定义:

 

class类名:

     属性列表

     方法列表

      示例如下:

 

2.类的属性分类:

 

 

类属性

实例属性

变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。如果需要用在类的方法中,使用类名.类属性.

实例变量:定义在方法中的变量,只作用于当前实例的类。

3.类的属性的操作方法

 

(1)可以使用实例化对象名+.访问对象的属性

(2)也可以使用以下函数的方式来访问属性

getattr(obj,name[, default]) : 访问对象的属性

hasattr(obj,name) : 检查是否存在一个属性

setattr(obj,name,value) : 设置一个属性。如果属性不存在,会实例化对象中创建一个新属性

delattr(obj,name) : 删除属性(类名和实例化对象都无法访问)

注意:name需要加单引号,obj为实例化对象名称

4.内置属性

 

Python内置类属性

__dict__ : 类的属性(包含一个字典,由类的属性名:组成) 实例化类.__dict__

__doc__ :类的文档字符串   (类名.)实例化类名.__doc__

__name__: ,实现方式 类名.__name__

__bases__ : 类的所有父类构成元素(包含了以个由所有父类组成的元组)

5.__init__()构造方法和self

 

      __init__()是一个特殊的方法属于类的专有方法,被称为类的构造函数或初始化方法,方法的前面和后面都有两个下划线

      是为了避免Python默认方法和普通方法发生名称的冲突。每当创建类的实例化对象的时候,__init__()方法都会默认被运行。作用就是初始化已实例化后的对象。

        在方法定义中,第一个参数self是必不可少的。类的方法和普通的函数的区别就是selfself并不是Python的关键字,你完全可以用其他单词取代他,只是按照惯例和标准的规定,推荐使用self

6.__name__

 

__name__:如果是放在Modules模块中,就表示是模块的名字;

   如果是放class中,就表示类的名字;

__main__模块,xxx.py文件本身,直接执行,对应的模块名就是__main__

可以if __name__== “__main__”:

中添加你自己想要的,用于测试模块,演示模块用法等代码。

作为模块,被别的Python程序导入(import)时,模块名就是本身文件名xxx了。

7.小结

 

(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

属性类变量在整个实例化的对象中是公用的。类属性定义在类中且在函数体之外。类属性通常不作为实例变量使用

实例属性:定义在方法中的,只作用于当前实例的类

数据成员:类属性或者实例属性(方法中的变量)用于处理类及其实例对象的相关的数据

方法:类中定义的函数。

方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。(后面讲继承的时候介绍)

实例化对象:创建一个类的实例,类的具体对象

 

 


 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值