在算术运算中,我们可以用到一系列由未知数构成的函数,包括复变函数、幂函数、指数函数等,在Python程序编写的过程中,也可以运用一系列的函数,包括可以直接调用的库函数以及自定义函数。
定义函数的作用在于可以随时调用,而不用再用代码呈现所需要实现的功能
(一)、自定义函数
在数学中,函数中变量有自变量和因变量之分,例如一个一元一次方程:y=ax+b,y是因变量,x是自变量那么在Python中,Python里的函数可以没有输入值,也就是没有自变量,但是一定会有一个返回值,也就是因变量。
在Python中,可以使用def关键字来定义函数。函数由函数名和代码块组成,其中函数名是标识符,它用于调用函数。代码块中包含了函数的操作。
例如:
def f(n): #定义一个函数名为f,输入的变量参数为n的函数,冒号必不可少
1
def f(): #定义一个函数名为f,无输入变量参数的函数,冒号必不可少
1
然后经过一系列的处理后,使用return引出返回值,例如:
def f(a,b):
if a>b:
a,b=b,a
return b
这个函数的作用是输入a,b两个值,返回其中较大的值
当如上定义完一个函数之后,接下来就需要调用函数了,调用函数时,只需要写出函数名和需要调用的变量参数,例如:
def f(a,b):
if a>b:
a,b=b,a
return b
m=14
n=26
print(f(m,n))
在这段程序中,调用了定义的f函数,需要传入的变量参数为m和n.
值得注意的是,有的时候在函数体内部和外部可能会同时存在变量,当变量名相同时,并不相互影响。
def f(n):
a=10
b=12
for i in range (n):
c=a+b
a=b
b=c
return b
a=eval(input())
print(f(a))
在这串代码中,函数体里有一个变量a,主程序也有一个变量a,都是二者不相互影响。
(二)、内置函数
在Python中有很多其自带的函数,也有很多库函数,需要调用相关的库。
不用调用库,可以直接使用的函数。
最常用的包括math库、csv库、lambda库(主要用于创建匿名函数)、random库等,也有不需要库直接可以使用的函数,主要有如下几种:
max()求最大值,括号里可以是一系列数字,也可以是一个列表max(1,5,8,9)或max([1,5,8,9,6])
min()求最小值,使用方法如上
sorted()和sort()一般用于组合数据类型,如列表等不同在于:
sort() 和 sorted() 都是 Python 中用于排序的函数,但它们在使用上有区别。
sort() 属于列表对象的方法,会直接对原列表进行排序,不会生成一个新的列表。例如:
numbers = [3, 2, 1]
numbers.sort()
print(numbers) # 输出 [1, 2, 3]
sorted() 是 Python 内置函数,会返回一个新的排序后的列表,原列表不受影响。例如:
numbers = [3, 2, 1]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出 [1, 2, 3]
此外,还有一些其他的区别:
- sort() 是方法,需要在列表对象上调用,而 sorted() 是函数,可以对任何可迭代对象排序。
- sort() 的返回值是None,即它只是对原列表进行排序处理,没有返回值;而 sorted() 返回一个新的排好序的列表。
- sort() 可以接收一些参数(例如key 和 reverse)来指定排序方式,而 sorted() 则只接受一个可迭代对象作为参数。例如:
a.sort()#a为变量名,直接使用排序从小到大`
a.sort(reverse=True)#a为变量名,排序从大到小
因此,如果需要排序一个列表且不需要保留原来的顺序,则可以使用 sort() 方法;如果需要保留原来的顺序或者需要对任何可迭代对象排序,则可以使用 sorted() 函数。
len()求数据类型的长度,应用于字符串、列表等len(‘aefcwcg’)或len([7,8,5,9,8,6])
sum()求括号内元素的和,必须为数值型sum(4,5,8,6,1,18)或sum([7,4,5,6,9,7])
abs()求括号内元素的绝对值
匿名函数
匿名函数,也被称为 Lambda 函数,是一种没有函数名的函数。它在需要一个简单的函数但不想费神去定义函数名的情况下很有用。可以将匿名函数作为参数传递给其他函数或直接调用。
Lambda 函数