10 2017 档案
摘要:在介绍迭代器之前,先说明下迭代的概念: 迭代:通过for循环遍历对象的每一个元素的过程。 Python的for语法功能非常强大,可以遍历任何可迭代的对象。 在Python中,list/tuple/string/dict/set/bytes都是可以迭代的数据类型。 可以通过collections模块的
阅读全文
摘要:Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮你在某些场合写出比较精简酷炫的代码。但没有它,也不会有太多的影响。Python语言有几种不同类型的推导式,下面逐一介绍: 1. 列表推导式 列表推导式是一种快速生成列表的方式。其形式是用方括号括起来的一段语句,如下例子所示: 结果:
阅读全文
摘要:Python语言使用lambda关键字来创建匿名函数。 所谓匿名,即不再使用def语句这样标准的形式定义一个函数。 lambda只是一个表达式,而不是一个代码块,函数体比def简单很多。 仅仅能在lambda表达式中封装有限的逻辑 lambda 函数拥有自己的命名空间 其形式通常是这样的:lambd
阅读全文
摘要:在Python3以后,字符串和bytes类型彻底分开了。字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的。 bytes数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样,也是不可变的序列对象。 bytes对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到
阅读全文
摘要:python代码规范:一、标识符 所谓的标识符就是对变量、常量、函数、类等对象起的名字 python语言在任何场景都严格区分大小写!!! python对于标识符的命名有如下规定: 第一个字符必须是字母表中的字母或者下划线 例如:a,Ak,_set_id,green等,但是例如$abc,&_a,~bs
阅读全文
摘要:先来看个例子: 结果: args= (1, 2, 3, 4)kwargs= {} args= ()kwargs= {'b': 2, 'c': 3, 'a': 1} args= (1, 2, 3, 4)kwargs= {'b': 2, 'c': 3, 'a': 1} args= ('a', 1, No
阅读全文
摘要:在解释之前首先我们看下__name__这个变量存的是什么: 结果分析:当我们运行的程序的时候,__name__这个内置变量值就是__main__。 下面我们来看下导入模块时候__name__变量值: test.py代码如下 导入test模块并执行 可以看到,此时变量__name__值为模块名,并没有
阅读全文
摘要:当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :inva
阅读全文
摘要:接上一篇,程序员在敲代码的时候觉得无聊,无聊的时候,会想到去吃零食,那么假如一个函数: 结果: 完成的时间为: 10.001572132110596 但是但是,程序员只有两只手,那么吃零食和敲代码是不能同时进行了,需要加一个线程锁: 完成时间: 完成的时间为: 14.000801086425781
阅读全文
摘要:假设一个程序员,想听歌,但是又想敲代码,于是又: 我听完歌就去敲代码: 结果: 完成的时间: 11.00062894821167 可以改成,一边敲代码一边听歌,那么设计一个多线程,可以让他们同时进行 结果: 完成的时间为: 6.000343084335327 封装成类的形式 结果: 完成的时间为:
阅读全文