草庐IT

order_assignment

全部标签

四面阿里被问MySQL底层如何实现order by的,瞬间懵了!

需求查询城市是“上海”的所有用户名,并按用户名排序,返回前1000人的名字、年龄。先看建表语句:Easy!SQL随手一写:为避免全表扫描,给city字段加个索引,再explain验证:explainselectcity,name,agefromcitizenwherecity='上海'orderbynamelimit1000;+----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+----------------------------

全局变量报错:UnboundLocalError: local variable ‘l’ referenced before assignment

总结:内部函数,不修改全局变量可以访问全局变量内部函数,修改同名全局变量,则python会认为它是一个局部变量在内部函数修改同名全局变量之前调用变量名称(如printsum),则引发Unbound-LocalError在程序中设置的sum属于全局变量,而在函数中没有sum的定义,根据python访问局部变量和全局变量的规则:当搜索一个变量的时候,python先从局部作用域开始搜索,如果在局部作用域没有找到那个变量,那样python就在全局变量中找这个变量,如果找不到抛出异常(NAMEERROR或者Unbound-LocalError,这取决于python版本。)如果内部函数有引用外部函数的同名

全局变量报错:UnboundLocalError: local variable ‘l’ referenced before assignment

总结:内部函数,不修改全局变量可以访问全局变量内部函数,修改同名全局变量,则python会认为它是一个局部变量在内部函数修改同名全局变量之前调用变量名称(如printsum),则引发Unbound-LocalError在程序中设置的sum属于全局变量,而在函数中没有sum的定义,根据python访问局部变量和全局变量的规则:当搜索一个变量的时候,python先从局部作用域开始搜索,如果在局部作用域没有找到那个变量,那样python就在全局变量中找这个变量,如果找不到抛出异常(NAMEERROR或者Unbound-LocalError,这取决于python版本。)如果内部函数有引用外部函数的同名