zoukankan      html  css  js  c++  java
  • 二.自定义函数(一)

    1.用循环处理一个嵌套列表

    def print_lol(the_list):

      for each_item in the_list:

        if isinstance(each_item,list):

          print_lol(each_item)

        else:

          print(each_item)

    注:1).这个函数定义时参数没有声明类型,这一点知乎上有人回答:https://www.zhihu.com/question/34843836

    2).关于python内建函数instance()的用法:http://www.cnblogs.com/sweet521/p/3976634.html

    2.改进:发现一个嵌套列表就缩进

    说明:添加第二个参数level控制缩进,如果level为正值n,则屏幕上显示一行数据时需要加n个制表符(tab),如果level为0,则不使用缩进。

    def print_lol(the_list,level):

      """这个函数有一个位置参数,名为“the_list",这可以是任何python列表(包含或不包含嵌套列表),所提供列表中的各个数据项会递归的打印到屏幕上且各占一行

        第二个参数(名为“level”)用来在遇到嵌套列表时插入一个制表符“”“

      for each_item in the_list:

        if isinstance(each_item,list):

          print_lol(each_item,level+1)

        else:

          for tab_stop in range(level):

            print(" ",end="")

          print(each_item)

    注:1)使用range()来控制迭代使用的次数,rang()函数的使用方法:http://www.iplaypy.com/jinjie/range.html

    2)end=''的作用:为end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串。这个只有3版本有用。2.*版本不支持。

    3)range()在不同版本之间的使用的区别:python2.x 中,range返回的是一个列表
    python3.x中,range返回的是一个迭代值
    类似for n in range(1,10):之类的可以照常使用
    如果要在3.x中产生1-10的列表,可以list(range(1,10))~

    3.改进:使用可选参数,兼容旧版函数

    说明:为函数提供一个缺省值

    def print_lol(the_list,level=0):

    print_lol(movies,0)--调用函数,并提供两个参数

    print_lol(movies)--调用函数,提供一个参数,第二个参数则使用缺省值

    print_lol(movies,2)--调用函数,并停工两个参数,不过为第二个参数提供另一个起始值

    print_lol(movies,-1)--如果使用一个负值,实际上这会关闭缩进

    4.改进:希望新增的参数不是默认的,而是可选的

    说明:增加第三个参数,需要缩进时就设置为True,不需要缩进时就设置为False

    """为函数添加第三个参数,参数名为indent,开始时参数值设置为False,默认不缩进"""

    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 tab_stop in range(level):
              print(" ",end='')

          print(each_item)

  • 相关阅读:
    Android之json解析
    关闭Android/iPhone浏览器自动识别数字为电话号码
    CSS 公共样式摘自万能的度娘
    前端必备:六款CSS工具让代码充满魅力
    移动端JS 触摸事件基础
    height:100%和height:auto的区别
    线程之生产汽车与购买汽车
    SAXCreateXMLDocument
    DOM方式创建XML文件
    java快捷键
  • 原文地址:https://www.cnblogs.com/chenshaoping/p/7151513.html
Copyright © 2011-2022 走看看