欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python基础(二)抽象

程序员文章站 2022-04-15 15:29:43
1 函数与模块 _编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”_ + 函数 为了减少代码中重复出现的冗余代码,通常我们选择创建函数来供代码重复调用。 使用 def 关键字来定义函数,函数与变量一样也需有固定名称,执行完毕后通过 return 关键字来返回 ......

1 函数与模块

编程大师martin fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”

  • 函数
    为了减少代码中重复出现的冗余代码,通常我们选择创建函数来供代码重复调用。
    使用 def 关键字来定义函数,函数与变量一样也需有固定名称,执行完毕后通过 return 关键字来返回一个值,函数的参数可通过(*kwds)与(**kwds)指定。
  • 模块
    当退出python编译器时,所有的函数与变量将丢失,为了支持这一点,python有一种方法可以将函数定义放在一个文件中,并在脚本或解释器的交互式实例中使用它们。这样的文件叫做模块;模块中的定义可以导入到其他模块或主模块中。

    2 类和对象

    简单的说,类是对象的蓝图和模板,而对象是类的实例。这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的东西。在面向对象编程的世界中,一切皆为对象,对象都有属性和行为,每个对象都是独一无二的,而且对象一定属于某个类(型)。当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定义出一个叫做“类”的东西。
    定义类
class student(object):

    # __init__是一个特殊方法用于在创建对象时进行初始化操作
    # 通过这个方法我们可以为学生对象绑定name和age两个属性
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def study(self, course_name):
        print('%s正在学习%s.' % (self.name, course_name))

    # pep 8要求标识符的名字用全小写多个单词用下划线连接
    # 但是部分程序员和公司更倾向于使用驼峰命名法(驼峰标识)
    def watch_movie(self):
        if self.age < 18:
            print('%s只能观看《熊出没》.' % self.name)
        else:
            print('%s正在观看岛国爱情大电影.' % self.name)

创建和使用对象

def main():
    # 创建学生对象并指定姓名和年龄
    stu1 = student('骆昊', 38)
    # 给对象发study消息
    stu1.study('python程序设计')
    # 给对象发watch_av消息
    stu1.watch_movie()
    stu2 = student('王大锤', 15)
    stu2.study('思想品德')
    stu2.watch_movie()


if __name__ == '__main__':
    main()

3 抽象

  • 封装:隐藏一切可以隐藏的实现细节,只向外界暴露(提供)简单的编程接口
  • 继承:定义一个类时,可以从现有类继承,新的类称为子类,被继承的类称为超类或基类
  • 多态:调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。