Python函数模块多个API的实现

本文介绍了如何在Python中为函数设置默认值,实现参数的可选性。通过示例`print_lol`函数展示了如何在打印时选择是否进行缩进。此外,还进一步扩展了函数,增加了新的参数,使用户可以选择是否使用缩进功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果为函数参数提供一个缺省值,可以实现参数的可选择性

"""  定义一个函数,可以实现列表中的嵌套列表的缩进,缺省参数值,实现函数参数的可选择",默认情况下为缩进"""
def print_lol (the_list,level = 0):
    for(each_item) in the_list:
        if isinstance(each_item,list):
            print_lol(each_item,level + 1)
        else:
            """ range()实现迭代固定次数"""
            for top_stop in range(level):
                print("\t",end='')
            print(each_item)

print_lol函数的实现;

""" 调用nester模块,实现print_lol函数"""
import chapter2.nester
movies = ["The Holy Grail","1975","TerryJones & Terry Gilliam","91 mins",["Graham",["Michael Palin","John Cleese"]]]
""" 输出有制表符的list,最外层list不缩进"""
chapter2.nester.print_lol(movies,0)
""" level为可选参数,设置缺省值为0,输出结果和上面的一样"""
chapter2.nester.print_lol(movies)
""" 定义首行缩进为3 """
chapter2.nester.print_lol(movies,3)
""" level 不可能为负整数,所以会关闭缩进"""
chapter2.nester.print_lol(movies,-9)

结果展示





为函数再增加一个参数,实现自由选择缩进或者不缩进

""" 改进的nester模块,实现缩进的随时打开和关闭"""
def print_lol (the_list,indent = False,level = 0):
    for each_item in the_list:
        if isinstance(each_item,list):
            print_lol(each_item,indent,level + 1)
        else:
            if indent:
                """ 相当于
                for top_stop in range(level):
                    print("\t",end='')
                """
                print("\t"*level,end='')
            print(each_item)

函数的实现:

"" 改进的nester 模块的实现,随时可以打开或关闭缩进"""
import chapter2.nester1
movies = ["The Life of Brian","1979","TerryJones","94mins",["Graham",["Michael","John"]]]
""" 不缩进"""
chapter2.nester1.print_lol(movies)
"""" 缩进,且首行为默认缩进"""
chapter2.nester1.print_lol(movies,True)
""" 缩进,自定义缩进"""
chapter2.nester1.print_lol(movies,True,3)

结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值