Python学习--面向对象编程(基础篇)

本篇文章是笔者学习python面向对象编程的总结。主要是一些基础的知识。

1. 面向对象编程OOP

类class就是将属性和方法封装在一起的数据结构。在OOP中类是主要应用的数据结构。实例就是类的实际例子。在python中,类是对象,实力也是对象。可以理解为类是一个模型制造机,它具有自己的属性。制造出来的模型,是制造机的实例,具有自己的属性。

2. 类的声明

在python中声明和定义是一个意思,因为python支持在程序运行过程中创建变量(C++中必须提前声明)。型类声明时,注意至少提供一个父类而经典类则不需要。如果没有父类,可以使用Python的母类Object。

class MyClass(Object):
    'This is a definition'
    class_suit

注意:在类名一般以大写字母开头,采用“驼峰命名”。类的数据属性一般使用名词。类的方法属性一般使用动词,并采用“驼峰命名”+“_”分离的命名方法。

3. 类实例的实例化

主要有两种方式,使用函数调用的方式,如果没有重写init()函数的话,仅仅创建了一个实例对象。建议对实例化的赋值等等操作都放在init()函数中进行,该函数可以理解为是实例对象创建后执行的第一个方法。也可以使用new()进行类的实例化。二者的区别在于,init()不会自动回调父类的init()而new()会。

4. 关于__init_()函数

这个函数主要用来在类实例化的过程中,对实例进行额外的操作。注意的是他的第一个参数必须是self,这个参数在python中就是表示实例本身,调用init()时,自动传递,不需要键入。
注意:类中的所有实例可能用到的方法,参数中最好都以self为第一个参数,这样会很方便。

5. 类属性和实例属性

类的属性包括数据属性和方法属性。
实例属性包括在init中实现的数据属性。

注意:
类的属性是直接在类定义时定义的,是静态的,与任何实例无关。
实例对象可以访问类的数据属性,但是不可以修改。
类的方法属性,一般通过实例进行调用,没有指定实例的方法不能调用。

Python中通过内建函数dir()或者属性“”dict“”来获取对象属性。区别在于前者返回一个属性名称的列表,后者返回一个字典,key是属性名称,value是属性值。

一句话,类的属性不是实例属性,实例属性不是类的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值