python入门系列第十六篇: 函数基础

158 阅读1分钟
原文链接: zhuanlan.zhihu.com
函数

函数: 为了代码最大程度的复用和最小话代码冗余而提供的最基本的程序结构。

常见的一些与函数相关的表达式

函数调用: myFunc('str')
函数定义: def add(a):
return : return a + b + c
global: global x: x = 'new'
nonlocal: nonlocal x: x = 'new'
yield:  for x in range(x): yield i ** 2
lambda: funcs = [lanmbda x: x ** 2, lambda x: x*3]


编写函数


def: 可执行代码, 或者说def用于定义一个函数, 或者说创建了一个对象并将其赋值给某一个变量名
     函数名变为了某个函数的引用。

lambda创建一个对象但将其作为结果返回

return把一个结果对象返回给调用者

yield向调用者发回一个结果对象, 但是会记住它离开的位置

global声明了一个模块级的变量并被赋值,默认情况下,在一个函数内被赋值的对象, 都是这个函数的本地变量,仅在该函数运行过程中存在。
为了分配一个在整个模块都可以使用的变量名, 需要使用global将其列举出来。

nonlocal声明了将要赋值的一个封闭的函数变量

函数是通过赋值(对象引用)传递的。

参数, 返回值以及变量并不是声明


代码实例


def <name>(arg1, arg2, ..., argN):
  <statements>
  return value # 可选, 没有return默认返回None


def test():
    x = 10
    return x

test()
print(x) # NameError: name 'x' is not defined


def test():
    global x; x = 10
    return x

test()
print(x) # 10