python自定义函数和推导

时间:2021-02-18 19:38:14

#之所以把这俩写一起,并不是因为这俩有什么关系,因为都太简单,没什么可说的

#自定义函数的格式,def开头,后面空格,在后面是函数名,接括号,括号里是入参参数

 #!/usr/bin/python
# coding: UTF-8 def abc(num):
if num > 10:
return
print num
num += 1
abc(num) if __name__ == '__main__':
abc(1)

结果是1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n

说明下,这里有个递归,递归在代码里最好不要出现,因为每递归一次都会占用的内存都会累加递增,因此如果可以,尽量把递归改成循环例如这个例子,可以改成下面这样

#!/usr/bin/python
# coding: UTF-8 def abc(num):
while num > 10:
print num
num += 1
return if __name__ == '__main__':
abc(1)

这样就可以了

再看看推导,就说下for的把,其他的忘了,以后想起来再加

a = range(10)
b = []
for i in a:
i += 1 #每个元素加1
b.append(i) #把i加到空list,b中
print b #结果是[1,2,3,4,5,6,7,8,9,10]
#推导变成
b = [i+1 for i in a]
#还可以加入if
b = [i+1 for i in a if i > 3] #取a里面>3的数,结果是[5,6,7,8,9,10]