python语法的疑惑,为什么有的代码缩进那么多?


def set_ping_switch(msg_data):
    cx = sysapi_base.sys_db_open('network_admin')
    if cx:
        try:
                        ping_switch = msg_data.get('ping_switch')
                        sql_line="update ping_switch set ping_switch="+ping_switch+" where parm_name='ping'"
            log.debug("%s", sql_line)
            cu=cx.cursor()
            cu.execute(sql_line)
            cu.close()
            cx.commit()
                        set_ping_iptables(ping_switch)
            return True
        except:
            return False 
        finally:
            sysapi_base.sys_db_close(cx)
    else:
        return False

5,6,12 行中为什么要缩进那么多?

这应该是不同平台下粘贴代码,一个tab代表的空格数不同,导致的
这种写法并不符合代码规范
但有时也并不报错
-=-=-=
对于pycharm之类的编程软件来说,默认的对齐方式就是缩进一个tab,4空格
但是其实对于python语法来说,你缩进2空格或者8空格都可以的,只要成对的代码缩进一致就可以
不成对的代码你爱缩进多少缩进多少

Python使用”缩进“ 代替大括号 表示代码层级

但是对缩进数量没有严格要求,只要同一层级的代码,缩进保持一致即可

根据代码规范,每一次缩进应该使用4个空格表示,但这也不是强制的,所以不是语法错误

某些编辑器默认设置:一次缩进是2个或8个空格,可能会导致出现问题中的情况

但是编辑器缩进设置(Tab设置)都可以调整,所以问题不大

black 是一个强制的python代码格式化工具,会将各种风格的python代码处理为符合规范的样式

如果想要自动、批量、强制吹问题中的代码风格,可以使用black