python面向对象:入门
文章目录
- python面向对象:入门
- 一、实验目的
- 二、实验原理
- 三、实验环境
- 四、实验内容
- 五、实验步骤
- 1.创建类和对象
- 2.构造方法
- 3.类中的实例方法
一、实验目的
掌握类的基本使用
二、实验原理
面向过程:根据业务逻辑从上到下写代码。
面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。
函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可。
面向对象:对函数进行分类和封装,让开发更快更好更强。
三、实验环境
Python 3.6以上
Ipython
PyCharm
四、实验内容
创建类和对象
构造方法
类中的实例方法
五、实验步骤
1.创建类和对象
面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用。
类就是一个模板,模板里可以包含多个函数,函数里实现一些功能。
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数。
self代表类的实例,类中的实例方法(类中的实例方法后面会有讲到)与普通的函数只有一个特别的区别,
它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
实例:
# 创建类
class Foo:
def bar(self):
print('Bar')
def hello(self, name):
print('I am %s' %name)
# 根据类Foo创建对象obj
obj = Foo()
obj.bar() # 执行Bar方法
obj.hello('zhangyu') # 执行Hello方法
以上实例执行结果:
Bar
I am zhangyu
2.构造方法
构造方法__init__()
类定义了此方法的话,类的实例化操作会自动调用此方法。
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)
执行以上程序输出结果为:3.0 -4.5
3.类中的实例方法
在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,实例方法在创建时会默认携带一个self参数,且为第一个参数,self代表的是类的实例,供当前类在内部中的调用,一般不进行更改。
# 类定义
class People:
# 定义类属性
_num = 0
# 定义构造方法
def __init__(self, n, a, w):
self.name = n
self.age = a
# 定义私有属性,私有属性在类外部无法直接进行访问
self.__weight = w
# 实例方法
def speak(self):
print("%s 说: 我 %d 岁。" % (self.name, self.age))
# 实例化类
p = People('zhangyu', 5, 20)
p.speak()
执行以上程序输出结果为:zhangyu 说: 我 5 岁。
在上面程序中看到了很多下划线和双下划线,下划线都分别代表什么作用:
__foo__:一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突,就是例如
__init__ : 构造函数,在生成对象时调用
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__div__: 除运算
__mod__: 求余运算
__pow__: 乘方
创作不易,可以点赞收藏哦!!!