Python核心教程02:函数编写与应用

需积分: 5 0 下载量 4 浏览量 更新于2024-11-22 收藏 965B ZIP 举报
资源摘要信息: "Python核心教程第二部分:函数" 知识点一:函数基础 Python中的函数是由一系列语句组成的代码块,它们用于执行特定任务。定义函数使用关键字def,后跟函数名和一对圆括号(),函数名后跟一个冒号,表示函数体的开始。函数体包含一个缩进的代码块。例如: ```python def greet(name): print("Hello, " + name + "!") greet("Alice") ``` 知识点二:函数参数 函数可以有参数,参数在函数定义时可以指定名称。调用函数时,需要按照参数的顺序传递值。参数可以有默认值,这样调用函数时就可以不必提供所有参数。此外,Python支持可变参数,使用*args和**kwargs来传递不确定数量的参数。 知识点三:返回值 函数可以返回数据给调用者,使用return语句返回值。如果没有return语句或者没有表达式,函数默认返回None。 ```python def sum_numbers(a, b): return a + b result = sum_numbers(3, 4) print(result) ``` 知识点四:局部与全局变量 函数内定义的变量称为局部变量,它只在函数内部有效。函数外定义的变量称为全局变量,可以在整个程序中访问。如果需要在函数内修改全局变量,需要使用global关键字声明。 知识点五:作用域 作用域是指变量在程序中可以被访问的区域。Python中的作用域分为局部作用域、封闭作用域、全局作用域和内建作用域。LEGB规则指定了Python在查找变量时的顺序:Local、Enclosing、Global、Built-in。 知识点六:匿名函数 Python使用lambda关键字创建匿名函数。匿名函数没有函数名,使用时非常简洁,通常用于需要函数对象的场合。 ```python square = lambda x: x * x print(square(5)) ``` 知识点七:文档字符串 文档字符串(docstring)是Python中一种特殊的字符串。它用于在函数定义时提供文档说明,可以使用三个引号(单引号或双引号均可)来创建。它被存储在函数的__doc__属性中。 ```python def greet(name): """打印问候语""" print("Hello, " + name + "!") ``` 知识点八:递归函数 递归函数是直接或间接调用自身的函数。递归函数必须有一个明确的终止条件,否则会导致无限递归,最终导致栈溢出错误。 ```python def factorial(n): if n == 1: return 1 else: return n * factorial(n-1) print(factorial(5)) ``` 知识点九:函数装饰器 装饰器是Python中一个功能强大的工具,允许程序员在不修改现有函数代码的情况下增加额外的功能。装饰器本质上是一个接收函数作为参数并返回新函数的函数。 ```python def my_decorator(func): def wrapper(): print("Something is happening before the function is called.") func() print("Something is happening after the function is called.") return wrapper @my_decorator def say_hello(): print("Hello!") say_hello() ``` 知识点十:高阶函数 高阶函数是至少满足下列一个条件的函数: 1. 接受一个或多个函数作为输入 2. 输出一个函数 Python中的内置高阶函数包括map(), filter(), reduce()。 ```python def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = map(square, numbers) print(list(squared_numbers)) ``` 以上是对“py代码-Python Core 02_Functions”标题和描述中提及的知识点的详细介绍。这些知识点涵盖了Python函数的定义、参数传递、返回值、变量作用域、匿名函数、文档字符串、递归函数、函数装饰器以及高阶函数的概念和使用方法。通过这些基础知识的学习,用户可以更加深入地掌握Python编程的核心概念,从而编写出更加高效和可维护的代码。