网站注销申请表,鞍山建站,如何创建一个站点,中国建设银行网站e路#x1f973;#x1f973;Welcome Huihuis Code World ! !#x1f973;#x1f973; 接下来看看由辉辉所写的关于Python的相关操作吧 目录
#x1f973;#x1f973;Welcome Huihuis Code World ! !#x1f973;#x1f973; 一.函数
1.函数与方法的区别
2.函数的定… Welcome Huihuis Code World ! ! 接下来看看由辉辉所写的关于Python的相关操作吧 目录
Welcome Huihuis Code World ! ! 一.函数
1.函数与方法的区别
2.函数的定义
3.函数的传参
4.函数的返回值
5.函数的运用
二.lambda表达式 一.函数 1.函数与方法的区别 函数是独立的代码块可以在任何地方调用。方法是与对象相关联的只能通过对象调用 函数可以接受任意数量的参数包括可选参数和默认参数。方法通常只接受一个参数即对象本身 函数可以返回任何类型的值包括None。方法通常返回与对象相关的值 函数可以定义在模块级别或类级别。方法只能定义在类级别 ⭐⭐总之函数是独立的代码块可以在任何地方调用而方法是与对象相关联的只能通过对象调用直接调用的是函数 通过对象点出来的是方法 2.函数的定义 语法 def function_name(parameters):docstring# function bodyreturn value#function_name是函数的名称
#parameters是函数的参数列表可以是任意数量的参数用逗号分隔
#函数体是由缩进的代码块组成可以包含任意数量的语句
#return语句用于返回函数的结果可以省略如果省略则函数返回None 演示 #定义函数
def add(x, y):Return the sum of x and y.return x y#调用函数
result add(2, 3)
print(result) # Output: 5 3.函数的传参 位置参数传递按照函数定义时参数的顺序依次传入参数值 def add(x, y):return x yresult add(1, 2) # 位置参数传递
print(result) # 输出 3 关键字参数传递通过指定参数名来传递参数值可以不按照函数定义时参数的顺序传递参数 def add(x, y):return x yresult add(y2, x1) # 关键字参数传递
print(result) # 输出 3 默认参数传递在函数定义时为参数指定默认值调用函数时可以不传递该参数使用默认值 def add(x, y2):return x yresult1 add(1) # 默认参数传递
result2 add(1, 3) # 位置参数传递
print(result1) # 输出 3
print(result2) # 输出 4 可变参数传递在函数定义时使用*args语法可以接收任意数量的位置参数将它们作为元组传递给函数 def add(*args):result 0for arg in args:result argreturn resultresult1 add(1, 2, 3) # 可变参数传递
result2 add(1, 2, 3, 4, 5)
print(result1) # 输出 6
print(result2) # 输出 15 关键字可变参数传递在函数定义时使用**kwargs语法可以接收任意数量的关键字参数将它们作为字典传递给函数 def print_info(**kwargs):for key, value in kwargs.items():print(f{key}: {value})print_info(nameAlice, age18) # 关键字可变参数传递
# 输出
# name: Alice
# age: 18 4.函数的返回值 ①返回值不限类型所以不需要指定返回类型 ②使用 return 关键字 ③可以通过元组的形式返回多个值 5.函数的运用 ①函数嵌套 #题目需求定义求和函数在求和函数上完成平均值函数def sum_numbers(numbers):求和函数result 0for number in numbers:result numberreturn resultdef average_numbers(numbers):平均值函数sum_result sum_numbers(numbers)return sum_result / len(numbers)numbers [1, 2, 3, 4, 5]
sum_result sum_numbers(numbers)
average_result average_numbers(numbers)
print(sum_result) # 输出 15
print(average_result) # 输出 3.0 ②变量的作用域区分 ▲全局变量是在函数外部定义的变量可以在程序的任何地方访问 x 10 # 全局变量def print_x():print(x) # 可以访问全局变量xprint_x() # 输出 10#变量x是在函数外部定义的因此它是全局变量。在print_x函数中我们可以直接访问全局变量x ▲局部变量是在函数内部定义的变量只能在函数内部访问 def print_x():x 10 # 局部变量print(x) # 可以访问局部变量xprint_x() # 输出 10#变量x是在print_x函数内部定义的因此它是局部变量。在函数外部无法访问局部变量x 需要注意的是如果在函数内部使用了与全局变量同名的变量那么该变量会被视为局部变量而不是全局变量 x 10 # 全局变量def print_x():x 20 # 局部变量与全局变量同名print(x) # 访问局部变量xprint_x() # 输出 20
print(x) # 输出 10访问全局变量x#虽然全局变量x的值为10但是在print_x函数内部我们定义了一个同名的局部变量x
#因此在函数内部访问的是局部变量x的值而不是全局变量x的值
#在函数外部访问x时仍然访问的是全局变量x的值 二.lambda表达式 定义相当于匿名函数可以简化目前的函数在 java 中的流式操作与函数接口有体现 使用场景及示例 ①排序lambda表达式可以作为sorted函数的key参数用于指定排序规则 使用lambda表达式按照字符串长度对列表进行排序 words [apple, banana, cherry, date]
sorted_words sorted(words, keylambda x: len(x))
print(sorted_words) # 输出 [date, apple, banana, cherry] ②过滤ambda表达式可以作为filter函数的第一个参数用于指定过滤规则 使用lambda表达式过滤出列表中的偶数 numbers [1, 2, 3, 4, 5, 6]
even_numbers list(filter(lambda x: x % 2 0, numbers))
print(even_numbers) # 输出 [2, 4, 6] ③映射lambda表达式可以作为map函数的第一个参数用于指定映射规则 使用lambda表达式将列表中的元素平方 numbers [1, 2, 3, 4, 5]
squared_numbers list(map(lambda x: x ** 2, numbers))
print(squared_numbers) # 输出 [1, 4, 9, 16, 25] ④函数传参lambda表达式可以作为函数的参数用于指定函数的行为 def apply_operation(operation, x, y):return operation(x, y)result apply_operation(lambda x, y: x y, 1, 2)
print(result) # 输出 3 好啦今天的分享就到这了希望能够帮到你呢