当前位置: 首页 > wzjs >正文

免费空间申请网站旅游加盟网站建设

免费空间申请网站,旅游加盟网站建设,广州微网站建设案例,如何做百度搜索推广目录 1. 函数的定义与调用 1.1 定义函数 1.2 调用函数 2. 函数的参数 2.1 位置参数 2.2 默认参数 2.3 关键字参数 2.4 可变参数 3. 函数的返回值 3.1 返回单个值 3.2 返回多个值 3.3 不返回值 4. 变量的作用域 4.1 局部变量 4.2 全局变量 5. 函数的高级特性 5.1 闭…

目录

1. 函数的定义与调用

1.1 定义函数

1.2 调用函数

2. 函数的参数

2.1 位置参数

2.2 默认参数

2.3 关键字参数

2.4 可变参数

3. 函数的返回值

3.1 返回单个值

3.2 返回多个值

3.3 不返回值

4. 变量的作用域

4.1 局部变量

4.2 全局变量

5. 函数的高级特性

5.1 闭包

5.2 装饰器

输出:

5.3 lambda 函数

6. 函数的实际应用

6.1 作为参数传递

6.2 返回函数

7. 总结


1. 函数的定义与调用

1.1 定义函数

使用 def 关键字定义函数,后跟函数名、参数列表和函数体。

def function_name(parameters):"""函数文档字符串"""# 函数体return value  # 可选的返回值

1.2 调用函数

定义函数后,可以通过函数名和参数来调用它。

def greet(name):"""打印问候语"""print(f"Hello, {name}!")greet("Alice")  # 输出:Hello, Alice!

2. 函数的参数

2.1 位置参数

按顺序传递的参数,位置必须对应。

def add(a, b):return a + bprint(add(3, 5))  # 输出:8

2.2 默认参数

在定义函数时为参数设置默认值。

def greet(name, greeting="Hello"):print(f"{greeting}, {name}!")greet("Alice")         # 输出:Hello, Alice!
greet("Bob", "Hi")     # 输出:Hi, Bob!

2.3 关键字参数

调用函数时使用键值对的形式传递参数,顺序可以不同。

def describe_pet(animal_type, pet_name):print(f"I have a {animal_type} named {pet_name}.")describe_pet(animal_type="dog", pet_name="Buddy")
describe_pet(pet_name="Buddy", animal_type="dog")

2.4 可变参数

使用 *args 接收任意数量的位置参数,使用 **kwargs 接收任意数量的关键字参数。

def sum_numbers(*args):return sum(args)print(sum_numbers(1, 2, 3))  # 输出:6def print_info(**kwargs):for key, value in kwargs.items():print(f"{key}: {value}")print_info(name="Alice", age=25)

3. 函数的返回值

3.1 返回单个值

使用 return 语句返回单个值。

def multiply(a, b):return a * bresult = multiply(4, 5)
print(result)  # 输出:20

3.2 返回多个值

可以通过元组返回多个值。

def divide(a, b):return a // b, a % bquotient, remainder = divide(10, 3)
print(f"商:{quotient},余数:{remainder}")  # 输出:商:3,余数:1

3.3 不返回值

如果函数没有 return 语句,它会返回 None

def say_hello():print("Hello!")result = say_hello()
print(result)  # 输出:None

4. 变量的作用域

4.1 局部变量

在函数内部定义的变量,作用域仅限于函数内部。

def my_function():x = 10  # 局部变量print(x)my_function()
# print(x)  # 错误:NameError: name 'x' is not defined

4.2 全局变量

在函数外部定义的变量,可以在函数内部访问,但修改需要使用 global 关键字。

y = 20  # 全局变量def modify_global():global yy = 30modify_global()
print(y)  # 输出:30

5. 函数的高级特性

5.1 闭包

闭包是能够访问其定义时作用域中变量的函数。

def outer_function():message = "Hello"  # 外部函数中的变量def inner_function():print(message)  # 内部函数访问外部变量return inner_functionmy_func = outer_function()
my_func()  # 输出:Hello

5.2 装饰器

装饰器是用于修改其他函数功能的高阶函数。

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

输出:

Something is happening before the function is called.
Hello!
Something is happening after the function is called.

5.3 lambda 函数

lambda 函数是匿名函数,适用于简单的操作。

# 使用 lambda 定义匿名函数
add = lambda a, b: a + b
print(add(3, 5))  # 输出:8# 在列表排序中使用 lambda
students = [("Alice", 25), ("Bob", 20), ("Charlie", 30)]
students.sort(key=lambda student: student[1])
print(students)  # 输出:[('Bob', 20), ('Alice', 25), ('Charlie', 30)]

6. 函数的实际应用

6.1 作为参数传递

函数可以作为参数传递给其他函数。

def apply_function(func, x):return func(x)def square(n):return n ** 2result = apply_function(square, 5)
print(result)  # 输出:25

6.2 返回函数

函数可以返回另一个函数。

def outer_function(a):def inner_function(b):return a + breturn inner_functionadd_five = outer_function(5)
print(add_five(3))  # 输出:8

7. 总结

函数是 Python 中实现代码复用和模块化的基石。通过掌握函数的定义、参数处理、返回值、作用域以及高级特性(如闭包和装饰器),你可以编写出高效、可维护的代码。

http://www.dtcms.com/wzjs/786961.html

相关文章:

  • 北京朝阳网站建设软件开发外包合同模板
  • 有哪些网站建设方案云服务器挖矿
  • 免费网站建设排名wordpress 社交平台
  • 黄岐网站建设企业邮箱格式模板
  • 建设工程招标网站深圳市坪山区住房和建设局网站
  • 班级网站布局asp网站怎么改成中英双语
  • 广州新业建设管理有限公司网站园林网站建设设计方案
  • 做网站被骗3000wordpress会员中心添加头像上传
  • 今科网站建设费用科技创新论文800字
  • 企业内部管理系统网站建设如何拥有自己的微信小程序
  • 罗湖做网站的公司哪家好成都建站网站模板
  • 如何查看网站使用什么程序做的网站推广行业
  • 手机 网站编辑器平面设计免费自学网
  • 白山市网站建设阿里云做的网站误删了
  • 北京seo网站推广校园网站建设与管理
  • 要建网站erp系统教程
  • 加盟培训网站建设wordpress写了文章打不开
  • 网站建设中山优化阜宁专业做网站
  • 南充网站设计学校奥鹏网页设计与网站建设
  • 网站开发报价单模板wordpress站外搜索
  • 网站建设主机配置wordpress快速扒站
  • python 做网站缺点邢台网警
  • 虚拟主机 网站镜像建一个网页需要多少钱
  • 牡丹江市建设行业协会网站代理注册公司的风险
  • 儿童早教网站模板网页版微信网址是多少
  • 网站前台订单功能模块网站模板全屏
  • 科技类网站源码site 危险网站
  • 如何自己编写网站建站还有前途么
  • 网站开发国际化苏州优化外包
  • 杭工e家app是哪个网站做的博物馆网站建设必要