python学习 函数(五)

定义函数的方式:python

def 函数名字(参数):
    内容....


#demo
def testDef(x):
     print(x)

testDef(2)

#定义返回参数 return,若是没有执行完毕没有 return,则结果为None
def testDef(x):
    return x*2

#定义空的函数[必须的写上pass,若是不写则会报错信息]:
def testDef(x):
    pass
#,函数预留的时候也能够用pass
def testDef(x):
    if x > 0:
        return x * 2
    else:
        pass

#python函数返回的结果能够存在多个结果
def testDef(x, y):
    if x > 0 and y > 0:
        return 2 *x, 2* y
     else:
        return x,y
print(testDef(1,2))
#返回的结果为:(2, 4)

当返回多个结果的时候,至关于返回的是一个tupl有序列表

函数的参数:app

#带参函数
def power(x):
    print(x)

#默认参数函数[若是传递则按照传递算,若是没有传递则算是默认值,默认参数必须的放到传递参数后面]
>>> def power(x,y=5):
>>>     print(x,y)
>>> power(2) #结果为 2 5
>>> power(2,3) #结果为:2 3

#若是有多个默认参数,能够选择性的赋值可是要带上参数名和参数值
>>> def enroll(name,age=6,sex='男'):
>>>    print(name,age,sex)
>>> enroll('zhangsan')  #zhangsan 6 男
>>> enroll('zhangsan',sex='女')   #zhangsan 6 女

#默认参数的坑
>>> def add_end(l = []):
>>>     l.append('end')
>>>     return l
>>> add_end() #['end']
>>> add_end() #['end']
#缘由:Python函数在定义的时候,默认参数L的值就被计算出来了,即[],由于默认参数L也是一个变量,它指向对象[],每次调用#该函数,若是改变了L的内容,则下次调用时,默认参数的内容就变了,再也不是函数定义时的[]了。
#解决办法:
#一、每次都调用的时候都传递参数add_end([])
#二、定义的时候 默认l = None
>>> def add_end(l=None):
>>>    if l == None:
>>>        l = []
>>>    l.append('end')
>>>    return l

可变参数。。。未完待续。。。。函数

相关文章
相关标签/搜索