python 函数编程的位置参数、默认参数、关键字参数以及函数的递归

2019-02-14 16:15:06 浏览数 (1)

首先对于函数调用:

代码语言:javascript复制
!usr/bin/env python
_*_ coding:utf-8 _*_
def  AQA(INPUT):
    if INPUT=='hello world':
        #在输入正确的情况下,不想让其调用hello_again()函数,
        #法一: 可利用返回值(return)进行判断
        #法二:可将函数放在else下执行
        print('你好,世界')
        return 'right'
    else:
        print('世界毁灭了')
        return 'wrong'   #如果retrun放在世界毁灭的前面则不会执行print
        #hello_again()#法二

def hello_again():
    print('大不了从头再来')
if __name__=='__main__':
    INPUT=input('33[1;31;40m请输入您的问好语:')
    res=AQA(INPUT)
    #法一
    if res=='wrong':
        hello_again()
    else:
        print('hello boy')

结果如下:具体可以自行修改参数测试

**

其次关于位置参数与关键参数的设置:

** 注意关键参数是转化为dict(key对应value),位置参数是元组形式

代码语言:javascript复制
#函数式变成

def fun(start,end='2017',where='shanghai'):
      print(start,'_',end,where)

if __name__=='__main__':
      print('')
      fun(2000,2012)
      fun(2000,where='beijing',end=2006)

其他方面可以参考博客: python 函数编程的形参、实参、位置参数、默认参数、关键字参数以及函数的递归

可变参数:

代码语言:javascript复制
#可变参数*  代表将参数处理成列表
#可变参数**  代表将参数处理成字典,如果直接定义一个字典直接调用需要show2(**dict)必须含有两个**

def show1(*args):
      for item in args:
            print(item)
show1('a','b','v')

def  show2(**kwargs):
      for item in kwargs.items():
            print(item)
show2(name='zhongguo',age='56')

0 人点赞