zoukankan      html  css  js  c++  java
  • python小技巧01递归解释内嵌

    现假设有一份机器人配件名单  list[头部,躯干,肢体]

    头部这个list又有鼻子眼睛嘴巴这些小零件

    肢体这个list有胳膊,肩膀,手。手这个list又有3种手指

    所以这个list详细写出是:

        list=[[1,2,3,4],5,[6,7,[8,9,10]]]  #我们type(list)一下完全是list

    我们需要解释了这个list,毕竟这样不符合审美,而且对于编程不熟悉的人也不会看啊。

    我们是否要写好多for循环print这ist的一个个项?

    for each_item in list

      if isinstance(each_item,type(list)):

        for eacha_item in each_item:

          if isinstance(eacha_item,type(list)):

            for eachaa_item in eacha_item:

              if isinstance(eachaa_item,type(list)):

                for eachaaa_item in eachaa_item:

                  print(eachaaa_item)

              else:

                  print(eachaa_item)

          else:

             print(eacha_item)

      else:

        print(each_item)

    #当你打完这些你一定会mmp的,容易打错就不说了,大量重复代码!

    def print_99(list1):  #list会与全局变量冲突

      for each_item in list1:

        if isinstance(each_item,list):

          print_99(each_item)  #each_item是list1的实例

        else:

          print(each_item)

    事情就这么愉快的解决了,这个编程思想,感悟好多,似乎有些明白面向对象的编程了。自己一个人整整想了一个小时,似乎这就是道可道,非常道

    如果不懂请在pycharm打开设置断点(就是在序号后面点豆子)然后f8下一步看解释器如何运作。f7是上一步。

    本文不做后续更改仅以入门思考python运作机制和理念

  • 相关阅读:
    JVM调优-Java中的对象
    Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装
    Navicat for MySQL 64位破解版
    Idea详细配置
    数据库--悲观锁【收藏,待尝试】
    性能问题分析
    java 反射机制之 getDeclaredMethod()获取方法,然后invoke执行实例对应的方法
    Mysql show indexes 查看索引状态
    基于(Redis | Memcache)实现分布式互斥锁
    彻底解决每次打开visio都提示windows正在配置visio的问题
  • 原文地址:https://www.cnblogs.com/3daytears/p/8052832.html
Copyright © 2011-2022 走看看