函数
函数的定义及其格式
函数的定义:
函数是组织好的,可重复使用的,用来实现独立功能的代码段。
函数可以提高程序代码的重用率。
函数关键字def有两个功能:它可以创建一个函数对象,然后把这个函数对象赋值给一个变量(即我们的函数名)。
函数的注意事项:
(1).函数名称必须遵循 标识符 规则 数字,字母,下划线,并且不能以数 字开头,不能使用关键字。
(2).函数先定义后调用。
(3).函数不调用是不执行的。
(4).函数可以调用多次
函数的格式:
1,不带参函数:
def fo():
print('你好,世界')
print('你好,中国')
fo()
输出结果为:
注意事项:
2,带参函数:
ef fo(a):
i=1
sums = 0
while i <=a:
sums +=i
i+=1
print(sums)
fo(10)
输出结果为:
注意事项:
(1)调用的时候,这个函数定义时有几个参数,就需要传递几个参数
参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
(2)定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”
3,定义带返回值的函数
def showplus(x):
print(x)
return x + 1
num = showplus(6)
add = num + 2
print(add)
输出结果为:
注意事项:
(1).如果函数不写返回值,默认返回None
(2).return 关键字有两个作用,一个作用是返回内容,另一个作用是结束此方法(return后面的代码不会执行,因此一般不建议在return后面写代码)。
定义函数有哪些方式?
1,位置参数
调用函数时根据函数定义的参数位置来传递参数。顺序不可变。
ef go(num1,num2):
total = num1 +num2
print(total)
go(20,32) #52
两个参数的顺序必须一一对应,且少一个参数都不可以
2,关键字参数
有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序的
def sum_2_num(num1,num2):
total = num1 +num2
print(total)
sum_2_num(num2=20,num1=32) ##52
3,默认参数
参数提供默认值。所有位置参数必须出现在默认参数前,包括函数定义和调用
def user_info(b1,b2,b3=None):
b=b1,b2,b3
print(b)
user_info('王一',20)
user_info('王二·',21)
# 使用位置参数传送值时将不会使用默认参数
user_info('王麻子',22,'man')
4,可变参数
不确定调用的时候会传递参数的个数。
元组参数
通过给形参前面添加*使参数变成一个元组,所有传递的参数变成元组的元素
注意: args参数名称可以任意命名,但是一般我们叫他 args。
# 元祖参数*args
def func(*args):
print(args)
print(args[0],args[1])
func(1,2,3,4)
字典参数
通过给形参前面添加**使参数变成一个字典,所有传递的参数变成字典的键值对,这里传参要求键等于值的形式。
# **kwaregs结果类型是字典,传递是以key = value方式传入
def func(**kwargs):
print(kwargs)
print(kwargs['name'],kwargs['age'],kwargs['gender'])
func(name='王一',age=18,gender='男')
参数总结
定义函数时参数的顺序: 位置参数,元组参数,默认参数,字典参数。