python基础知识(函数)

#新星杯·14天创作挑战营·第11期#

通过前两节python基础知识博文让我们了解了python的基础知识,本节博文让我们一起学习一下函数知识。如果博文对您有用,请记得关注、点赞哦。

1.函数调用

Python内置了很多有用的函数,我们可以直接调用。
要调用一个函数,需要知道函数的名称和参数,比如获取变量类型的type(),调用type函数如下:

1.1.普通函数

>>> result = "字符串"
>>> print(type(result))
<class 'str'>

type函数不仅可以接收自定义变量,也可以接收自定义函数名。如下:

>>> def test():
>>>    print(111)
>>> print(type(test))
<class 'function'>

也有python内置的函数可以接收任意多个参数的,那就是math,它可以返回任意参数中最大的值。如下:

>>> result1 = max(1, 2, 3)
>>> print(result1)
1
>>> result2 = max(10, 4, 5, 8, 9)
>>> print(result2)
10

1.2.数据转换

Python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数:

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False

2.自定义函数

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

2.1.普通函数

我们以自定义一个求绝对值的my_abs函数为例:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

print(my_abs(-100))

打印出来的值为:

100

请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。举例子:

def my_abs(x):
    return
    
print(my_abs(-100))

打印出来的值为:

None

尽快我们将自定义函数定义了最终的返回值类型,依然会返回None,举例子:

def my_abs(x) -> str:
	return
print(my_abs(-99))

打印出来的值为:

None

2.2.空函数

如果我们想定义一个什么不都不做的函数,可以使用pass关键词来表示,举例子如下:

def test():
    pass
    
print(test())

打印出来的返回值为:

None

2.3.返回多个值

函数可以返回多个值吗,答案是肯定的。举例子:

def point(x, y):
	nx = x + 1
	ny = y - 1
	return nx, ny

re1, re2 = point(1, 2)
print("re1:{}=>re2:{}".format(re1, re2))

此时在自定义函数point函数体内return了2个返回值,返回值与返回值之间使用逗号隔开。
打印返回的值为:

re1:2=>re2:1

3.函数参数

3.1.位置参数

先写一个计算x2的函数:

def power(x):
    return x * x

对于power(x)函数,参数x就是一个位置参数。
当我们调用power函数时,必须传入有且仅有的一个参数x:

>>> print(power(10))
100

3.2.默认参数

默认参数是指定义函数参数是,给与参数默认值,举列子:

def student(name, sex, age=6):
	print('name:', name)
	print('sex:', sex)
	print('age:', age)


student("liyang", "man")

输出打印的内容为:

name: liyang
sex: man
age: 6

此时给予函数参数age默认值了。在调用函数的时候,只需要传输name,sex参数值即可。

4.递归函数

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

举个例子,我们来计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示,可以看出:

fact(n)=n!=1×2×3×⋅⋅⋅×(n−1)×n=(n−1)!×n=fact(n−1)×n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。

于是,fact(n)用递归的方式写出来就是:

def fact(n):
    if n==1:
        return 1
    return n * fact(n - 1)
re = fact(10)
print(re)

此时打印的内容为:

3628800
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuxxto56

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值