一、函数

1、基础
  • def是可执行的代码;实时执行的。  --- Python中所有的语句都是实时运行的,没有像独立的编译时间这样的流程。
  • def创建了一个对象并将其赋值给某一变量名;
  • lambda创建一个对象但将其作为结果返回;
  • return将一个结果对象发送给调用者。
    • 可出现在函数主体中的任何地方;
    • 表示函数调用的结束,并将结果返回至调用处;
    • return语句包含一个对象表达式,这个对象给出函数结果 。
    • 没有出现时,函数会在控制流程执行完函数主体时结束。
    • 技术上说,一个没有返回值的函数自动返回了None对象,且这个值被忽略。
  • yield向调用者发回一个结果对象,但记住它离开的地方;
  • global声明了一个模块级的变量并被赋值;
  • nonlocal声明了将要赋值的一个封闭的函数变量。允许一个函数赋值一条语法封闭的def语句的作用域中已有的名称。这就允许封闭的函数作为保留状态的一个地方——当一个函数调用时,信息被记住了——而不必使用共享的全局名称。
  • 函数是通过赋值(对象引用)传递的;调用者以及函数通过引用共享对象,但是不需要别名。改变函数中的参数名并不会改变调用者中的变量名,但是改变传递的可变对象可以改变调用者共享的那个对象。
  • 参数、返回值及变量并不是声明。
2、Python中的多态
 
Python中的多态:一个操作的意义取决于被操作对象的类型。
 
多态在函数中的应用:如果对象传给函数的对象有预期的方法和表达式操作符,那么它们对于函数的逻辑来说就是有着即插即用的兼容性的。
 
在Python中为对象编写接口,而不是数据类型。
 
3、本地变量
 
所有本地变量都会在函数调用时出现,并在函数退出时消失。
 
4、一等
Python中所有函数都是一等对象,满足下述条件的程序实体:
  • 在运行时创建;
  • 能赋值给变量或数据结构中的元素;
  • 能作为参数传给函数;
  • 能作为函数返回结果;
 
posted @ 2020-05-31 14:11  晨尛  阅读(111)  评论(0编辑  收藏  举报