python的函数

1.函数的基本结构

把N行代码定义成一个变量,后面直接调用变量即可.

可读性强,可重用性强.

 #关键字   变量名:
 def  变量名(形参):
    函数体#保持缩进一致
    return "可以加返回值"#返回值默认是none
变量名(实参)#调用函数

2.函数的返回值

函数是没有返回值的,默认是None

def 函数名():	#定义
	函数体
   	return x	#返回值x,不填默认None,函数运行到返回值便不再往下运行,
print(函数名())	#调用函数,输出返回值
del 函数名():
    函数体
    return 6,7,"alex"
#如果return后面跟的是多个值,这时默认返回的是元组类型
#如果是运算类型则先运算再返回

3.函数的参数

实参角度:

  1. 位置参数。
  2. 关键字参数。
  3. 混合参数。

形参角度:

  1. 位置参数。
  2. 默认参数。
  3. 动态参数。
  4. 仅限关键字参数。(了解)

1.位置传参,

​ 按位置挨个代入,要从左往右按照顺序,一一对应,不能多或少

def func(a1,a2):
    函数体
func(1,2)	#a1=1,a2=2

2.关键字传参

  • 位置传参在前,关键字在后
  • 要一一对应,不能多或少
def func(a,b,c):
    函数体
func(1,2,c=3)	#c=3是关键字参数

3.默认参数

def func(a,b=2,c=3):
    函数体
func(1)	#b默认等于2,c=3,传入其他值则修改.
#此时a为1,b和c为默认值,
func(1,2,3)
#此时a为1,b为2,c为3

4.万能参数

  1. *args接收多个位置参数

    • 只支持位置传参

      def func(*args):
          print(args)
      func(1)#输出的结果是(1,)是元组类型
      fun((1,2,3))#输出的结果是((1,2,3),)嵌套元组
      fun(*(1,2,3))#输出的结果是(1,2,3)元组
      
      
      def fun(a1,*args):
          print(a1,args)
      fun(1,2,3)#其中a1是1,args是(2,3)
      #不能用关键字传参.万能参数放在后面
      
      def func(*args,a2):
          print(args,a2)
      func(1,2,3,4,5,a2=1)形参关键字在后面时可以用关键字传
      #输出为(1,2,3,4,5)1
      
  2. **kwargs接收多个关键字参数

def func(**kwargs):
    print(kwargs)
func(name="alex",age=40)
#输出的结果为字典
#{"name":"alex","age":40}
原文地址:https://www.cnblogs.com/nieice/p/11042040.html