python程序设计 函数基本知识点笔记整理

以下是Python函数的一些基本知识点:

1. 函数的定义和调用

定义函数

def function_name(parameters):
    """Docstring"""
    statement(s)

示例

def greet(name):
    """This function greets a person by name."""
    print(f"Hello, {name}!")

调用函数

greet("Alice")

 

2. 参数和返回值

参数
- 必选参数:必须提供的参数。
- 默认参数:有默认值的参数。
- 可变长度参数:可以传入任意数量的参数。

 

def example_func(param1, param2="default", *args, **kwargs):
    print(param1, param2, args, kwargs)

 

返回值
- 使用 `return` 语句返回值。
- 可以返回多个值,返回值会以元组的形式返回。

 

def add_and_multiply(a, b):
    return a + b, a * b

sum_result, product_result = add_and_multiply(3, 4)

 

3. 作用域和生命周期

- 局部作用域:函数内部定义的变量,只有在函数内部可见。
- 全局作用域:函数外部定义的变量,函数内部也可以访问(使用 `global` 关键字修改全局变量)。

global_var = 10

def example_func():
    local_var = 5
    print(global_var, local_var)

example_func()

 

4. Lambda函数

- 一种小的匿名函数,使用 `lambda` 关键字定义。
- 通常用于需要一个简单函数的地方。

add = lambda x, y: x + y
print(add(2, 3))


 

 5. 函数的文档字符串(Docstring)

- 用于描述函数的用途和行为。
- 使用三重引号定义。

 

def multiply(a, b):
    """This function multiplies two numbers."""
    return a * b

print(multiply.__doc__)


 

 6. 高阶函数

- 接受函数作为参数,或返回一个函数的函数。
- 常见的高阶函数有 `map`、`filter` 和 `reduce`。

 

def apply_func(func, value):
    return func(value)

result = apply_func(lambda x: x * x, 5)
print(result)

 

7. 装饰器

- 修改函数行为的高阶函数。
- 使用 `@decorator_name` 语法。

 

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()


```

8. 内置函数

- Python 提供了许多内置函数,如 `len`、`max`、`min`、`sum`、`sorted` 等。

numbers = [1, 2, 3, 4, 5]
print(sum(numbers))
print(max(numbers))
print(sorted(numbers, reverse=True))


9. 函数注解

- 为函数的参数和返回值添加元数据。

 

def greet(name: str) -> str:
    return f"Hello, {name}!"

print(greet("Alice"))
print(greet.__annotations__)


10. 异常处理

- 在函数中处理异常,以避免程序崩溃。

 

def divide(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        return "Division by zero is not allowed."
    else:
        return result

print(divide(10, 2))
print(divide(10, 0))


未经允许 不得转载

如有错误 敬请指正

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值