天天看点

面向对象编程是什么?浅谈Python的一切皆对象,单身狗看过来

作者:RPA自动化

带你走进 @ 机器人时代

Discover 点击上面蓝色文字,关注我们

面向对象编程是什么?浅谈Python的一切皆对象,单身狗看过来

Python对象是什么?面向对象编程(Object-oriented Programming,简称 OOP)简单来说就是代码的封装。

代码封装,其实就是隐藏实现功能的具体代码,仅留给用户使用的接口,所以,在编程的时候,要了解一些基本的术语:

类:可以理解是一个模板,通过它可以创建出无数个具体实例,但类并不能直接使用,通过类创建出的实例(又称对象)才能使用,在类里面定义的函数称为方法,所有的变量称为属性。

因此,类方法无法单独使用,只能和类的对象一起使用,举一个简单的例子:

class person():#定义一个叫person的类
    s='这是一个人类'#定义person的属性
    def walk(self):#顶一个方法
        print('会走路')#描述这个方法

print('张山',end='')
a=person()#创建一个叫a的类
a.walk()#调用类的方法输出结果

输出结果:
张三会走路           

之所以我们用简单的字母来给变量命名,是为了让初学者容易看懂。但实际工作中,命名变量、函数及类名,尽量使用有意义的英文单词来命名,这样做的好处有两个:

1、不容易与其他变量混淆;

2、代码量大的时候,检查代码时容易了解变量的含义,从而更容易发现问题。

在Python中有一个特殊的函数,称之为构造函数:__init__,什么意思?可以理解为类的自身基本属性。

我们来修改上面的代码:

class person():
    def __init__(self):
        print('会走路')

print('张三',end='')
a=person()

输出结果:
张三会走路           

实际上,我们将‘ 会走路 ’这个方法定义成person这个类的基本方法,所以我们在调用的时候不用再写一次方法的名字,直接创建对象,新的对象同样就继承了类的基本方法。

那么,我们还可以为person 这个类添加一些属性,例如:

class person():
    def __init__(self,a):
        print('会走路')
        print(a)

print('张三',end='')
a='是个舞林高手'
w=person(a)

输出结果:
张三会走路
是个舞林高手           

这样,我们就给person这个类定义了一个属性,当然我们也可以把这个属性定义在类的内部:

class person():
    def __init__(self,a):
        print('会走路')
        print(a)
        self.t='有两个耳朵'

print('张三',end='')
a='是个舞林高手'
w=person(a)
print(w.t)

输出结果:
张三会走路
是个舞林高手
有两个耳朵           

调用的类的基本属性只需要写x.t就可以了,是不是很简单?

如果我们觉得‘有两个耳朵’这个属性有点多余,我们可以使用del命令删除:del w.t即可:

del w.t
print(w.t)
输出结果:
Traceback (most recent call last):
  File "E:\Python程序\类的演示.py", line 22, in <module>
    print(w.t)
AttributeError: 'person' object has no attribute 't'           

通过上面的例子,我们注意到有一个self的变量,这个self到底是什么东西呢?

原来,Python 规定,无论是构造方法还是实例方法,最少要包含一个参数,并没有规定该参数的具体名称。

之所以将其命名为 self,只是程序员之间约定俗成的一种习惯,遵守这个约定,可以使我们编写的代码具有更好的可读性(大家一看到 self,就知道它的作用)。

那么,这个self参数具体有什么作用呢?就刚才这个例子,我们定义了一个person类,为了方便大家理解,我们称之为:人类。

我们将它实例化以后,它就是一个个的人类,如张三、李四等等。但是人类都有共同的基本属性和方法,怎么区分张三和李四的不同呢?

这就需要用到self这个参数来定义了:

#self的应用
class person:
    def __init__(self,a):
        self.name=a
        print(a)
s=person('王五')
print(s.name)
输出结果:
王五
王五           

所以,我们发现无论是类的属性或者方法,我们都不能在外部直接使用它们,可以把类看成一个独立的空间。

因此,在类里面函数外面定义的属性和变量都被称为类属性或类变量;在函数内定义的以self.变量名的方式定义的称为实例属性或变量;以变量名=变量值的方式定义的外面称为局部属性或变量。

我们来看看下面的代码:

class see:
    s='这是类变量'
    def __init__(self):
        print('这是类方法')
    def saw(self):
        self.s1='这是实例变量'
        s2='这是局部变量'
        print('这是实例方法')
        print(s2)

w=see()
print(w.s)
w.saw()
print(w.s1)
输出结果:
这是类方法
这是类变量
这是实例方法
这是局部变量
这是实例变量           

如果定义s1的时候前面没有加上self.的话就代表这个变量是局部变量,在外面是无法调用的。

Python类的基本概念和用法,我们就介绍到这里。后面我们将学习Python类的其他一些用法。

坚持学习,这样每天都能进步一点点!

往期回顾:

  • 来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!
  • RPA技术在旅行社销售业务中如何凤凰涅槃??
  • 【工资翻三倍】系列:一招搞定九宫图片切割机器人,让你的朋友圈更加炫酷!

本文引用和摘录相关内容,请联系侵删。

- END -

最后,文章有帮助到你的话【点赞在看】

激励我们分享更多的干货!