带你走进 @ 机器人时代
Discover 点击上面蓝色文字,关注我们
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 -
最后,文章有帮助到你的话【点赞在看】
激励我们分享更多的干货!