函数的简介:
- 函数封装?个?功能,减少重复代码,实现?功能
函数如何减少代码的重复?
例如:
??start=0
??end=10
??sum=0
??for?i?in?range(start,end):
???????sum+=i
??print(f?'{sum}')
strart,end 是参数;range 是函数
打印出0-10之间的偶数和
打印出0-10之间的总和
打印出0-10之间奇数的总和
什么是Python内置函数?
- 是指在Python解释器中直接可用的函数,无需额外导入模块.以下是一些常用的Python内置函数:
- print():用于将内容输出到标准输出(通常是控制台).
- len():用于返回对象的长度或元素个数,例如字符串的字符数、列表的元素个数等.
- type():用于返回对象的类型.
- int():用于将一个数值或字符串转换为整数.
- float():用于将一个数值或字符串转换为浮点数.
- str():用于将对象转换为字符串.
- list():用于将可迭代对象转换为列表.
- tuple():用于将可迭代对象转换为元组.
- dict():用于创建字典对象.
- set():用于创建集合对象.
- range():用于生成一个指定范围的数字序列.
- input():用于从用户处获取输入.
调用函数需要知道函数名和参数,如果传入的参数不对,会报TypeError的错误并且给出错误信息我可以给你一些常见的Python内置函数的示例:
- print() 函数示例:
print("Hello,?World!")??#?输出:Hello, World!
- len() 函数示例:
my_list?=?[1,?2,?3,?4,?5]
length?=?len(my_list)
print(length)??#?输出:5
- type() 函数示例:
my_variable?=?10
data_type?=?type(my_variable)
print(data_type)??#?输出:
- int() 函数示例:
num_str?=?"123"
num_int?=?int(num_str)
print(num_int)??#?输出:123
- float() 函数示例:
num_str?=?"3.14"
num_float?=?float(num_str)
print(num_float)??#?输出:3.14
- str() 函数示例:
my_number?=?42
number_str?=?str(my_number)
print(number_str)??#?输出:"42"
1.以上只是一部分常见的Python内置函数,还有很多其他有用的内置函数可以在Python官方文档中找到.
2.这只是一小部分Python内置函数的示例,你可以根据需要在代码中使用其他内置函数.
如何?定义?个函数?
- 使用def 函数
def?sum_range(start,end+1)??#然后函数体
函数定义
1.在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号,然后,在缩进块中编写函数体,函数的返回值用return语句返回.如果没有return语句,函数执行完毕后也会返回结果,只是结果为None.return None可以简写为return.
2.end+1是因为range()函数生成的范围是左闭右开区间,简单说包括右终端点
3.函数的名字使用p1-p8,蛇形命名的函数的名字通常使用小写字母,并使用下划线将单词分隔开.
以下是一些示例:
- p1_function()
- p2_calculation()
- p3_process_data()
- p4_print_result()
- p5_validate_input()
- p6_sort_array()
- p7_convert_format()
- p8_handle_error()
函数调?
- ?参数
- 多参数
- ?返回值
- 有返回值
当调用函数时,可以有无参数、多个参数,以及有或无返回值.以下是一些示例:
- 无参数、无返回值的函数调用示例:
def?greet():
????print("Hello,?World!")
greet()??#?输出:Hello, World!
- 多参数、无返回值的函数调用示例:
def?add_numbers(num1,?num2):
????result?=?num1?+?num2
????print("The?sum?is:",?result)
add_numbers(3,?5)??#?输出:The sum is: 8
- 无参数、有返回值的函数调用示例:
def?get_pi():
????return?3.14159
pi_value?=?get_pi()
print(pi_value)??#?输出:3.14159
- 多参数、有返回值的函数调用示例:
def?multiply_numbers(num1,?num2):
????result?=?num1?*?num2
????return?result
product?=?multiply_numbers(4,?6)
print(product)??#?输出:24
这些示例展示了函数的不同调用方式,你可以根据实际需求选择适合的方式来调用函数.而函数的调用:
sum_even=sum_even_of(start,end)
一旦执行到 return 语句,函数将立即结束,无论是否有后续的代码.程序执行到return 语句时,它会立即停止当前函数的执行,并将控制权返回给调用该函数的地方
sum_even=sum_even_of赋值于sum_even实现函数的调用.
print(f'{sum_even}')?很关键.
函数的调用就是把实参传给了形参,参数类型:
- 位置参数
- 关键字参数
- 默认参数
- 任意多参数
位置参数:
sum_even_of(start,end)????????##?sum_even_of(20,50)
#?会写出形参的名称
默认参数
sum_even_of(10)
任意多参数:
*或者**是可变参数,para是一个可变参数,一个星号 我们传入(6,10)赋值于start,end参数通过=解包操作完成赋值.
以下是用一个星号表示可变参数
以下是用两个星号表示可变参数调用方式
在python中最常见的函数方式是位置参数和关键词参数
在python中,位置参数必须在关键词的前面.
位置参数在前面;关键词参数在后面.
实现??分割序列函数
??分割序列函数?被称为斐波那契数列,在?然界中此序列较为常?,它的第?项是1,第?项是1,第三项是2,并且后?各项满?规律:
f(n+2)?=?f(n+1)?+?f(n)
def?fibo(n):
i?=?0
fibo_list?=?[]
while?i?=?2:
thd?=?fibo_list[-1]?+?fibo_list[-2]
fibo_list.append(thd)
i?+=?1
return?fibo_list
如果fibo(5)
[1,?1,?2,?3,?5]
lambda函数
Lambda函数是一种匿名函数,也称为"lambda表达式".它是一种快速定义简单函数的方式,通常用于需要传递函数作为参数或者在代码中定义临时小型函数的情况.
Lambda函数具有以下特点:
- 它是一个单行函数,没有函数名称.
- 它可以接受任意数量的参数,但只能有一个表达式.
- 它返回表达式的结果,而不需要使用return语句.
Lambda函数的基本语法如下:
lambda?arguments:?expression
其中,arguments是函数的参数,可以是一个或多个;expression是函数的返回值,通常是一个简单的表达式.
以下是一些Lambda函数的示例:
- Lambda函数接受一个参数并返回其平方:
square?=?lambda?x:?x**2
print(square(5))??#?输出:25
- Lambda函数接受两个参数并返回它们的和:
addition?=?lambda?a,?b:?a?+?b
print(addition(3,?4))??#?输出:7
- Lambda函数用于对列表中的每个元素进行操作:
my_list?=?[1,?2,?3,?4,?5]
squared_list?=?list(map(lambda?x:?x**2,?my_list))
print(squared_list)??#?输出:[1, 4, 9, 16, 25]
Lambda函数通常与其他函数(例如map()、filter()等)一起使用,以提供简洁、灵活的函数定义和操作