python面向对象:入门

python面向对象:入门



一、实验目的

掌握类的基本使用

二、实验原理

面向过程:根据业务逻辑从上到下写代码。

面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。

函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可。

面向对象:对函数进行分类和封装,让开发更快更好更强。

三、实验环境

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__: 乘方

创作不易,可以点赞收藏哦!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i阿极

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值