函数 简单整理

函数定义格式 

def name():

  函数体

函数在定义了以后,可以在任何需要它的地方调用。

 

#返回值

#返回值的3种情况

  #没有返回值 -----返回None

    #不写return

    #只写return:结束一个函数的继续

    #return None ------ 不常用

  #返回一个值

    #可以返回任何数据类型

    #只要返回就可以接收到

  #返回多个值

    #用多个变量接收:有多少返回值就用多少变量接收

    #用一个变量接收:得到的是一个元组

 

#参数------>形参,实参

  #没有参数

    #定义函数和调用函数时括号里都不写内容

  #有一个参数

    #传什么就是什么

  #有多少个参数

    #位置参数

###站在实参的角度上:

  #按照位置传参

  #按照关键字传参

  #混着用可以:但是 必须先按照位置传参,再按照关键字传参数

      #不能给同一个变量传多个值

##站在形参的角度上

  #位置参数:必须传,且有几个参数就传几个值

  #默认参数:可以不传,如果不传就是用默认的参数,如果传了就用传递值

 

 

 

#只有调用函数的时候

  #按照位置传:直接写参数的值

  #按照关键字: 关键字 = 值

#定义函数的时候:

  #位置参数:直接定义参数

  #默认参数,关键字参数:参数名 = ‘默认的值’

  #动态参数 : 可以接受任意多个参数

        #参数名之前加*,习惯参数名args,

        #参数名之前加**,习惯参数名kwargs

  #顺序:位置参数,*args(接收多个值形成元组),默认参数,**kwargs(接收多个值形成字典)   

          #记不住撞墙。。。。

 

 

 

 

 

#动态参数有两种:可以接受任意个参数

  #*args :接收的是按照位置传参的值,组织成一个元组

  #**kwargs :接受的是按照关键字传参的值,组织成一个字典

  #args 必须再kwargs之前

#动态参数的另一个传参方式

  def func(*args): #站在形参的角度上,给变量加上*,就是组合所有传来的值。

    print(args)

func (1,2,3,4,5)

L = [1,2,3,4,5]

func(*L)    #站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散

 

 

 

##函数的注释

def func():

  '''

  这个函数实现了某个功能~~~

  参数1:

  参数2:

  :return:是字符串或者列表的长度

  '''

  pass

 

posted @ 2017-12-26 16:24  Carol-z  阅读(162)  评论(0编辑  收藏  举报