12 2017 档案

摘要:1 class Person(): 2 def __init__(self, name): 3 self.name = name 4 5 6 def print_name(self): 7 print(self.name) 8 9 p = Person('Li') 10 import types 11 p.print_name = type... 阅读全文
posted @ 2017-12-30 20:57 魂~ 阅读(696) 评论(0) 推荐(0)
摘要:python ./setup.py install --record install.txt cat install.txt | xargs rm -rf 阅读全文
posted @ 2017-12-30 19:47 魂~ 阅读(540) 评论(0) 推荐(1)
摘要:一、无参数,无返回值的装饰器 二、2个装饰器 结果: 三、带参数,无返回值函数的装饰器 四、带参数,带返回值函数的装饰器 五、通用的装饰器 六、装饰器带参数 结果: 阅读全文
posted @ 2017-12-30 19:36 魂~ 阅读(322) 评论(0) 推荐(0)
摘要:一、property类 二、property修饰器 阅读全文
posted @ 2017-12-30 13:10 魂~ 阅读(391) 评论(0) 推荐(0)
摘要:一、一个闭包的实际应用例子 二、闭包传递的参数为函数。 三、闭包与修饰器的关系,以下2个例子是等效的。 阅读全文
posted @ 2017-12-30 13:01 魂~ 阅读(1039) 评论(0) 推荐(0)
摘要:dict.items() dict.values() dict.keys() 阅读全文
posted @ 2017-12-30 12:36 魂~ 阅读(615) 评论(0) 推荐(0)
摘要:列表: 字符串: 字典: 元组: 集合: 阅读全文
posted @ 2017-12-30 12:21 魂~ 阅读(658) 评论(0) 推荐(0)
摘要:方法: 1、uname -a 2、uname -m 3、file /sbin/init 4、arch 5、Settings -> Details 说明: 1. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,803 阅读全文
posted @ 2017-12-29 11:47 魂~ 阅读(297) 评论(0) 推荐(0)
摘要:问题: sudo apt-get install vim E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administratio 阅读全文
posted @ 2017-12-29 11:10 魂~ 阅读(787) 评论(0) 推荐(0)
摘要:一、模块 1、import导入模块 2、from...import...导入模块 导入指定内容 导入所有内容 这种导入方法会有重名风险,使用时应注意。 3、模块中的__all__变量 用来限制当用from xxx import *时导入时,导入的内容。不再__all__这个列表中的内容不会被导入。 阅读全文
posted @ 2017-12-29 11:04 魂~ 阅读(1218) 评论(2) 推荐(1)
摘要:1.直接写类名调用: parent_class.parent_attribute(self) 扩展:实例对象和类对象调用实例函数。 2.用 super(type, obj).method(arg)方法调用:super(child_class, child_object).parent_attribu 阅读全文
posted @ 2017-12-29 10:44 魂~ 阅读(1313) 评论(0) 推荐(0)
摘要:class int(object) | int(x=0) -> integer | int(x, base=10) -> integer | | Convert a number or string to an integer, or return 0 if no arguments | are g 阅读全文
posted @ 2017-12-28 18:33 魂~ 阅读(895) 评论(0) 推荐(0)
摘要:一、IO、同步IO和异步IO IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。 阅读全文
posted @ 2017-12-28 17:47 魂~ 阅读(797) 评论(0) 推荐(0)
摘要:Raspberry Pi Camera v2是树莓派摄像头板。Raspberry Pi Camera Module v2 是为树莓派定制的带高质量8百万像素索尼IMX219传感器扩展板,拥有定焦镜头。它可以达到3280 x 2464像素静态图片,也支持1080p30, 720p60 and 640x 阅读全文
posted @ 2017-12-27 10:58 魂~ 阅读(1449) 评论(0) 推荐(0)
摘要:难点:1、串口定时器T1,和T0定时器优先级 2、pwm频率与占空比的设置 按键控制 按键1——前进 按键2——后退 按键3——加速 按键4——减速 (板子上只有四个按键) 串口控制 ‘1’——前进 ‘2’——后退 ‘3’——加速 ‘4’——减速 ‘5’——左转 ‘6’——右转 源码: #inclu 阅读全文
posted @ 2017-12-26 17:00 魂~ 阅读(5083) 评论(0) 推荐(1)
摘要:一、注意事项 1、烧写程序时,要把蓝牙tx,rx信号线拔掉,对烧写程序有影响。 2、执行HC05集命令时,均以\r\n结尾。串口中断若选择“发送新行”时,不用添加\r\n。原理相同。 二、准备软硬件 1、硬件:单片机STC89C52RC开发板,蓝牙模块HC05 2、软件:串口工具SSCOM3.3,手 阅读全文
posted @ 2017-12-26 16:59 魂~ 阅读(15909) 评论(0) 推荐(4)
摘要:1 class Animal: 2 cls_attr = 'cls_attr' 3 _cls_attr = '_cls_attr' 4 __cls_attr = '__cls_attr' 5 6 def __init__(self): 7 self.ins_attr = 'ins_attr' 8 self._ins... 阅读全文
posted @ 2017-12-26 13:57 魂~ 阅读(837) 评论(0) 推荐(0)
摘要:安装:sudo python setup.py install 卸载:sudo python setup.py install --record log sudo cat log | sudo xargs rm -rf 阅读全文
posted @ 2017-12-26 11:11 魂~ 阅读(543) 评论(0) 推荐(0)
摘要:https://www.microsoft.com/zh-cn/software-download/windows10ISO https://www.2cto.com/os/201704/621770.html http://www.windowszj.com/news/13696.html 家庭版 阅读全文
posted @ 2017-12-24 11:33 魂~ 阅读(395) 评论(0) 推荐(0)
摘要:mydict.py代码如下: 编写mydict_test.py如下: 阅读全文
posted @ 2017-12-22 15:02 魂~ 阅读(551) 评论(0) 推荐(0)
摘要:链接BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StopAsyncIteration +-- ArithmeticError | +- 阅读全文
posted @ 2017-12-22 11:43 魂~ 阅读(207) 评论(0) 推荐(0)
摘要:from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) for name, member in Month.__members__.items(... 阅读全文
posted @ 2017-12-22 11:34 魂~ 阅读(290) 评论(0) 推荐(0)
摘要:一、容器 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。通常这类数据结构把所有的元素存储在内存中。 二、可迭代对象Iterable和迭代器Iterator 我们在用for ... in ...语句循环时,in后面跟 阅读全文
posted @ 2017-12-22 11:18 魂~ 阅读(306) 评论(0) 推荐(0)
摘要:一、类也是对象 只要使用关键字class,Python解释器在执行的时候就会创建一个对象。下面的代码段: 将在内存中创建一个对象,名字就是ObjectCreator。这个对象(类)自身拥有创建对象(类实例)的能力。 它的本质仍然是一个对象,于是乎你可以对它做如下的操作: 1) 你可以将它赋值给一个变 阅读全文
posted @ 2017-12-21 17:57 魂~ 阅读(339) 评论(0) 推荐(0)
摘要:一、数字和字符串 二、字符串和bytes 三、bytes和bytearray 四、bytearray和字符串 阅读全文
posted @ 2017-12-21 15:50 魂~ 阅读(511) 评论(0) 推荐(0)
摘要:0、dir(str)一、有字符发生转换1、capitalize,字符串的第一个字符大写2、casefold,将所有字符小写,Unicode所有字符均适用3、lower,将所有字符小写,只适用ASCii4、upper,将所有字符大写7、encode,以 encoding 指定的编码格式编码字符串。er 阅读全文
posted @ 2017-12-21 15:38 魂~ 阅读(499) 评论(0) 推荐(0)
摘要:一、查看字符串的内建函数 二、常用的字符串内建函数 1、capitalize,字符串的第一个字符大写 2、 casefold,将所有字符小写,Unicode所有字符均适用 3、lower,将所有字符小写,只适用ASCii 4、upper,将所有字符大写 5、center,返回一个原字符串居中,并使用 阅读全文
posted @ 2017-12-21 12:49 魂~ 阅读(348) 评论(0) 推荐(0)
摘要:一、创建字符串 二、格式化字符串 第一种方式: 第二种方式: Python中字符串格式化符号: 格式化操作辅助符号: 第三种方式: format格式化字符串的一般形式如下: "... {field_name!conversion:format_spec} ..." 从上面的代码可以看到,格式化字符串 阅读全文
posted @ 2017-12-21 11:18 魂~ 阅读(320) 评论(0) 推荐(0)
摘要:super函数用来解决钻石继承。 一、python的继承以及调用父类成员 父类: 普通方法调用父类: super方法调用父类: 二、钻石继承 使用普通方法调用父类,base类会初始化2次。用super解决这个问题。 三、super工作原理 要理解super的原理,就要先了解mro。mro是metho 阅读全文
posted @ 2017-12-20 17:54 魂~ 阅读(920) 评论(1) 推荐(3)
摘要:一、__init__和__new__方法 __init__ 和 __new__ 最主要的区别在于:1.__init__ 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。2.__new__ 通常用于控制生成一个新实例的 阅读全文
posted @ 2017-12-20 17:10 魂~ 阅读(310) 评论(0) 推荐(0)
摘要:命名规范:总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。1 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母。2 模块命名尽量短小,使用全部小写的方式,可以使用下划线。3 包命名尽量短小,使用全部小写的方式,不可以使用下划线。4 类的命名使用CapWords的方式,模 阅读全文
posted @ 2017-12-20 10:38 魂~ 阅读(782) 评论(0) 推荐(0)
摘要:一、ls -l 各段含义 第一个字段共有10个'-',第一个‘-’代表该文件类型:‘-’是普通文件,b是块特殊文件,c是字符特殊文件,d是目录,l是链接文件,p是管道文件后面九条杠,三条一组,可以是rwxrwxrwx,这代表按顺序所有者、组、其他用户的访问权限均为可读可写可执行。 如果其中哪个位置还 阅读全文
posted @ 2017-12-19 17:34 魂~ 阅读(308) 评论(0) 推荐(0)
摘要:一、创建一个用户 二、给账户添加密码 三、创建组 四、切换账户 五、给账户改组 六、使自己创建的用户拥有sudo执行命令的权限 七、删除账户 八、删除组 阅读全文
posted @ 2017-12-19 17:15 魂~ 阅读(409) 评论(0) 推荐(0)
摘要:用killall杀死所有同名的进程。 用pkill杀死所有同名的进程。 阅读全文
posted @ 2017-12-19 15:57 魂~ 阅读(913) 评论(0) 推荐(0)
摘要:一、kill命令 kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。 三个常用的信号: 例子: 阅读全文
posted @ 2017-12-19 15:47 魂~ 阅读(473) 评论(0) 推荐(0)
摘要:一、top命令 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准 阅读全文
posted @ 2017-12-19 15:34 魂~ 阅读(418) 评论(0) 推荐(0)
摘要:一、ps命令 Linux中的ps命令是Process Status的缩写。 ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 使用该命令可以确定有哪些进程正在运行和运行的状态、进程是 阅读全文
posted @ 2017-12-19 15:18 魂~ 阅读(246) 评论(0) 推荐(0)
摘要:一、准备Github远程仓库 1、github官网注册账户 2、ubuntu端创建SSH Key 与git绑定的邮箱相同,然后一路回车,使用默认值。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是 阅读全文
posted @ 2017-12-19 14:00 魂~ 阅读(199) 评论(0) 推荐(0)
摘要:一、在工作区和暂存区退回 在工作区: 在暂存区: 二、从版本库中删除文件 阅读全文
posted @ 2017-12-19 11:36 魂~ 阅读(114) 评论(0) 推荐(0)
摘要:一、安装 二、指定用户名和Email地址 三、创建仓库 learngit目录下多了一个.git文件夹 四、管理文档 五、版本退回 用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 阅读全文
posted @ 2017-12-19 11:20 魂~ 阅读(171) 评论(0) 推荐(0)
摘要:一、ubuntu中开启终端 Ctrl+Alt+T,开启一个终端 Ctrl+Shift+T,再上个终端开启一个新的标签页 再若干个标签页之间,用Alt+1,Alt+2,...切换 二、vim基本的命令 1、打开文件: 2、不保存退出 3、保存 4、保存退出 5、上下左右移动 6、编辑模式切换到插入模式 阅读全文
posted @ 2017-12-19 11:01 魂~ 阅读(263) 评论(0) 推荐(0)
摘要:一、定制类,实质就是我们自己重写特殊函数 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数。 除此之外,Python的cla 阅读全文
posted @ 2017-12-18 15:55 魂~ 阅读(232) 评论(0) 推荐(0)
摘要:python是支持多继承的,在设计类的继承关系时,通常,主线都是单一继承下来的。但是,如果需要“混入”额外的功能,通过多重继承就可以实现,这种设计通常称之为MixIn。 为了更好地看出继承关系,以MixIn结尾命令,例如:Runnable和Flyable就可以改为RunnableMixIn和Flya 阅读全文
posted @ 2017-12-18 15:38 魂~ 阅读(174) 评论(0) 推荐(0)
摘要:一、property引入 为了使对象的属性不暴露给调用者和进行属性值检查,设置了访问属性的接口函数,使用函数访问属性,并可以在函数内部检查属性。 这样每次访问属性的时候,都要访问函数,相比较之前直接访问属性的方式,变得麻烦了。property可以解决这个麻烦,虽然还是函数,但是可以像属性一样访问。 阅读全文
posted @ 2017-12-18 15:28 魂~ 阅读(238) 评论(0) 推荐(0)
摘要:一、which命令 查找一个目录所在的路径: 二、cal命令 三、date命令 date +%Y%m%d --date="-1 day" date 用法: date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][ 阅读全文
posted @ 2017-12-18 14:12 魂~ 阅读(562) 评论(0) 推荐(0)
摘要:一、tar命令 tar命令用于打包,解包。 gzip命令用于压缩,解压缩。 bzip2命令用于压缩,解压缩。 这三个是在linux中常用的,还有一些不常用的。 tar打包: tar解包: gzip压缩tar打包: gzip解压缩tar解包: bzip2压缩tar打包: bzip2解压缩tar解包: 阅读全文
posted @ 2017-12-18 12:07 魂~ 阅读(541) 评论(0) 推荐(0)
摘要:一、find命令 find命令用于查找文件。 按文件名字查找: 按文件大小查找: 按文件权限查找: 按文件类型查找: 类型参数列表: f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字 p Fifo 按文件时间查找: Linux文件系统每个文件都有三种时间戳: 访问时间(-a 阅读全文
posted @ 2017-12-18 11:52 魂~ 阅读(784) 评论(0) 推荐(0)
摘要:一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep的工作方式是这样的,它在一个或多 阅读全文
posted @ 2017-12-18 11:44 魂~ 阅读(292) 评论(0) 推荐(0)
摘要:一、cp命令 Linux中的复制命令。 复制文件: 复制目录: 二、mv命令 mv命令可以作为Linux中的剪切命令,也可以给文件或者文件夹重命名。 剪切文件: 剪切文件夹: 文件重命名: 文件夹重命名: 三、注意 cp文件夹时需要-r参数,mv文件夹时不需要-r参数。 阅读全文
posted @ 2017-12-18 11:20 魂~ 阅读(380) 评论(0) 推荐(0)
摘要:一、软链接 相当于windows的快捷方式,当源文件不存在时,软链接失效。 创建软链接: 删除源文件,软链接失效: 二、硬链接 创建硬链接: 删除源文件,硬链接仍然可用: 三、总结 链接是指向文件名,当指向的文件名字删除的时候,就找不到源文件了。硬链接是指向文件本身,删除一个文件名字,还是可以找到源 阅读全文
posted @ 2017-12-18 11:08 魂~ 阅读(398) 评论(0) 推荐(0)
摘要:一、rmdir命令 用于删除空目录: 二、rm命令 删除文件: 删除有内容的目录: 阅读全文
posted @ 2017-12-18 10:56 魂~ 阅读(176) 评论(0) 推荐(0)
摘要:一、touch命令 创建一个文件: 创建多个文件: 二、mkdir命令 创建单级目录: 创建多级目录: -p 选项是指定递归创建目录。 阅读全文
posted @ 2017-12-18 10:48 魂~ 阅读(204) 评论(0) 推荐(0)
摘要:一、pwd命令 显示整个路径名: 二、cd命令 切换到其他路径(相对路径方式): 切换到其他路径(绝对路径方式): 三、根目录 在linux中,'/'斜杠代表根目录: 四、家目录 在linux中,'~'波浪线代表家目录: 五、上一次所在目录: 在linux中,'-'横杠快捷切换到上次所在的路径: 六 阅读全文
posted @ 2017-12-18 10:40 魂~ 阅读(613) 评论(0) 推荐(0)
摘要:一、ls命令 用于查看目录下的文件信息。 ls 当前目录下都有哪些文件: -l选项,显示当前目录下文件的详细信息: -a选项,显示当前目录下所有文件,包括隐藏文件(名字以'.'开头): -al选项,显示当前目录下所有文件的详细信息: -alh,显示当前目录下所有文件的详细信息,文件的大小易读: 指定 阅读全文
posted @ 2017-12-18 10:25 魂~ 阅读(495) 评论(0) 推荐(0)
摘要:一、动态添加属性 二、动态给实例添加方法 三、动态给类添加方法 四、限制实例的属性 __slots__ __slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的: 除非在子类中也定义__slots__,这样,子类实例允许定义的属性就是自身的__slots__加上父类的__slots 阅读全文
posted @ 2017-12-17 18:58 魂~ 阅读(437) 评论(0) 推荐(0)
摘要:一、实例属性 Python是动态语言,根据类创建的实例可以任意绑定属性。 二、类属性 直接在class中定义属性,这种属性是类属性,归Student类所有。 在编写程序的时候,千万不要对实例属性和类属性使用相同的名字,因为相同名称的实例属性将屏蔽掉类属性,但是当你删除实例属性后,再使用相同的名称,访 阅读全文
posted @ 2017-12-17 16:34 魂~ 阅读(272) 评论(0) 推荐(0)
摘要:一、type()函数 判断基本数据类型可以直接写int,str等: 判断一个对象是否是函数: 二、isinstance()函数 对于class的继承关系来说,使用type()就很不方便。如果要判断class的类型,可以使用isinstance()函数。 用isinstance()判断基本类型: 并且 阅读全文
posted @ 2017-12-17 16:09 魂~ 阅读(328) 评论(0) 推荐(0)
摘要:一、继承 当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()。 二、多态 当我们定义一个class的时候,我们实际上就定义了一种数据类型。 看来c不仅仅是Dog,c还是Animal!所以,在继承关系中,如果一个实例的 阅读全文
posted @ 2017-12-17 14:43 魂~ 阅读(287) 评论(0) 推荐(0)
摘要:一、双下划线 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问。 双下划线开头的实例变量是不是一定不能从外部访问呢?其实也不是。不能直接访问__name是因为Pyt 阅读全文
posted @ 2017-12-17 14:06 魂~ 阅读(873) 评论(0) 推荐(0)
摘要:一、类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 在Python中,定义类是通过class关键字,class后面紧接着是类名, 阅读全文
posted @ 2017-12-17 13:26 魂~ 阅读(224) 评论(0) 推荐(0)
摘要:一、面向对象和面相过程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把 阅读全文
posted @ 2017-12-17 12:57 魂~ 阅读(412) 评论(0) 推荐(0)
摘要:一、pip工具使用 安装windows版本python,自带pip工具。2者路径相同。 如果设置了环境路径,可以直接在命令提示符窗口下尝试运行pip。如果没有设置环境路径,可以先cd命令到pip工具的安装文件夹下,再运行pip。 安装Pillow模块: 二、批量安装常用模块 安装Anaconda。 阅读全文
posted @ 2017-12-17 12:34 魂~ 阅读(581) 评论(0) 推荐(0)
摘要:1、第一行代码在linux和mac系统下,该脚本可以直接运行。 2、第二行代码指定该文件使用标准utf-8标准。 3、第四行代码文档注视,任何模块代码的第一个字符串都被视为模块的文档注释。 4、第六行代码导入sys模块。 5、第八行代码使用__author__变量把作者写进去。 6、第二十一行代码, 阅读全文
posted @ 2017-12-17 12:19 魂~ 阅读(698) 评论(0) 推荐(0)
摘要:偏函数是某一种函数带有固定参数的实现。 functools.partial创建一个偏函数。 functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。 阅读全文
posted @ 2017-12-17 11:56 魂~ 阅读(328) 评论(0) 推荐(0)
摘要:一、装饰器定义 在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,Decorator就是一个返回函数的高阶函数。 观察上面的log,因为它是一个decorator,所以接受一个函数作为参数,并返回一个函数。要借助Python的@语法,把decorator置于函数的定义 阅读全文
posted @ 2017-12-17 11:09 魂~ 阅读(252) 评论(0) 推荐(0)
摘要:一、lambda使用语法: 关键字lambda表示匿名函数,冒号前面的x表示函数参数,冒号后面只能有一个表达式,不用写return,返回值就是该表达式的结果。 无参数lambda表达式: 二、匿名函数是一个函数对象 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数 阅读全文
posted @ 2017-12-17 10:33 魂~ 阅读(369) 评论(0) 推荐(0)
摘要:一、函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 当我们调用lazy_sum()时,每次调用都会返回一个新的函数,即使传入相同的参数: 二、闭包 在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个 阅读全文
posted @ 2017-12-17 10:20 魂~ 阅读(539) 评论(0) 推荐(0)
摘要:一、filter()函数 filter()接收一个函数和一个序列。filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用lis 阅读全文
posted @ 2017-12-16 21:58 魂~ 阅读(453) 评论(0) 推荐(0)
摘要:一、map()函数 map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 二、reduce()函数 reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,red 阅读全文
posted @ 2017-12-16 21:24 魂~ 阅读(1127) 评论(0) 推荐(0)
摘要:一、2个概念: 1、变量可以指向函数本身 2、函数名也是变量 二、高阶函数 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数。 阅读全文
posted @ 2017-12-16 21:05 魂~ 阅读(311) 评论(0) 推荐(0)
摘要:一、可迭代对象定义 可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple、dict、set、str、bytes、bytearray等; 一类是generator,包括表达式生成器和带yield的函数生成器。 这些可以直接作用于for循环的对象统称为可迭代对象:I 阅读全文
posted @ 2017-12-16 20:16 魂~ 阅读(814) 评论(0) 推荐(0)
摘要:一、生成器定义 通过列表生成表达式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为 阅读全文
posted @ 2017-12-16 20:05 魂~ 阅读(382) 评论(0) 推荐(0)
摘要:列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。运用列表生成式,可以写出非常简洁的代码。 阅读全文
posted @ 2017-12-16 19:30 魂~ 阅读(653) 评论(0) 推荐(0)
摘要:可迭代的类型:list,tuple,dict,str,bytes,bytearray等 一、怎么判断一个对象是否可迭代 二、dict的迭代 三、list迭代索引和元素--利用Python内置的enumerate函数可以把一个list变成索引-元素对 四、迭代多个变量 阅读全文
posted @ 2017-12-16 19:14 魂~ 阅读(455) 评论(0) 推荐(0)
摘要:一、python3对文本和二进制数据做了区分。文本是Unicode编码,str类型,用于显示。二进制类型是bytes类型,用于存储和传输。bytes是byte的序列,而str是unicode的序列。 str类型: bytes类型: 二、str和bytes之间的转换关系:str-->encode()- 阅读全文
posted @ 2017-12-16 18:43 魂~ 阅读(5396) 评论(0) 推荐(1)
摘要:list,tuple,string,bytes对象可以进行切片处理,生成一个新的这些类的对象。 格式:li[start: stop: step] list切片: tuple切片: string切片: bytes切片(注:python3有bytes类型,python2没有): 阅读全文
posted @ 2017-12-16 17:09 魂~ 阅读(310) 评论(0) 推荐(0)
摘要:不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。 可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行 阅读全文
posted @ 2017-12-16 15:19 魂~ 阅读(684) 评论(0) 推荐(1)
摘要:在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。 一、必选参数 1 def power(x, n): 2 s = 1 3 while n > 阅读全文
posted @ 2017-12-16 14:31 魂~ 阅读(374) 评论(0) 推荐(0)