Python基础教程(第3版)中文版 第6章 函数(笔记)

                                       第6章 函数


1.懒惰是一种美德(代码重用)

2.抽象和结构


抽象可节省人力,更容易被人理解。

抽象隐藏具体细节。

3.自定义函数


函数执行操作并返回一个值。
使用def (define的缩写) 定义函数
def hello(name):
    return'Hello, ' + name + '!'
def 下面添加字符串就是给函数添加文档字符串
def square(x):
    'Calculates the square of the number x.'
    return x*x;
访问文档: 使用 square.__doc__
获取函数相关信息:help()
没有返回值的函数:不包含return,或return后面是空的。

4.参数


给函数传递一个数,在函数内无法改变这个数的值
参数为可变的数据结构(如列表)将改变
#和C语言的函数参数类似。
#可以借助列表修改参数
调用参数时指定参数名称如:
hello_1(greeting='Hello', name='world')
指定名称的参数叫 关键字参数
定义关键字参数函数时,可以提供默认值
收集参数:*params  *会收集多余的参数,不会收集关键字参数 得到序列
** 可收集关键字参数 得到字典

分配参数:
*
**
在调用函数时 将分配参数

5.作用域


此处作用域的概念类似C语言。
使用函数globals来访问全局变量,它返回一个包含全局变量的字典
重新关联全局变量(在函数内部给全局变量赋值)
通过  global 变量名 ,使用全局变量。

函数内可嵌套定义
#C语言不允许嵌套定义函数
作用域也将嵌套,内部函数可访问外部的局部作用域
#nonlocal 类似global 给外部作用域内变量赋值

6.递归


调用自身
#与C语言类似
以阶乘为例:
def fac(n):
    if n == 1:
        return 1
    else
        return n * fac(n - 1)

猜你喜欢

转载自blog.csdn.net/qq_41068877/article/details/81901027