美文网首页
Python 类

Python 类

作者: 又绿江南岸1990 | 来源:发表于2019-08-19 15:16 被阅读0次

在 Python 中,面向对象编程主要有两个主题,就是类和类实例。

类与实例:

类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息。类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象。

类(Class) 由3个部分构成

类的名称:类名

类的属性:一组数据

类的方法:允许对进行操作的方法 (行为)

1、定义类

例:定义类

定义类

2、创建对象

python中,可以根据已经定义的类去创建出一个个对象,创建对象的格式为,对象名 = 类名()

例:创建对象

创建对象 运行结果

利用一个变量接收创建的对象,实例对象可以调用类的方法,还可以为类设置属性。我们可以利用__init__()方法在创建实例对象时,就为对象指定属性。

3、__init__()方法

创建类时,可以定义一个特定的方法,名为__init__(),只要创建这个类的一个实例就会运行这个方法。可以向__init__()方法传递参数,这样创建对象时就可以把属性设置为你希望的值__init__()这个方法会在创建对象时完成初始化。

例:调用__init__()方法

调用__init__()方法 运行结果

在没有调用__init__()方法的前提下,实例对象就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了。 

也可以在调用__init__()方法时传递参数,动态设置实例对象的属性。

例:调用__init()方法时传递参数

调用__init()方法时传递参数 运行结果

__init__()方法,在创建一个对象时默认被调用,不需要手动调用

__init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)

__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思

某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

4、保护对象的属性

如果有一个对象,当需要对其进行修改属性时,有2种方法

对象名.属性名 = 数据 ---->直接修改

对象名.方法名() ---->间接修改

为了更好的保存属性安全,即不能随意修改,一般的处理方式为

将属性定义为私有属性

添加一个可以调用的方法,供调用

例:调用私有属性

调用私有属性 运行结果

以__属性开头的属性为私有属性,不能通过实例对象直接调用,不支持修改和取值。要想取值和修改,必须调用实例对象的方法。

Python中没有像C++中public和private这些关键字来区别公有属性和私有属性。

它是以属性命名方式来区分,如果在属性名前面加了2个下划线'__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)

相关文章

网友评论

      本文标题:Python 类

      本文链接:https://www.haomeiwen.com/subject/ewvssctx.html