python基础(二)抽象
程序员文章站
2022-07-09 20:56:38
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 抽象
- 封装:隐藏一切可以隐藏的实现细节,只向外界暴露(提供)简单的编程接口
- 继承:定义一个类时,可以从现有类继承,新的类称为子类,被继承的类称为超类或基类
- 多态:调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。