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有序列表

函数的参数:

#带参函数

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的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。

#解决办法:

#1、每次都调用的时候都传递参数add_end([])

#2、定义的时候 默认l = None

>>> def add_end(l=None):

>>> if l == None:

>>> l = []

>>> l.append('end')

>>> return l

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值