网页设计制作网站成品,免费网站后台管理系统模板下载,品牌宣传策略有哪些,网站发布与推广方案目录
1. 函数的创建和调用
1.1 函数的创建
1.2 调用函数
2 参数传递
2.1 传递方式
2.2 形参和实参
2.3 位置参数
2.4 关键字参数
2.5 可变参数
2.6 为参数设置默认值
3 返回值
4 变量的作用域
4.1 局部变量
4.2 嵌套变量
4.3 全局变量
5 匿名函数#xff0…目录
1. 函数的创建和调用
1.1 函数的创建
1.2 调用函数
2 参数传递
2.1 传递方式
2.2 形参和实参
2.3 位置参数
2.4 关键字参数
2.5 可变参数
2.6 为参数设置默认值
3 返回值
4 变量的作用域
4.1 局部变量
4.2 嵌套变量
4.3 全局变量
5 匿名函数Lambda函数 Python函数是一组可重复使用的代码块用于执行特定的任务。函数能够接收输入参数并返回一个结果。
1. 函数的创建和调用
1.1 函数的创建 在Python中创建函数的语法使用def关键字后面跟着函数的名称、参数列表和冒号:。函数的代码块必须使用缩进来表示通常是四个空格。函数可以有一个文档字符串docstring来描述函数的用途和功能。
以下是创建函数的语法示例
def function_name(parameter1, parameter2, ...):文档字符串可选# 函数代码块# ...# 可以使用 return 语句返回结果可选# return resultfunction_name是函数的名称遵循Python的命名规则通常是小写字母用下划线分隔单词。parameter1, parameter2, ...是函数的参数列表用于接收输入数据。参数可以有多个用逗号分隔。参数可以是必需的参数、默认参数、可变参数和关键字参数具体可以根据需要选择。文档字符串是可选的用于描述函数的用途和功能。它位于函数定义的第一行可以通过help()函数来查看。函数代码块是函数的主体包含函数的执行逻辑。代码块必须缩进并且在函数内部使用相同的缩进级别。 函数可以使用return语句来返回结果也可以没有返回值。当函数执行到return语句时它将停止执行并返回结果给调用者。如果函数没有显式的return语句它将默认返回None。 以下是一个简单的函数示例
def add(a, b):这个函数用于将两个数字相加并返回结果return a b# 调用函数并打印结果
result add(5, 3)
print(result) # 输出81.2 调用函数 调用函数是指在代码中使用函数来执行特定的操作。调用函数的语法是在函数名称后面加上括号并将参数传递给函数如果函数定义了参数。
以下是调用函数的基本语法 result function_name(argument1, argument2, ...) function_name是要调用的函数的名称。argument1, argument2, ...是要传递给函数的参数值。 在调用函数时传递的参数值必须与函数定义中的参数顺序一致。如果函数有多个参数可以按照顺序依次传递参数值。如果函数有默认参数可以选择不传递这些参数函数将使用默认值。 以下是一个简单的函数调用示例
def add_numbers(a, b):return a bresult add_numbers(10, 20)
print(result) # 输出结果为 30在这个例子中我们定义了一个名为add_numbers的函数它接收两个参数a和b并将它们相加后返回结果。然后我们调用这个函数并传递参数值10和20得到结果30并打印出来。 2 参数传递
2.1 传递方式 在Python中参数传递可以通过值传递和引用传递两种方式实现。这取决于传递的是不可变对象还是可变对象。
值传递Pass by Value 当传递的是不可变对象如整数、字符串、元组等Python采用值传递方式。在值传递中函数接收到的是实参的副本对形参的修改不会影响到实参。
def modify_number(x):x x 1number 5
modify_number(number)
print(number) # 输出 5函数中对形参 x 的修改不影响原始变量 number引用传递Pass by Reference 当传递的是可变对象如列表、字典等Python采用引用传递方式。在引用传递中函数接收到的是实参对象的引用对形参的修改会影响到实参。
def modify_list(my_list):my_list.append(4)my_list [1, 2, 3]
modify_list(my_list)
print(my_list) # 输出 [1, 2, 3, 4]函数中对形参 my_list 的修改影响原始列表对象需要注意的是在引用传递中如果在函数内部直接对形参进行赋值则会断开与原始对象的引用从而不会影响原始对象。
def modify_list(my_list):my_list [7, 8, 9] # 在函数内部对形参进行赋值断开与原始对象的引用print(my_list)my_list [1, 2, 3]
modify_list(my_list)
print(my_list) # 输出 [1, 2, 3]函数内部的赋值不影响原始列表对象总结Python中的参数传递方式取决于传递的对象是否可变。对于不可变对象采用值传递方式对于可变对象采用引用传递方式。 2.2 形参和实参
形参Formal Parameters 形参是函数定义时在函数名后面括号中定义的参数名称。形参在函数体内充当局部变量的角色它们是函数用来接收外部传递的值的占位符。
在下面的例子中x和y就是形参
def add_numbers(x, y):sum x yreturn sum实参Actual Parameters 实参是函数调用时传递给函数的具体值。它们是真正的数据或对象用来填充函数定义中的形参。在下面的例子中3和5就是实参
result add_numbers(3, 5)当我们调用函数时将实参传递给函数这些实参的值会被复制到对应的形参中然后在函数体内使用。在函数调用结束后函数的局部变量即形参的作用域也结束它们的值不会影响函数外部的变量。 需要注意的是在函数调用时实参的个数和类型必须与函数定义中形参的个数和类型匹配否则会导致错误。 2.3 位置参数 位置参数Positional Arguments 位置参数是最常见的函数参数传递方式它们按照函数定义时的顺序依次接收传递的实参。当调用函数时实参的位置与形参的位置要一一对应。
def add_numbers(a, b):return a bresult add_numbers(3, 5)
print(result) # 输出 82.4 关键字参数 关键字参数Keyword Arguments 关键字参数是指在函数调用时通过指定参数名来传递参数从而不必按照位置依次传递。关键字参数可以让函数调用更加清晰和易读。
def print_info(name, age):print(Name:, name)print(Age:, age)print_info(nameAlice, age30)2.5 可变参数 可变参数是一种特殊的参数类型可以接收不定数量的参数。在Python中有两种类型的可变参数
*args用于接收任意数量的位置参数表示一个元组(tuple)。**kwargs用于接收任意数量的关键字参数表示一个字典(dict)。
def add_all_numbers(*args):total 0for num in args:total numreturn totalresult add_all_numbers(1, 2, 3, 4, 5)
print(result) # 输出 15def print_person_info(**kwargs):for key, value in kwargs.items():print(f{key}: {value})print_person_info(nameAlice, age30, cityNew York)注意在函数定义时位置参数、可变参数和关键字参数的顺序应该是位置参数 - *args - **kwargs。例如 def my_function(a, b, *args, **kwargs):# 函数体以上的参数定义是合法的而且是推荐的顺序。 2.6 为参数设置默认值 在Python中你可以为函数的参数设置默认值这样在调用函数时如果没有传递该参数的值就会使用默认值。 设置默认值的语法是在函数定义时使用等号来为参数指定默认值。
def greet(name, greetingHello):print(f{greeting}, {name}!)# 调用函数时未指定greeting参数将使用默认值
greet(Alice) # 输出Hello, Alice!# 也可以在调用函数时指定greeting参数的值
greet(Bob, Hi) # 输出Hi, Bob!注意事项 默认值参数要放在位置参数之后不然会报错。默认值只在函数定义时绑定一次即每次调用函数时如果不传递对应的参数则会使用之前绑定的默认值。 如果希望默认值参数在每次函数调用时都是新的对象可以使用None作为默认值并在函数体内根据需要处理。 def add_to_list(value, my_listNone):if my_list is None:my_list []my_list.append(value)return my_list# 第一次调用函数
result1 add_to_list(1)
print(result1) # 输出[1]# 第二次调用函数不会影响之前的结果
result2 add_to_list(2)
print(result2) # 输出[2]3 返回值 在Python中函数可以通过return语句返回一个值给调用者。返回值是函数执行完毕后将要传递给调用者的数据。返回值可以是任意数据类型包括整数、浮点数、字符串、列表、字典等。 函数可以没有返回值此时函数执行完毕后默认返回None。如果函数中没有return语句或者return后面没有表达式则函数返回None。
下面是一个示例函数它接收两个参数并返回它们的和
def add_numbers(a, b):sum a breturn sumresult add_numbers(3, 5)
print(result) # 输出结果为 8函数返回了参数3和5的和4 变量的作用域 在Python中变量的作用域是指变量在程序中可以被访问的范围。Python中有三种类型的作用域
4.1 局部变量 变量在函数内部定义的时候其作用域为函数的局部作用域只能在函数内部被访问。
def my_function():x 10 # 局部变量print(x)my_function() # 输出10
print(x) # 报错x在函数外部不可访问4.2 嵌套变量 嵌套作用域是指在一个函数内部有另一个函数定义的情况。内部函数可以访问外部函数中定义的变量。
def outer_function():y 20 # 嵌套作用域变量def inner_function():print(y)inner_function()outer_function() # 输出204.3 全局变量 变量在函数外部定义的时候其作用域为全局作用域可以在整个程序中被访问。
global_variable 30 # 全局变量def my_function():print(global_variable) # 可以在函数内部访问全局变量my_function() # 输出30
print(global_variable) # 输出30其他 在函数内部可以使用global关键字来声明一个变量为全局变量这样在函数内部对该变量的修改也会影响到全局作用域。如下 x 50 # 全局变量def update_global():global xx x 1update_global()
print(x) # 输出51注意在函数内部如果使用来为变量赋值会默认将变量视为局部变量如果想要修改全局变量必须使用global关键字来声明。否则函数内部会创建一个新的局部变量而不会影响到全局变量。 5 匿名函数Lambda函数 在Python中匿名函数也称为Lambda函数是一种特殊类型的函数它允许你创建简单的、一行的函数通常用于定义简单的功能而不需要为它们命名。
Lambda函数的语法如下
lambda arguments: expression其中arguments是参数列表可以是任意个数的参数但只能有一个表达式。Lambda函数的执行结果就是这个表达式的结果。 下面是一个简单的Lambda函数示例
add lambda x, y: x y
result add(3, 5)
print(result) # 输出8在这个例子中我们定义了一个Lambda函数 add它接受两个参数 x 和 y并返回它们的和。
Lambda函数通常用于需要一个简单的函数而不想定义一个完整的函数的情况。例如在排序列表时可以使用Lambda函数来指定排序的关键字
fruits [apple, orange, banana, cherry]
fruits.sort(keylambda x: len(x))
print(fruits) # 输出[apple, cherry, orange, banana]在这个例子中我们使用Lambda函数作为sort()方法的key参数用来指定排序的关键字为字符串的长度。这样fruits列表将按字符串长度从短到长进行排序。