类和对象

本文深入讲解面向对象编程的核心概念,对比面向过程编程,探讨类、对象、属性与成员方法的作用及实现方式。通过实例演示如何定义类、创建实例并调用方法。

类和对象

引题:回忆之前没有函数时的写法,有函数封装后的写法。

  1. 单条语句
r1 = 3
r2 = 4
r3 = 5.5
print('圆的面积:', r1*r1)
print('圆的面积:', r2*r2)
print('圆的面积:', r3*r3)
  1. 函数 封装功能,抽象出解决问题的公共过程。调用时传入真实数据。
r1 = 3
r2 = 4
r3 = 5.5

def calculate_square(r):
    return r*r
calculate_square(r1)
calculate_square(r2)
calculate_square(r3)
  1. 函数. 面向函数思想
def todo():
    print('起床')
    print('吃早餐')
    print('上班')
    print('下班')
  1. 函数
def print_stu_info(name, score, sex):
    print('学生{}成绩{}'.format(name, score))
print_stu_info('小明', 90, 'male')
print_stu_info('小红', 100, 'female')
  1. (常用)面向对象
    定义阶段
class Student():
    def __init__(self, name, score, sex):
        self.name = name
        self.score = score
        self.sex = sex

    def print_score(self):
        print('{}的成绩是{}'.format(self.name, self.score))

    def print_sex(self):
        print('{}的性别是{}'.format(self.name, self.sex))

实例化

stu1 = Student('小明', 90, '男')
stu2 = Student('小红', 100, '女')

调用对象方法

print(stu1.name)
stu1.print_score()      # 本质Student.print_score(stu1)
stu2.print_sex()

对象object:python万物皆对象,字符串、数字、方法、类实例。
类:相似、有公共特征的一类对象。
类class和实例instance(重点):“人类”和“小明”。类是许多个体的集合,一个抽象名词、统称。'小明’或者 “你自己” 或“特普朗” 这些都是人类这个集合中一个个具体的人、个体。那么我们把类中具体的个体叫“对象”、“实例”。 再举几个例子:水果类包含苹果、梨。 电子产品类,电脑,手机。 手机类,苹果,华为。
属性attribute,成员方法:一类事物的特性叫做属性,例如Student类中的name、score、sex。类中个体、成员具备的功能、方法叫做成员方法。

语法:类关键字class 类名(): 类方法。
驼峰命名:(约定俗成)每一个单词挨着写并且首字母大写。例如:ElectronicProduct。java中常见。

init(): 双下划线开头的方法为内置或特殊用途方法。
init()又叫做“构造函数”。initial 初始化。
类实例化的时候调用__init__()函数。实例化传入的参数传入init函数,init函数内又赋值给了self对象。为了生成、构造、写信息到一个具体的实例。
self: 自己,指代类自己的某一个实例。好像函数里形参。
类里面的每一个函数,都默认传递self参数,self要写在参数的第一位。对象方法调用时,不用传递self参数。
属性、成员方法:访问属性 对象.属性名;调用成员方法 对象.方法; 写属性 对象.属性名=新值。成员方法把实例中的属性读出来并书写功能。

封装:类的三大特性之一。 类的封装比函数的封装更加抽象高级,因为类不光包括功能,还包括数据结构。

面向过程(函数)和面向对象:
面向过程,解决一个问题,先干什么后干什么,计划步骤。
面向对象,把数据结构和业务逻辑看做一个整体,对同类对象抽象共同特征写成类,暴露简单的接口与外界交互,而不需要考虑细节。

【源码免费下载链接】:https://renmaiwang.cn/s/0e6hs 数字信号处理实习实验二离散信号的频谱分析MATLAB本实验旨在掌握离散时间信号的DTFTDFT的MATLAB实现,熟悉DTFTDFT之间的关系,了解信号不同变形的DFT与原信号DFT之间的关系,掌握系统函数频率响应之间的关系。一、DTFTDFT的概念DTFT(Discrete-Time Fourier Transform)是对离散时间信号进行频谱分析的重要工具,它可以将时域信号转换为频域信号,从而分析信号的频率特性。DFT(Discrete Fourier Transform)是DTFT的一种近似实现形式,它可以将有限长信号转换为频域信号。二、实验目的1. 掌握离散时间信号的DTFTDFT的MATLAB实现2. 熟悉DTFTDFT之间的关系3. 了解信号不同变形的DFT与原信号DFT之间的关系4. 掌握系统函数频率响应之间的关系三、实验内容1. 自定义一个长度为8点的信号,信号幅度值也由自己任意指定,对该信号作DTFT,分别画出幅度谱相位谱2. 对信号分别做8点、16点、32点DFT,分别与DTFT合并作图并比较DFT与DTFT之间的关系3. 在信号每两个相邻样本之间插入一个零值,扩充为16点序列,作DFT,画出幅度谱相位谱,并与原序列的DFT进行比较4. 将信号以8为周期扩展,得到长为16的两个周期,作DFT,画出幅度谱相位谱,并与原序列的DFT进行比较5. 已知离散时间系统差分方程为y(n)-0.5y(n-1)+0.06y(n-2)=x(n)+x(n-1),求出并画出其频率响应6. 求该系统系统函数,并画极零点图,并通过freqz函数求频率响应四、设计流程1. 自定义序列为x=[1,2,3,4,5,8,9,7]2. 使用MATLAB实现DTFTDFT3. 画出幅度谱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值