(四)、函数

在算术运算中,我们可以用到一系列由未知数构成的函数,包括复变函数、幂函数、指数函数等,在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 函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值