
python
文章平均质量分 64
bieveror
这个作者很懒,什么都没留下…
展开
-
迭代器与生成器
迭代: (1)重复 (2)下一次重复是基于上一次的结果可迭代: python3中为了提供一种不依赖于索引的迭代方式,会为一些对象内置__iter__方法,反言之,若一个对象可用__iter__方法,则称之为可迭代迭代器: 可迭代的对象用__iter__方法后即产生迭代器,迭代器内置__next__方法,可通过__next__方法遍历对象。 优点: (1)提供了一种不依赖于索引的取值方原创 2017-06-15 19:20:35 · 282 阅读 · 0 评论 -
python局部变量引用问题
在python3中,若在局部中有改变全局变量的值的操作,无论先后顺序,系统会默认为将该变量作为局部变量,不会再去全局寻找该变量的值,因此如上图的代码,会报错: 解决办法是使用global将该变量变为全局变量。原创 2017-06-14 20:17:14 · 2471 阅读 · 0 评论 -
面向对象程序设计
一. 定义及优点面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点是:极大的降低了程序的复杂度 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是能,也得是大改,改一个组件,牵一发而动全身。 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git原创 2017-07-03 20:06:01 · 2036 阅读 · 0 评论 -
re正则表达式
1.正则表达式正则表达式是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。2.元字符. 匹配任意字符(不包括换行符)^ 匹配开始位置,多行模式下匹配每一行的开始$原创 2017-06-28 01:01:09 · 491 阅读 · 0 评论 -
python之函数
一.函数的定义与调用1. 什么是函数函数就是能够实现某一特定功能的工具,能够避免在写程序时的重复操作。2. 定义函数def 函数名(args1,args2,...):‘''注释''' 函数体 return 值定义函数的三种形式: (1)无参函数 (2)有参函数 (3)空函数 注:空函数一般用来占位用,搭好架构,再写具体内容。3. 调用函数调用函数时,直接用 ‘函数名()’原创 2017-06-13 21:23:24 · 218 阅读 · 0 评论 -
python文件管理
一.文件处理流程打开文件,得到文件句柄并赋值给一个变量通过句柄对文件进行操作关闭文件二.基本操作1. 打开模式文件句柄 = open(‘文件路径’, ‘模式’, 指定编码) 打开文件的模式有: r ,只读模式【默认模式,文件必须存在,不存在则报错】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【不可读;不存在则创建,存在则报错】 a, 追加模式【可读;不存在原创 2017-06-12 22:34:30 · 401 阅读 · 0 评论 -
python字符编码
一.文本编辑器和python解释器##1.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失。因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。原创 2017-06-12 22:02:51 · 262 阅读 · 0 评论 -
异常处理
一. 错误和异常1. 错误程序中的错误分为两种: a. 语法错误 这种错误在程序运行前就会报错,不符合python语法规则 b. 逻辑错误 这种错误在程序运行中报错2. 异常异常就是程序运行时发生错误的信号,在python中,错误触发的异常包含3个部分: 异常的追踪信息即位置;异常类型;异常值3. 异常种类AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo原创 2017-07-10 19:50:55 · 287 阅读 · 0 评论 -
yield的表达式形式
一.yield的表达式形式1. 用法:def ff(): print(‘starting’) while True: x = yield print('x= ', x)g = ff() # 产生的是生成器print(next(g)) # 第一次迭代,输出为:x= None None 注:第二个None为yield返回值,可在原创 2017-06-19 16:43:43 · 411 阅读 · 0 评论 -
python闭包函数和装饰器
一.闭包函数1. 闭包函数:(1)内部函数 (2)包含对外部作用域而非全局作用域的引用2. 闭包函数的特点:(1)自带作用域 注:函数的作用域关系在函数定义阶段就已经固定,与调用位置无关 无论函数在何处调用,都需要回到定义阶段去找对应的作用域关系 (2)延迟计算3. 定义闭包函数的基本形式:def 外部函数名(): 内部函数需要的变量 def 内部函数():原创 2017-06-14 20:09:21 · 397 阅读 · 0 评论 -
集合
1. 定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key2. 特性:(1)可存放多个值,集合内的元素必须是唯一的,可hash的也就是不可变类型。 (2)无序 (3)集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值3. 作用:(1)做关系运算 (2)去重4. 集合运算:(1)取交集:set1 & set2 #返回set1和set原创 2017-06-09 16:58:16 · 250 阅读 · 0 评论 -
python数据类型(一)
一.python中的数据类型python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象。 对象三个特性 (1) 身份:内存地址,可以用id()获取 (2) 类型:决定了该对象可以保存什么类型值,可执行何种操作,需遵循什么规则,可用type()获取 (3) 值:对象保存的真实数据 这里的字符串、数字、列表等都是数据类型原创 2017-06-07 20:26:59 · 545 阅读 · 0 评论 -
匿名函数和内置函数
一.匿名函数1. 特点匿名函数由lambda定义,不用定义函数名。使用lambda可以省去定义函数的过程,让代码更加精简。对于一些抽象的,不会被别的地方再重复使用的函数,使用lambda不需要考虑命名的问题。使用lambda在某些时候然后代码更容易理解。2. 格式lambda参数列表:return [表达式]变量f = lambda x,y:x+ypri原创 2017-06-20 22:36:19 · 311 阅读 · 0 评论 -
python数据类型(二)
一.列表1. 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素2. 特性:(1)可存放多个值 (2)可修改指定索引位置对应的值,可变 (3)按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序3.列表常用操作:(1)索引:list[0] #取list的第1个元素(2)切片:list[1:3] #取list的第2至4个元素(3)追加:list.append(‘ab原创 2017-06-08 20:25:03 · 347 阅读 · 0 评论 -
python模块
一. time模块1. 三种时间表示形式在python中,表示时间通常有三种形式:时间戳,元组表示的结构化时间,格式化的字符串时间。 (1) 时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的浮点数类型的时间差。 (2) 元组表示的结构化时间(struct_time):struct_time元组共有9个元素:(年(tm_year),月(tm_mon),原创 2017-06-21 17:34:12 · 317 阅读 · 0 评论 -
模块与包
一.模块1. 定义:在python中,一个.py文件就称为一个模块。2. 为什么使用模块:(1)提高了代码的可维护性 (2)编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编写程序的时候,也经常引用其他模块 (3)使用模块还可以避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。但是也要注意,尽原创 2017-06-28 17:15:37 · 236 阅读 · 0 评论 -
python入门
一.python的历史1991年,第一个Python编译器(同时也是解释器)诞生。它是荷兰人Guido von Rossum 用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。 近几原创 2017-06-06 20:15:26 · 360 阅读 · 0 评论 -
三元表达式和列表解析
一.三元表达式1. 格式:判断正确返回值 if 判断语句 else 判断错误返回值2. 用法:res = 1 if 5>3 else 0 # res = 1二.列表解析1. 格式:[输出表达式 for x in l 可选判断语句]2. 用法:a = [x**2 for x in range(1,5) if i%2==0] #返回[4,16]a= [1,2,3]原创 2017-06-16 20:27:27 · 1033 阅读 · 0 评论 -
socket编程
1. socket 编程概念socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递。网络通信都是基于ip+port定位到目标机器上的具体服务,操作系统有0-65535个端口,每个端口都可以独立对外提供服务。 建立一个socket必须至少有2端, 一个服务端,一个客户端, 服务端被动等待并接收请求,客户端主动发起请求, 连接建立之后,双方可以互发数据。原创 2017-07-19 20:05:05 · 274 阅读 · 0 评论