目的:把简单的if判断写成一行。
语法:结果1 if 条件 else 结果2
(判断条件是否为真,如果真,返回结果1,否则返回结果2)
a = input('input an int>>>')
b = input('input another int>>>')
r = a if a > b else b
print(r)
本质: 函数自己调用自己
import sys
print(sys.getrecursionlimit()) # python最大的递归深度默认是1000
sys.setrecursionlimit(3000) # 修改最大递归深度,超过会报错
def func():
print('I love you!')
func()
func()
递归可以完美的遍历一个文件夹,代码如下:
import os
def read(path, level): # path是文件夹路径
lst = os.listdir(path) # 用来遍历该文件夹
for name in lst:
# 需要拼接出正确的文件路径
real_path = os.path.join(path, name)
if os.path.isdir(real_path):
# 判断是文件夹,进入递归
print('-'*level, name)
read(real_path, level+1)
else:
# 判断是普通文件,直接打印
print('-'*level, name)
read('./recursion', 1)