美文网首页
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