函数参数

一 .python中函数定义:函数是逻辑结构化和过程化的一种编程方法

python 中函数定义方法:(为了完成某一个特定的功能而存在的)

def 函数名(参数):
  
  ...
  函数体
  ...
  返回值

函数的定义主要有如下要点:

def:定义函数的关键字
函数名:日后根据函数名调用函数
():内可定义形参,为函数提供数据
函数体:函数中进行一系列的逻辑运算,如发送邮件;计算出[22,33,44,55,66]中的最大数等...
" " :文档描述(非必要,但强烈建议为你的函数添加描述信息)即注释
x+=1:泛指代码块或程序处理逻辑
return:定义返回值,当函数执行完毕后,可以给调用者返回数据






调用运行:可以带参也可以不带
函数名()

使用函数的好处:
1.减少代码重用
2.保持一致性,易维护
3.可扩展性

 

二.函数和过程

过程定义:过程就是简单特殊没有返回值的函数(python过程也是函数)

def test02():
    msg = 'hello DaLang'
    print(msg)
    return msg


def test03():
    msg = 'CongHui'
    print(msg)
    return 1, 2, 3, ['dream'], {'name': 'alex'}


t1 = test01()
t2 = test02()
t3 = test03()
print(t1)
print(t2)
print(t3)

总结:

  返回值数=0:返回None

  返回值数=1:返回oinject

  返回值数>1:返回y

三.函数参数

1.形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数的内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

2.实参可以是常量/变量/表达式/函数等,无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值,以便把这些值传给形参。因此应预先用赋值,输入等办法使参数获得确定值。

# 改成用函数写
def calc(x,y):                   #形参
    res = x**y                 #**表示平方
    return res                  #函数遇到return 结束
c = calc (3,3)                   #实参
print (c)

3.位置参数和关键字(标准调用:实参与形参位置一一对应;关键字调用:位置无须固定)

#位置参数,必须一一对应,缺一不行多一也不行
def test(x,y,z):
print(x)
print(y)
print(z)
test (1,3,6)
    
#关键字参数,无须一一对应,缺一不行多一也不行
def test(x,y,z)
print(x)
print(y)
print(z)
test(x=6,y=5,z=7)
#位置参数必须在关键字参数左边
test(1,y=2,3)  #报错
test(1,3,y=2)   #报错
test(1,3,z=2)
test(1,3,z=2,y=4)   #报错

4.默认参数:

def handle(x,type=None):
    print(x)
    print(type)
handle("hello")

5.参数组:*列表     **字典

def test(x,*args):
    print(x)
    print(args)
    print(args[2])
test(1,2,3,4,5,6)


#关键字参数
def test(x,**kwargs):
print(x)
print(kwargs)

test(2,y=2,z=3)
#test(1,y=2,z=3,z=3)#报错:一个参数不能传两个值


def test(x,*args,**kwargs):
  print(x)
  print(args,args[-1])
  print(kwargs,kwargs['y']
test(1,2,3,4,5,y=8,z=7)

 

posted @ 2019-05-13 10:47  clever1  阅读(178)  评论(0编辑  收藏  举报