【Python】三元表达式和递归

文章目录

  • 三元表达式
  • 递归

三元表达式

目的:把简单的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)

结果如下:
【Python】三元表达式和递归_第1张图片

你可能感兴趣的:(Python,python,开发语言)