导语:今天学习下函数!
函数的参数
函数的参数分为两种:实际参数(也称为实参)和形式参数(也称为形参)。
形式参数
形式参数是在函数定义时指定的参数,它们定义了函数可以接收哪些值。例如,在函数 fun1(a, b)
中,a
和 b
就是形式参数。
def fun1(a, b):
print(a + b)
实际参数
实际参数是在调用函数时传递给函数的值。例如,在 fun1(1, 2)
中,1
和 2
就是实际参数。
函数的默认值
Python 允许函数为参数设置默认值。这意味着如果调用函数时没有提供相应的实参,函数将使用默认值。
def fun2(c=100, d=200):
print(c + d)
调用 fun2()
时,如果没有提供实参,c
和 d
都会使用默认值。
指定参数值
如果调用函数时只提供了一个实参,Python 会认为这是第一个参数的值,第二个参数使用默认值。
fun2(1) # 相当于 fun2(1, 200)
如果提供了两个实参,Python 会使用这两个值,不使用默认值。
fun2(1, 2) # 相当于 fun2(1, 2)
如果只想为某个参数提供值,可以进行赋值。
fun2(d=1000) # 相当于 fun2(100, 1000)
函数的返回值
函数通过 return
语句返回值。返回值可以是单个值,也可以是多个值(实际上是返回一个元组)。
pop方法举例:
l1 = [1, 2.1245, [3, 4, 5], (1, 2), {'a': 100}]
print(l1.pop()) # pop 函数有返回值,返回最后一个值
remove
方法举例:
- 如果列表中存在指定值,那么该值对应的第一个元素会被移除,并且该方法不返回任何值(或者说返回
None
)。 - 如果列表中没有找到指定值,Python 会抛出一个
ValueError
异常。
remove
方法找到了值为 1
的元素,并将其从列表中移除了,因此方法没有返回值,所以打印结果是 None
。
l2 = [1, 2.1245, [3, 4, 5], (1, 2), {'a': 100}]
print(l2.remove(1)) # 输出: None
print(l2) # 输出: [2.1245, [3, 4, 5], (1, 2), {'a': 100}]
在第二行打印 l2
的内容时,你可以看到 1
已经被从列表中移除了。
返回值类型
如果函数返回多个值,这些值将自动组成一个元组。
def fun3(a, b):
if a > b:
return 'a比较大', b
else:
return 'b比较大', a
result1 = fun3(100, 200)
print(result1) # 输出 ('a比较大', 200)
返回值后的代码不会执行
一旦函数执行了 return
语句,函数就会立即退出,return
之后的代码不会被执行。
def fun5(a, b):
if a > b:
return 'a比较大', b
print("return之后的内容不打印")
else:
return 'b比较大', a
result3 = fun5(100, 200)
print(result3) # 输出 ('b比较大', 100)
内置函数:Python 的内置函数
Python 自带了一系列可以直接使用的内置函数。让我们看一些常见的例子。
input()
函数
input()
函数允许程序接收用户的输入,并默认将输入作为字符串处理。
s = input('请输入值:')
print('打印出来的是{},打印出来的数据类型{}'.format(s, type(s)))
无论用户输入什么,input()
总是返回一个字符串。
int()
函数
int()
函数用于将字符串或其他类型的值转换为整数。
s1 = int(input('请输入值:'))
print('打印出来的是{},打印出来的数据类型{}'.format(s1, type(s1)))
如果输入的是一个数字字符串,int()
将其转换为整数。
len()
函数
len()
函数返回对象(如列表、字符串等)的长度。
s2 = [1, 2.1245, [3, 4, 5], (1, 2), {'a': 100}]
print(len(s2))
这里,len(s2)
返回列表 s2
的元素数量。
自定义函数
自定义函数是通过 def
关键字定义的,可以用来封装可重复使用的代码块。
def function1():
print('hello word')
function2()
def function2():
print('hello cuicui')
function1()
在这个例子中,function1()
调用了 function2()
。
可变长度参数:灵活的函数定义
Python 允许函数接收可变数量的参数,这是通过 *args
和 **kwargs
实现的。
*args
:可变长度参数
使用 *args
可以让函数接收任意数量的位置参数,这些参数在函数内部被当作元组处理。
def fun1(*args):
print(args)
fun1(1, 2, 3, 4, 5)
这里,所有传入的参数都被 args
作为一个元组收集。
**kwargs
:关键字参数
**kwargs
允许函数接收任意数量的关键字参数,这些参数在函数内部被当作字典处理。
def fun1(**kwargs):
return kwargs
result = fun1(name='cuicui', age=18)
print('返回的内容是{},返回的格式是{}'.format(result, type(result)))
这里,fun1()
接收了两个关键字参数,并返回了一个字典。
函数的返回值
函数可以通过 return
语句返回值。返回的可以是单个值,也可以是多个值(实际上返回的是元组)。
def fun4(a, b):
if a > b:
return a, b
else:
return b, a
result = fun4(100, 200)
print('打印出来的值是{},打印出来的值的数据类型是{}'.format(result, type(result)))
在这个例子中,根据 a
和 b
的大小,fun4()
返回了两个值。
return
之后的代码不会执行
一旦函数执行了 return
语句,函数就会立即退出,return
之后的代码不会被执行。
def fun5(a, b):
if a > b:
return a, b
print("return之后的内容不打印")
else:
return b, a
result = fun5(100, 200)
print('打印出来的值是{},打印出来的值的数据类型是{}'.format(result, type(result)))
在这个例子中,print("return之后的内容不打印")
不会被执行。
总结
下次见,拜拜~