python笔记
文章平均质量分 81
u1timate06
这个作者很懒,什么都没留下…
展开
-
上下文管理器与with语句(笔记)
with语句支持由上下文管理器对象控制的运行时上下文执行一系列语句执行with obj语句时,他执行方法obj.__enter__()来指示正在进入一个新的上下文,当控制流离开该上下文时,就会执行方法obj.__exit__()with open("debuglog","a") as f: f.write("aaa\n") statements import threadinglock=原创 2016-06-13 11:23:44 · 311 阅读 · 0 评论 -
Python:paramiko模块简单应用
Python的paramiko模块,该模块是基于SSH用于连接远程服务器并执行相关操作SSHClient用于连接远程服务器并执行基本命令SFTPClient用于连接远程服务器并执行上传下载原创 2016-10-14 11:12:05 · 457 阅读 · 0 评论 -
python:装饰器
1.情景引入。现在已经完成了一个python项目,但是我们为了安全起见,我们需要加入验证机制。不是所有人都能调用函数原始源代码def f1(): print 'f1'def f2(): print 'f2'def f3(): print 'f3'由于必须遵循开发闭包的原则,所以我们应该尽可能的是不去改动原来函数的内部代码,而是通过其他的一些方法添加新的功能 比如通过下面原创 2016-09-30 15:36:31 · 388 阅读 · 0 评论 -
Python:深拷贝与浅拷贝
1.赋值,只是创建了一个变量,这个变量还是指向原来的地址>>> d={'k1':'v1','k2':'v2','k3':'v3','k4':[1,2,3,4]}>>> d{'k3': 'v3', 'k2': 'v2', 'k1': 'v1', 'k4': [1, 2, 3, 4]}>>> d1=d>>> id(d),id(d1)(51603384L, 51603384L) #指原创 2016-09-28 19:58:11 · 392 阅读 · 0 评论 -
Pyhton:collections
1.计数器import collectionsc=collections.Counter("aasddjjchhjxhcjxhcxj") #统计序列中元素出现的个数print c"结果:Counter({'j': 5, 'h': 4, 'c': 3, 'x': 3, 'a': 2, 'd': 2, 's': 1}) 收集字母在序列中出现的次数"##################原创 2016-09-28 18:57:59 · 342 阅读 · 0 评论 -
Python:正则表达式
1.简介正则表达式为高级文本模式匹配,以及搜索-替代等功能提供了基础。Python通过re模块支持正则表达式。2.匹配与搜索在python专门术语中,有两种主要方法完成模式匹配:搜索(searching)和匹配(matching),搜索,即在字符串任意部分中搜索匹配的模式,而匹配是指,判断一个字符串能否从起始处全部或者部分的匹配某个模式。搜索通过search()函数或者方法来实现,而匹原创 2016-10-01 14:51:59 · 348 阅读 · 0 评论 -
Python:class类的简单介绍
1.类与实例类与实例互相关联,类是实例的对象,而实例是真正的实物,他存放了类中所定义的对象的具体信息 创建一个类class MyNewObject(object): class_suiteobject是所有类之母,如果你的类没有继承任何其他的父类,object将作为默认的父类。它位于所有类继承结构的最上层。如果你没有继承直接或者间接子类化一个对象,那么我们就定义了一个原创 2016-10-01 17:35:41 · 738 阅读 · 0 评论 -
Python:常用模块简介(1)
sys模块>>> sys.platform #返回操作系统平台名称'win32'>>> sys.stdin #输入相关open file '', mode 'r' at 0x000000000337B030>>>> sys.stdout #输出相关open file '', mode 'w' at 0x000000000337B0C0>>>> sys.ma原创 2016-10-03 17:14:17 · 782 阅读 · 0 评论 -
Python:常用模块简介(2)
configparser模块configparser用于处理特定格式的文件,看模块名字就知道这应该是用于处理配置文件的,其本质上是利用open来操作文件 指定的格式以mysql配置文件为例(my.ini)[client]default-character-set=utf8password = your_passwordport = 3306socket = /原创 2016-10-04 14:55:49 · 727 阅读 · 0 评论 -
Python类:授权
1.“包装”意思是一个已经存在的对象进行包装,不管他是数据类型还是一段代码,可以是对一个已经存在的对象增加新的,删除不要的或者修改其他已经存在的功能2.包装 包括定义一个类,他的实例拥有标准类型的核心行为,换句话说,他现在不仅能唱能跳,还能像原类型一样步行。 这个图片说明了在类中包装的类型看起来像什么样子,在图的中心为标准类型的核心行为,但他也通过新的或者最新的功能,甚至可能通过访问实际数据的原创 2016-10-06 16:51:25 · 1114 阅读 · 0 评论 -
Python:继承
简介继承描述了基类的属性如何”遗传“给派生类,一个子类可以继承他基类的任何属性,不管是数据属性还是方法 简单的继承class P(object): passclass C(P): passc=C()print c.__class__ #<class '__main__.C'> 类名为Cprint C.__bases__ #(<class '__main__.P'>,) 继承原创 2016-10-07 15:35:12 · 296 阅读 · 0 评论 -
Python:class类
类及其类属性实例实例属性绑定和方法调用静态方法和类方法原创 2016-10-01 17:40:40 · 335 阅读 · 0 评论 -
Python:反射
所谓的反射就是这四个函数: hasattr(p_object, name) 这个函数是一个布尔型,他的目的就是为了决定一个对象是否有一个特定的属性,一般用于访问某个属性前先做一下检查getattr(object, name, default=None) 获取对象的属性,如果输方法就返回这个方法对应的地址,试图获取不存在的属性的时候会引发一个AttributeError异常setattr(p_o原创 2016-10-07 17:39:49 · 320 阅读 · 0 评论 -
JavaScript简单介绍
JSJavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。js代码的存在形式<!-- 方式一 导入外部文件--><script type"text/javascript" src="JS文件"></script><!-- 方式二 直接在所在文件中编写--><script t原创 2016-10-19 19:55:05 · 438 阅读 · 0 评论 -
Python:Twsited异步网络框架
Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议、线程、数据库管理、网络操作、电子邮件等。原创 2016-10-15 20:30:00 · 1056 阅读 · 0 评论 -
算法基础
算法定义算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。时间复杂度时间频度一个原创 2016-10-31 15:02:46 · 401 阅读 · 0 评论 -
Python:简单select模块使用
select 多并发socket 例子#!/usr/bin/env python#coding:utf-8import selectimport socketimport Queuelisten_addr=('0.0.0.0',8000)#监听服务器server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)try: serve原创 2016-10-15 11:03:42 · 3900 阅读 · 2 评论 -
Python:函数参数
1.普通参数。实参与形参的顺序必须一一对应,而且不能少传或者多传def show(user,password): print (user) print (password)show('csdn','csdn')#少传show('csdn')#报错:TypeError: show() takes exactly 2 arguments (1 given)#多传s原创 2016-09-29 10:35:26 · 316 阅读 · 0 评论 -
Python:网络编程
套接字套接字是一种“通信端点”概念的计算机网络数据结构。用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过”套接字”向网络发出请求或者应答网络请求。他们的底层结构都是基于文件系统来支持的。面向连接与无连接面向连接的协议是TCP协议(传输控制协议,TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议),这个协议通信之前需要三次握手。要创建TCP套原创 2016-10-08 14:15:08 · 581 阅读 · 0 评论 -
Pyhton:异常
python中的异常种类非常多,每一个异常专门用于某一项异常。主要是为了代码调试和程序运行 语法:try: expressionexcept: expression #如果try中的代码有异常就执行这段代码else: expression #如果try中的代码没有出现异常就执行这段代码finally: expression #无论try中代码是否有异常,都必须原创 2016-10-09 20:40:03 · 730 阅读 · 0 评论 -
python偏函数应用
函数的currying(柯里化:一个函数有多个参数,我们希望能固定其中几个参数的值。看上去这跟提供参数默认值的情况类似。但默认值只能固定 为单个值,而柯里化能通过泛化出很多个函数,每个函数用 不同的固定值)的概念将函数式编程的概念和默认参数的以及可变参数结合在了一起。currying能够泛化成为PAF PFA(partial funcation application)偏函数这种函原创 2016-06-21 21:57:00 · 616 阅读 · 0 评论 -
Python:迭代器与生成器
1.协程看上去是一个子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。也就是说做一件事情中途停下来转而去做了一件事情,回来还能够继续做第一件事情。包含yield的函数,则是一个可迭代对象。利用next方法,取每一次的yield。利用send方法向yield发送数据实例:>>> def test(num):... print("St原创 2016-09-30 13:42:18 · 306 阅读 · 0 评论 -
Python:线程与GIL简述
什么是进程计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。或者说进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位,所以进程间通讯只能是使用IPC,而不能直接共享信息什么是线程线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有原创 2016-10-10 13:19:06 · 1020 阅读 · 0 评论 -
Python:SQL
MYSQL基本使用以下列出了使用Mysql数据库过程中常用的命令:USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表。 SHOW TABLES: #显示指定数据库的所有表,使用该命令前需要使用 use命令来选择要操作的数据库。 SHOW COLUMNS FROM 数据表:原创 2016-10-14 11:13:13 · 607 阅读 · 0 评论 -
Python:集合
1.数学上,把set称作由不同元素组成的集合,集合对象时一组无序排列的可哈希值,集合成员是可以做字典的键。2.集合支持用in 和not in 操作符来检查成员,由len()得到集合的基数,用for循环迭代集合的成员,单数用于集合本身是无序的,你不可以为集合创建索引或者执行切片操作,有没有键来获取集合中的值。集合中不会出现相同的两个元素3.集合中有2中不同的类型:可变集合set()和不可变集合fro原创 2016-09-26 15:08:58 · 346 阅读 · 0 评论 -
Python:字典
1.字典是python语言中唯一的映射类型,映射类型对象里的哈希值(键,key)和指向的对象(值,value)是一对多的关系2.一个字典对象时可变的,他是一个容器类型,字典类型和序列类型的区别就是存储和访问数据的方式不同,序列类型只用数字类型的键,映射类型可以用其他对象类型做键,映射类型的键直接和间接的和存储的数据值相关联。待续原创 2016-09-25 19:25:19 · 302 阅读 · 0 评论 -
python序列:字符串
1.字符串是一种直接量或者说是一种标量,字符串是不可变类型,简单来说改变一个字符串的元素就等需要新建一个新的字符串。当然,通过拼凑各个部分得到一个新的字符串也还是可以的注意:python的字符串并不是以\0作为结束符的>>> astring="Hello world">>> astring=astring[:6]+'python'>>> astring'Hello python'2.Pyhto原创 2016-09-24 16:17:22 · 2420 阅读 · 0 评论 -
python 序列:列表
1.序列:成员有序排列,并且可以通过下标偏移量访问到他的一个或者几个成员,包括字符串(普通字符串和unicode字符串),列表和元组类型2.序列类型都是有着相同的访问模式,他的每一个元素可以通过指定一个偏移量的方式得到,而多个元素可以通过切片操作的的方式一次得到。 3.序列类型的操作符 seq[index]:获取小标为index的元素 seq[ind1:ind2]:获取下标从i原创 2016-09-24 14:57:19 · 443 阅读 · 0 评论 -
Python序列:元组
1.元组是与列表非常相近的另一种容器,元组和列表相比有一个很重要的区别,元组是一种不可变类型,当处理一组对象时,这个组默认为元组类型2.如果是只有一个元素的元组,需要在元素后面加一个逗号>>> a=('kk')>>> print akk>>> type(a)<type 'str'>>>> a=('kk',)>>> print a('kk',)>>> type(a)<type 'tu原创 2016-09-25 19:16:09 · 276 阅读 · 0 评论 -
Python:条件和循环
1.Python中的if子句看起来十分熟悉,他有三部分组成,关键字本身,用于判断结果真假的条件表达式,以及当表达式为真或者非零时执行的代码块。if语句的语法如下:if expression: expr_true_suit①.多重条件表达式if not warn and (system_load>=10): print "WARNING:losing resources" wa原创 2016-09-27 15:47:47 · 317 阅读 · 0 评论 -
Python:yield协程
协程协程,又称微线程,协程是一种用户态的轻量级线程(操作系统根本就不知道他的存在,是用户自己控制的) 协程是一种函数,特点是其处理过程可以在特定点挂起和恢复,因此典型情况下,协程将执行到某个特定的语句,之后执行过程被挂起等待某些数据,在这个挂起点上,程序是的其他部分可以继续执行,一旦数据到来,协程就从其他挂起点恢复执行,执行一些处理,并可能将其处理结果发送给另一个协程,协程可以有多个入口点和原创 2016-10-12 19:54:24 · 735 阅读 · 0 评论 -
Python与数据库
数据库和Python持久化存储在任何应用中,都需要持久化存储,一般有三种基础的存储机制,文件,数据库系统,以及一些混合类型,一种是使用普通文件或者python特定文件进行访问,另一种是使用数据库管理器访问。数据库底层存储数据库通常使用文件系统作为基本的持久化存储,他可以是普通的操作系统文件,专用的操作系统文件,甚至是原始的磁盘分区数据库数据库存储可以抽象原创 2016-10-24 19:13:16 · 10794 阅读 · 0 评论 -
Python:map,filter和zip
1.map内建函数map(function, sequence, *sequence_1)参数是一个函数,一个或者多个序列将序列中的每一个元素取出来传入函数中,再将函数结果的返回值组成一个新的序列实例:def test(x): return x**2>>>l=[2,3,4,5,6]>>> map(test,l)[4, 9, 16, 25, 36]>>>>>>原创 2016-09-29 11:34:30 · 337 阅读 · 0 评论 -
Django基础
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 一个算法应该具有以下七个重原创 2017-07-25 16:26:26 · 587 阅读 · 0 评论