PY函数知识点及实例代码

PY函数知识点及实例代码

在Python中,函数(function)是一个非常重要的概念,用于组织代码、

实现代码复用和提高代码的可读性。以下是关于Python函数的一些主要知

识点及实例代码:

1. 函数的定义与调用

# 定义函数:使用`def`关键字,后跟函数名和参数列表,最后以冒号结尾

。函数体需要缩进。


def function_name(parameters):

"""函数文档字符串"""

# 函数体

return value

实例01:

def greet(name):

"""向某人打招呼"""

print(f"Hello, {name}!")

greet(Alice) # Hello Aice


# 调用函数:使用函数名加上括号,传入必要的参数。


result = function_name(arguments)

实例02:

def add(a, b):

return a + b

result = add(2, 3) # result = 5

2. 参数传递

# 位置参数:按顺序传递参数。

实例03:

def greet(name, message):

print(f"{name}, {message}")


greet("Alice", "Hello") # Hello Aice

实例04:

def add(a, b):

return a + b

result = add(2, 3) # result = 5

# 关键字参数:通过参数名传递参数,可以不按顺序。


greet(message="Hello", name="Alice")

实例05:

>>> def greet(message="Hello",name="Alice"):

print(f"{message},{name}")


>>> greet()

# Hello,Alice

实例06:

def introduce(name, age):

print(f"My name is {name} and I am {age} years old.")

introduce(age=25, name="Bob") # 输出: My name is Bob and I am

25 years old.


# 默认参数:为参数设置默认值,可以在调用时省略该参数。

实例07:

def greet(name, message="Hello"):

print(f"{message}, {name}!")

greet("Charlie") # 输出: Hello, Charlie!

greet("Charlie", "Hi") # 输出: Hi, Charlie!

# 可变参数:

# `*args`:接收任意数量的位置参数,参数以元组形式传递。


def func(*args):

for arg in args:

print(arg)

实例08:

def print_numbers(*args):

for num in args:

print(num)

print_numbers(1, 2, 3, 4) # 输出: 1 2 3 4

# `kwargs`:接收任意数量的关键字参数,参数以字典形式传递。


def func(kwargs):

for key, value in kwargs.items():

print(f"{key}: {value}")


实例09:

def print_info(**kwargs):

for key, value in kwargs.items():

print(f"{key}: {value}")

print_info(name="Diana", age=30, city="New York")

# 输出:

# name: Diana

# age: 30

# city: New York

3. 返回值

# 使用`return`语句返回函数的结果。如果没有`return`语句,函数默认

返回`None`。

实例10:

def add(a, b):

return a + b


result = add(2, 3) # result = 5


4. 局部变量与全局变量

# 局部变量:在函数内部定义的变量,只能在函数内部访问。

# 全局变量:在函数外部定义的变量,可以在整个模块中访问。在函数内

部修改全局变量需要使用`global`关键字。

实例11:

x = 10


def func():

global x

x = 20


func()

print(x) # 输出: 20


5. 匿名函数(Lambda函数)

# 使用`lambda`关键字定义简单的匿名函数,通常用于需要函数对象的场

合,如`map`、`filter`等。

实例12:

add = lambda a, b: a + b

print(add(2, 3)) # result = 5


实例11:

numbers = [4, 2, 9, 1]

sorted_numbers = sorted(numbers, key=lambda x: x % 3)

print(sorted_numbers) # 输出: [9, 1, 4, 2]

6. 高阶函数

# 高阶函数:接受函数作为参数或返回函数作为结果的函数。

# `map(function, iterable)`:将函数应用于可迭代对象的每个元素。

# `filter(function, iterable)`:过滤可迭代对象中使函数返回

`True`的元素。

# `reduce(function, iterable)`:对可迭代对象的元素进行累积操作

实例13:

from functools import reduce

numbers = [1, 2, 3, 4, 5]

result = reduce(lambda a, b: a + b, numbers) # result = 15


7. 装饰器(Decorator)

# 装饰器是一种用于修改函数或类的行为的语法糖,通常用于添加额外的

功能,如日志记录、权限验证等。

实例14:

def decorator(func):

def wrapper(*args, kwargs):

print("Before function call")

result = func(*args, kwargs)

print("After function call")

return result

return wrapper


@decorator

def say_hello():

print("Hello")


say_hello()


输出:


Before function call

Hello

After function call


8. 递归函数

# 递归函数是指在函数内部调用自身,用于解决可以分解为相似子问题的

问题。


实例15:

def factorial(n):

if n == 0:

return 1

else:

return n * factorial(n # 1)


print(factorial(5)) # 输出: 120


9. 函数的作用域

# 作用域决定了变量可以被访问的范围。Python中有局部作用域、嵌套作

用域、全局作用域和内置作用域。

# 局部作用域:函数内部定义的变量。

# 嵌套作用域:在嵌套函数中,内部函数可以访问外部函数的变量。

# 全局作用域:模块级别的变量。

# 内置作用域:Python内置的名称,如`len`、`print`等。

实例16:

x = "global"

def func():

x = "local"

print(x)

func() # 输出: local

print(x) # 输出: global

10. 函数的文档字符串

# 使用三引号`"""`或`'''`定义的字符串,用于描述函数的功能、参数和

返回值。

实例17:

def add(a, b):

"""

返回两个数的和。


参数:

a (int): 第一个数

b (int): 第二个数


返回:

int: 两个数的和

"""

return a + b


11. 函数式编程工具

# Python提供了一些函数式编程工具,如`map`、`filter`、`reduce`、

`sorted`、`zip`等,可以用于处理可迭代对象。

实例18:

numbers = [1, 2, 3, 4, 5]

squared = list(map(lambda x: x 2, numbers)) # [1, 4, 9, 16,

25]

实例19:

numbers = [5, 2, 9, 1]

sorted_numbers = sorted(numbers, key=lambda x: x ** 2)

print(sorted_numbers) # 输出: [1, 2, 5, 9]

# 参数key 会计算每个元素的平方然后作为排序依据但不修改元素值

实例20:

names = ["Alice", "Bob", "Charlie"]

ages = [25, 30, 35]

combined = list(zip(names, ages))

print(combined) # 输出: [('Alice', 25), ('Bob', 30),

('Charlie', 35)]

12. 函数的内省

# Python的函数是对象,可以进行内省操作,如获取函数名、文档字符串

、参数列表等。

实例21:

def func(a, b):

"""This is a function"""

return a + b

print(func.__name__) # 输出: func

print(func.__doc__) # 输出: This is a function

print(func.__module__) # 输出: __main__

print(func.__code__.co_varnames) # 输出: ('a', 'b')


这些知识点涵盖了Python函数的主要方面,掌握这些内容可以帮助大家更好

地编写和理解Python代码。

相关文章

python 示例代码

以下是35个python代码示例,涵盖了从基础到高级的各种应用场景。这些示例旨在帮助你学习和理解python编程的各个方面。1. Hello, World!# pythonprint("Hel...

---初学者必背PY基础实例代码100例---

---初学者必背PY基础实例代码100例---下面是关于Python数据类型、控制结构、函数、数据结构、类与继承的100个示例代码。这些示例将帮助你理解每个概念的基本用法和一些常见应用。(一)数据类型...

PYTHON学习导图与实例代码100条

以下是Python 学习导图涵盖从基础到进阶 的核心知识点,帮助你系统化学习 Python:Python 学习路线1 Python 基础语法1.1变量与数据类型- 数字(`int`, `float`,...

爆肝整理!247个Python有趣实例(附 PDF)复制即用!

学 Python 最崩溃的瞬间莫过于 —— 语法背得滚瓜烂熟,一写代码就卡壳 知道知识点却不会用,复杂需求面前秒变 “代码难民” 想找实战项目练手,不是案例太老就是代码残缺不全别慌!今天直接甩出压箱底...

值得学习练手的100个Python项目(附代码),真的太实用了

Python丰富的开发生态是它的一大优势,各种第三方库、框架和代码,都是前人造好的“轮子”,能够完成很多操作,让你的开发事半功倍。在科技飞速发展的当今时代,Python 以其简洁、高效和强大的功能,成...

新手必看!30 个 Python 核心函数详解,手把手教你玩转编程

Python 中 30 个核心函数及其含义、代码示例、注释和应用场景:print():用于输出文本或变量的值到控制台。message = "Hello, World!" # 定义一个...