定义函数的方式: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
可变参数。。。未完待续。。。。函数