zoukankan      html  css  js  c++  java
  • python基础(二)抽象

    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 抽象

    • 封装:隐藏一切可以隐藏的实现细节,只向外界暴露(提供)简单的编程接口
    • 继承:定义一个类时,可以从现有类继承,新的类称为子类,被继承的类称为超类或基类
    • 多态:调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。
  • 相关阅读:
    自定义响应结果
    JsonUtils (JSON与对象之间的转换)
    IDUtils (ID生成策略)
    ExceptionUtil(异常使用工具类)
    Hbuilder连接夜神模拟器
    夜神模拟器开启开发者选项
    java.lang.OutOfMemoryError: Java heap space的解决方法
    Android开发LogCat一直不停输出的解决方法
    windows无法停用“Android Composite Interface”设备的解决方法
    android:digits属性
  • 原文地址:https://www.cnblogs.com/miloli/p/11225654.html
Copyright © 2011-2022 走看看