Python
文章平均质量分 74
Scandinavians
明天会更好!
展开
-
希尔排序的Python实现
代码:#! /usr/bin/env python#coding=utf-8import randomdef shell_sort_pass(lst,left,delta): for i in range(left+delta,len(lst),delta): pivot = lst[i] while (i > left and lst[i-d原创 2015-01-17 22:39:19 · 468 阅读 · 0 评论 -
Python字符编码详解
作者:AstralWind原文地址:转载 2014-07-27 19:44:48 · 280 阅读 · 0 评论 -
[Python]win32com模块编程初探
1,Excel#! /usr/bin/env python#coding=utf-8from Tkinter import Tkfrom time import ctimefrom tkMessageBox import showwarningimport win32com.client as win32warn = lambda app:showwarning(app,'ex原创 2014-07-31 17:43:51 · 1623 阅读 · 1 评论 -
Python函数式编程指南(四):生成器
4. 生成器(generator)4.1. 生成器简介首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中。另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简单不少,所以生成器也是最常用到的特性之一。从Python 2.5开始,[PEP 342:通过增强生成器实现协同程转载 2014-07-27 17:40:19 · 417 阅读 · 0 评论 -
Python线程指南
1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"s转载 2014-07-27 15:56:18 · 342 阅读 · 0 评论 -
根据码本对字符串进行替换
作者:AstralWind原文地址:转载 2014-07-27 20:47:05 · 340 阅读 · 0 评论 -
Python正则表达式指南
一、 正则表达式基础1.1.概念介绍正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程:正则表达式的转载 2014-07-26 19:00:11 · 367 阅读 · 0 评论 -
Python函数式编程指南(二):函数
2. 从函数开始2.1. 定义一个函数如下定义了一个求和函数:12def add(x, y): return x+ y关于参数和返回值的语法细节可以参考其他文档,这里就略过了。使用lambda可以定义简单的单行匿名函数。lambda的语法是:转载 2014-07-27 16:38:59 · 301 阅读 · 0 评论 -
Python函数式编程指南(一):概述
作者:AstralWind原文地址:1. 函数式编程概述1.1. 什么是函数式编程?函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始终能产生同样的结果。在一个函数式的程序中,输入的数据“流过”一系列的函数,每一个函数根据它的输入产生输出。函数式风格避免编写有“边界效应”(sid转载 2014-07-27 16:23:58 · 307 阅读 · 0 评论 -
Python装饰器与面向切面编程
作者:AstralWind原文dzi:http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html转载 2014-07-27 14:51:03 · 275 阅读 · 0 评论 -
[Python]正则表达式(...)分组的扩展示例
(?...)This is an extension notation (a '?' following a '(' is not meaningful otherwise). The first character after the'?' determines what the meaning and further syntax of the construct is. Exte原创 2014-07-26 18:32:43 · 641 阅读 · 0 评论 -
Python函数式编程指南(三):迭代器
z3. 迭代器3.1. 迭代器(Iterator)概述迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。迭代器也不是线程安全的,在多线程环境中对可变集合使用迭代器是一个危险的操作。但如果小心谨慎,或者干脆转载 2014-07-27 17:25:40 · 322 阅读 · 0 评论 -
Python自省(反射)指南
作者:AstralWind原文地址:首先通过一个例子来看一下本文中可能用到的对象和相关概念。123456789101112131415#coding: UTF-8import sys# 模块,sys转载 2014-07-27 18:54:35 · 284 阅读 · 0 评论 -
Python装饰器实例:调用参数合法性验证
作者:AstralWind原文地址:转载 2014-07-27 20:06:57 · 781 阅读 · 0 评论 -
计数、基数和桶排序的Python实现
计数排序:#! /usr/bin/env python#coding=utf-8import random,copyfrom collections import defaultdictdef count_sort(lst, key=lambda x: x): B,C = [], defaultdict(list) for x in lst: C[k原创 2015-01-17 22:51:22 · 635 阅读 · 0 评论 -
快排、堆排和归并排序的Python实现
快速排序:#! /usr/bin/env python#coding=utf-8import random,copydef partition(lst,left,right): pivot = lst[left] pivot_index = left left = left + 1 while True: # when pivot as原创 2015-01-17 22:46:25 · 520 阅读 · 0 评论 -
基本排序的Python实现
冒泡排序:#! /usr/bin/env python#coding=utf-8import randomdef bubble_sort_raw(seq): pass_cnt = len(seq) - 1 for i in range(pass_cnt): for j in range(len(seq)-i-1): if seq原创 2015-01-17 21:47:11 · 518 阅读 · 0 评论 -
Python字符串操作和string模块代码分析
作者:zorro大虾原文地址:转载 2014-08-12 17:16:16 · 755 阅读 · 0 评论 -
[Python]random模块中的常用函数
1、random.random random.random()用于生成一个0到1的随机符小数: 0 >>> random.random() # Random float x,2、random.uniformrandom.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是原创 2014-07-16 22:46:51 · 1071 阅读 · 0 评论 -
[Python]MySQLdb模块编程初探
#! /usr/bin/env python#coding=utf-8import MySQLdbimport randomimport sysimport stringtry: conn = MySQLdb.connect(host='127.0.0.1', user='root',passwd='****')except Exception,e: p原创 2014-07-31 02:04:15 · 467 阅读 · 0 评论 -
[Python]核心编程之GUI编程(其他GUI初探)
一、Tk Interface eXtensions(Tix)原创 2014-07-29 22:25:37 · 788 阅读 · 0 评论 -
[Python]核心编程之GUI编程(Tkinter)
一,Tkinter介绍Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口。Tkinter不是唯一的python图形编程接口,但是是其中比较流行的一个。最大的特点是跨平台,缺点是性能不太好,执行速度慢。一般使用Tkinter的方法是:From Tkinter import *或者: import Tkinter 两者的原创 2014-07-29 22:03:26 · 1460 阅读 · 0 评论 -
Python核心编程之字典和集合
1、了解字典字典是python中唯一的映射类型。映射类型对象里哈希值和指向的对象是一对多的关系。字典对象是可变的。字典类型和序列类型容器(列表、元组)的区别是存储和访问数据的方式不同。序列类型只用数字类型的键,从序列的开始起按数值顺序索引;字典类型可以用其他对象类型做键,常见的是用字符串做键,键直接或间接地和存储的数据值相关联。2、创建字典,给字典赋值转载 2014-07-17 01:38:49 · 520 阅读 · 0 评论 -
[Python]几个正则表达式匹配的例子
例一、匹配以abc开头的单词原创 2014-07-26 22:45:29 · 720 阅读 · 0 评论 -
[Python]核心编程之生产者-消费者和Queue模块
Queue模块可以用来进行x原创 2014-07-26 02:04:18 · 448 阅读 · 0 评论 -
[Python]核心编程之多线程编程
Python代码代码的执行由python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时候,只有一个程序在CPU中运行。同样,虽然python解释器可以“运行”多个线程,但在任意时刻,只有一个线程在解释器中运行。 对python虚拟机的访问由全局解释器原创 2014-07-25 21:02:17 · 482 阅读 · 0 评论 -
[Python]collections模块中的Counter类
collections模块中的的Counter类为原创 2014-07-25 18:12:38 · 2929 阅读 · 0 评论 -
[Python]面向对象编程(一)
Python中的OOP相关术语:抽象原创 2014-07-20 18:05:29 · 485 阅读 · 0 评论 -
[Python]核心编程之函数
一、什么是函数(1)函数和过程 过程一般无返回值,Python中函数默认返回None。(2)返回值与函数类型 同上,Python在没有return语句时返回None。Python中的多返回值可以放到容器中,比如列表、元组等等。def foo(): print "foo called."print foo()原创 2014-07-19 20:57:16 · 460 阅读 · 0 评论 -
[Python]sorted()函数与list.sort()函数
将一个列表进行shenxu原创 2014-07-18 21:27:44 · 842 阅读 · 0 评论 -
Python核心编程之迭代器和生成器
迭代器和iter()函数(1)什么是迭代器 迭代器是版本2.2被加入Python中的,它为类序列对象提供了一个类序列的借口。(2)为什么要迭代器 引用PEP(234)中对迭代器的定义:提供了可扩展的的迭代器借口;对列表迭代带来了性能上的增强;在字典迭代中性能提升;创建真正的迭代借口,而不是原来的随机对象访问;与所有已经存在的用户定义的类以及扩展的模拟原创 2014-07-17 17:02:53 · 542 阅读 · 0 评论 -
[Python]打印九九乘法表
#九九乘法表for i in range(10): print " ".join(["%d*%d=%-2d"%(j,i,j*i) for j in range(1,i+1)])1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=2原创 2014-07-19 14:30:12 · 1239 阅读 · 0 评论 -
[Python]os模块和os.path模块的常用函数
os 模块属性linesep 用于在文件中分隔行的字符串sep 用来分隔文件路径名的字符串pathsep 用于分隔文件路径的字符串curdir 当前工作目录的字符串名称pardir (当前工作目录的)父目录字符串名称os 模块的文件/目录访问函数文件处理mkfifo()/mknod() 创建命名管道/创建文件系统节点remove()/unlink()转载 2014-07-17 21:18:17 · 425 阅读 · 0 评论 -
[Python]偏函数应用
Currying的概念将函数式编程的概念和moren原创 2014-07-18 19:25:01 · 492 阅读 · 0 评论 -
Python文件对象的内建方法和属性
一,内建函数open()和file() 语法:file_object = open(fiel_name, access_mode='r', buffering=-1) File_name是要打开的文件名字的字符串,可以使相对路径或者绝对路径,access_mode可选参数,表示文件打开的模式,'r','w','a' 分别代表读取,写入和追加。还有个'U'模式,代表通用换行符原创 2014-07-17 20:41:08 · 779 阅读 · 0 评论 -
用Python中的列表模拟栈和队列
栈:class Stack: # implementing a stack using python lists def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self,it原创 2014-07-16 21:54:08 · 968 阅读 · 0 评论 -
对新Python程序员有用的内建函数
对新Python程序员有用的内建函数函数描述原创 2014-07-16 20:37:46 · 370 阅读 · 0 评论 -
[Python]属性和property内建函数
早期的Python版本中,我们一般用__getattr__()和__setattr__()原创 2014-07-21 21:27:23 · 729 阅读 · 1 评论 -
[Python]面向对象编程之描述符(Descriptors)
描述符可以理解为表示原创 2014-07-21 19:54:24 · 459 阅读 · 0 评论 -
[Python]利用type()动态创建类
Python作为动态语言,原创 2014-07-21 22:18:27 · 5698 阅读 · 0 评论