Python核心教程02:函数编写与应用
需积分: 5 96 浏览量
更新于2024-11-22
收藏 965B ZIP 举报
知识点一:函数基础
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编程的核心概念,从而编写出更加高效和可维护的代码。
2022-03-23 上传
2022-03-21 上传
2022-02-06 上传
点击了解资源详情
282 浏览量
1696 浏览量
2022-03-07 上传
2021-03-26 上传
2022-03-10 上传

weixin_38517095
- 粉丝: 4
最新资源
- 德韦瑟:探索城市天气信息及CORS解决方案
- 掌握Node Sass:动态CSS编译与部署技术
- ASP企业员工信息管理系统的实现与源代码
- 掌握编程算法挑战:解决方案合集
- 泛微二次开发环境与jar包使用指南
- OpenCV HOG特征实现车辆检测器
- 局域网版五子棋源码分享:二人对战必备
- Android Gif动态表情实现技术分享
- csbadges-live-stream:展示node.js学习成果的实时流小应用程序
- Python示例教程:使用Jupyter Notebook
- MATLAB实现人脸跟踪:CAMSHIFT与Kalman滤波
- 增强Delphi VCL风格的vcl-styles-utils工具介绍
- RTSP服务器简易代码解析与参考价值
- bodyguard:Ember应用中manhattan.js事件检查工具
- 语音识别控制技术在串口通信中的应用
- 云计算管道的循环CLI使用指南