Eighth 函数/

面向过程编程:1、代码重复性多 2、代码的可读性差

函数式编程:函数:一个函数是封装一个功能

1、函数的基本结构:

def date():    
    print('xxx')
date()    #函数的执行者(调用者)

  函数中遇到return直接结束。

  return 给函数的执行者(调用者)返回值:

      单独return 返回None

      return 单个值 ——> 单个值(数据类型不变)

      return 一个列表 ——> 返回一个元祖(多个值)

      return 多个值 ——> 可用多个对象接收(是原数据类型)

2、函数的参数:

def date(a,b):    #函数的定义:形参,形式参数
    print(a,b)

date(1,2)    #函数的执行者:实参,实际的参数
#实参:
#位置参数:必须与形参角度的位置参数,从左至右一一对应
#三元运算符:
ret = a if a > b else b

#实际就是:
if a > b :
    ret = a
else:
    ret = b
print(ret)

  关键字参数:一一对应关键字,可以不按顺先

def date(sex,position,soft):
    print('%s,%s,%s' % (soft,position,sex))

date(soft='', sex='girl', position='深圳')

  混合参数(位置参数,关键字)#位置参数一定要在关键字参数前面

def date(meetplace,sex,position,soft):
    print('%s,%s,%s,%s' % (soft,position,sex,meetplace))

date('酒吧',soft='', sex='girl', position='深圳')

  默认参数:给形参设置默认值,通常是常用的数值,但是可以更改 #默认一定要在位置后面

def date(meetplace,sex,position,soft=''):
    print('%s,%s,%s,%s' % (soft,position,sex,meetplace))

date('酒吧', sex='girl', position='深圳')

    默认参数陷阱:默认参数指向的是一个容器性数据类型,该数据在内存中永远是同一个

  万能参数:两个形参参数,接收所有的位置参数,关键字参数

def date(*args, **kwargs):
    print(args)
    print(kwargs)
date('南山区','18~30','24',positon='深圳南山区',sex='laddyboy'

 

posted @ 2018-12-28 15:04  pythonernoob  阅读(105)  评论(0)    收藏  举报