python函数

函数定义:  

  函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。

函数作用:

  1,减少重复代码;

  2,方便修改,更衣扩展

  3,保持代码一致性

语法格式:

  

def 函数名(参数列表):

    函数体

  

命名规则

  • 函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;
  • 函数名是区分大小写的。
  • 函数名不能是保留字。

参数:

形参:

  形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参(实参个数,类型应与实参一一对应)

实参:

  实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参   

区别:

  形参是虚拟的,不占用内存空间,形参变量只有在被调用时才分配内存单元,实参是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参

函数的参数

  • 必备参数
  • 关键字参数
  • 默认参数
  • 不定长参数

必备参数:
  必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

def info(name,age):
 
    print('I am %s,I am %d'%(name,age))
 
info('张浩',18)

 

关键字参数:

  关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

def info(name,age):
 
    print('I am %s,I am %d'%(name,age))
 
info(name='张浩',age=18)

  

缺省参数(默认参数):

  调用函数时,缺省参数的值如果没有传入,则被认为是默认值。

def info(name,age,sex='male'):
 
    print('Name:%s'%name)
    print('age:%s'%age)
    print('Sex:%s'%sex)
info('张浩','18')
 

  

不定长参数:

  你可能需要一个函数能处理比当初声明时更多的参数。这样的参数叫做不定长参数:*args  **kwargs

  加了星号(*)的变量名会存放所有未命名的变量参数,*args体现args为不定长元组。而加(**)的变量名会存放命名的变量参数,**kewrgs体现为kwargs为不定长字典。

  

# *argsdef add(*tuples):
    sum=0
    for a in tuples:
        sum += a
   
    return sum
  
print(add(1,4,6,9))
print(add(1,4,6,9,5))

# **keargs

def print_info(**kwargs):
 
    print(kwargs)
    for i in kwargs:
        print('%s:%s'%(i,kwargs[i]))
 
    return
 
 print_info(name='张浩',age=18,sex='male',hobby='girl')

  

 函数返回值:

要想获取函数的执行结果,就可以用return语句把结果返回

注意:

  • 函数在执行过程中只要遇到return语句,就会停止执行并返回结果,也可以理解为 return 语句代表着函数的结束
  • 如果未在函数中指定return,那这个函数的返回值为None  
  • return多个对象,解释器会把这多个对象组装成一个元组作为一个一个整体结果输出。

高阶函数:

1,函数名可以作为参数输入;

2,函数名可以作为返回值。

原文地址:https://www.cnblogs.com/zzzhao/p/11373498.html