摘要: is和==的区别 / Difference between is and == 对于Python的对象来说,具有id/type/value三种特性,而在判断两个相等的is和==中,分别是对对象的id和value进行判断,以下例子可以看出两者的不同之处, 从查看的结果来看,x和y的值相同,但是id却不 阅读全文
posted @ 2018-01-07 11:55 StackLike 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一次的参数时,通常会在函数外部进行初始化操作,较为不便。 但是在Python中,可以利用可变参数作为函 阅读全文
posted @ 2018-01-07 11:51 StackLike 阅读(438) 评论(0) 推荐(0) 编辑
摘要: and和or / and & or 对于and和or,可以连接多个值,其分别遵循原则: 可以利用这些特性进行一些狡猾的处理,例如print出有效内容,内容无效则显示自定义的字符串。 可参考下面的代码 1 """ 2 The return of 'and' and 'or' 3 As for 'or' 阅读全文
posted @ 2018-01-07 11:37 StackLike 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 排序函数 / Sort Function list自带的sort函数可以实现对列表的排列功能,具有同样功能的还有sorted函数。 基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。sort函数是基于原有的列表进行修改,因此 阅读全文
posted @ 2018-01-07 11:28 StackLike 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 函数延后估值及字节码分析 在一个循环中定义了函数 f 但是并未对其进行调用,在循环结束后调用,此时i值为3故最终3个函数输出均为9。而非1, 4, 9。 这是由于在定义闭包函数 f 时,传入变量 i,而在循环结束后才调用函数,此时的 i 已为 3,下面使用字节码来查看并论证这一运行顺序。 使用 di 阅读全文
posted @ 2018-01-07 11:20 StackLike 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 利用 Python 的字典实现 Switch 功能 Python是没有switch语句的,当遇到需要实现switch语句的功能时,一般可以用if/else进行代替,但是还有一种更加简洁的实现方法,利用字典进行实现,将需要选择的条件设为字典的键,选择的结果设为值,通过字典键索取值的方式实现switch 阅读全文
posted @ 2018-01-07 10:57 StackLike 阅读(600) 评论(0) 推荐(0) 编辑