代码改变世界

随笔分类 -  原创

Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)

2013-02-04 20:29 by VVG, 2704 阅读, 收藏, 编辑
摘要: 一、正则表达式 python正则常用的函数和方法 compile(pattern,flags=0) 对正则表达式pattern进行编译,flags是可选标识符,并返回一个regex对象 match(pattern,string,flags=0) 尝试用正则表达式模式pattern匹配字符串string,flags是可选标识符,如果匹配成功,则返回一个匹配对象;否则返回None search(pattern,string[,flags]) 在字符串string中搜索正则表达式模式pattern的第一次出现,flags是可选标识符,如果匹配成功,则返回一个匹配对象;否... 阅读全文

HTML5 Canvas 绘制时钟

2013-01-29 15:47 by VVG, 7065 阅读, 收藏, 编辑
摘要: demo演示:用到的一些绘制方法说明:context.translate(x,y)方法,重新设置画布的坐标源点,设置后,x,y坐标处为变为起始坐标(0,0);context.arc(圆心x坐标, 圆心Y坐标, 圆半径, 起始弧度,结束点弧度, 是否顺时针)方法绘制圆形,或者圆弧;context.rotate(弧度) 方法接受一个弧度制参数,旋转画布,然后绘制图形,相当于给绘制的图形旋转一个角度;context.save() 和context.restore() 方法,记录起始状态和回复状态context.fillRect(矩形左上角X坐标,Y坐标,宽度,高度): 绘制矩形context.fil 阅读全文

Python学习笔记《Python核心编程》第13章 面向对象编程

2013-01-28 20:05 by VVG, 4802 阅读, 收藏, 编辑
摘要: 类: 类与函数的声明很相似,如下:class ClassName(object): 'class documentation string' #类文档字符串 class_suite #类体类属性: class c(object); foo = 100 #类属性,也就是静态属性,直接通过类名引用,不通过过实例 print c.foo # 100类方法: class MyClass(object): def myNoAct... 阅读全文

Python学习笔记《Python核心编程》第11章 函数和函数式编程

2013-01-26 15:50 by VVG, 3692 阅读, 收藏, 编辑
摘要: 如果函数没有返回值。则函数的返回值为None。函数可以返回一个值或者对象。 def foo(): return ['xyz',1000000,-98.6] def bar(): return 'abc',[12,'python'],'Guido' #其实返回的是一个元组。省略了圆括号('abc',[12,'python'],'Guido') 用圆括号来调用函数。如:bar() foo() 关键字参数:允许参数缺失或者不按顺序,解释器能通过给出的关键字来匹配参数的值。如: def fo 阅读全文

Python学习笔记《Python核心编程》第9章 文件和输入输出

2013-01-22 22:17 by VVG, 11888 阅读, 收藏, 编辑
摘要: 9.1 文件内建函数 open() 内建函数成功打开文件后返回一个文件对象,否则引发一个错误。基本语法: flie_object = open(file_name,access_mode='r',buffering=-1) file_name 是包含要打开的文件名字的路径,可以试相对路径或者绝对路径。可选变量access_mode是一个字符串,代表文件打开的模式。 文件使用‘r’,‘w’,或者是‘a’模式来代开,代表读取,写入和追加,还有一个‘U’模式,代表通用换行符支持 ,另外一个可选参数buffering用于指示访问文件所采用 的缓冲方式,其中0表示不缓冲,1表示只缓冲.. 阅读全文

Python学习笔记《Python核心编程》第8章 条件和循环

2013-01-21 22:01 by VVG, 1193 阅读, 收藏, 编辑
摘要: if 语句 由三部分组成:关键字本身,用于判断结果真假的条件表达式,以及当表达式为真或者非零时执行的代码块: if expression: expr_true_suite可以通过使用布尔操作符and or not 实现多重判断条件 if not warn and (system_load >= 10): print "WARNING:losing resources" warn +=1如果以个复合语句的代码块仅仅包含一行代码,那么可以写在 一行上 if make_hard_copy:send_data_to_printer()else 语句 if expres... 阅读全文

Python学习笔记《Python核心编程》第7章 映像和集合类型

2013-01-20 21:06 by VVG, 1132 阅读, 收藏, 编辑
摘要: 7.1 映射类型:字典 7.1.1 创建字典和给字典赋值 dict1 = {} dict2 = {'name':'earth','port':80} 也可以用工厂方法来创建字典:fdict = dict((['x',1],['y',2])) => {'y':2,'x':1} 7.1.2 访问字典中的值 遍历字典: for key in dict2.keys(): print 'key = %s,value=%s' % (key,dict2[key]) #key 阅读全文

Python学习笔记《Python核心编程》第6章 序列:字符串、列表、元组

2013-01-19 21:03 by VVG, 1943 阅读, 收藏, 编辑
摘要: 序列类型操作符 1、成员关系操作符(in、not in):用来判断一个元素是否属于一个序列。返回值为True/False。语法如下: 对象 [not] in 序列 2、连接操作符(+):允许我们把一个序列和另一个相同类型的序列做连接: sequence1 + sequence2 #推荐使用列表类型的extend()方法来把两个或者多个列表对象合并。 3、重复操作符(*),一个序列多份拷贝,语法如下: sequence * copies_int #copies_int必须为整型 4、切片操作符([],[:],[::]),这个操作符非常方便啊,javascrip... 阅读全文

Python学习笔记《Python核心编程》第5章 数字

2013-01-18 16:35 by VVG, 1039 阅读, 收藏, 编辑
摘要: python 支持多种数字类型:整型、长整型、布尔型、双精度浮点型、十进制浮点型和复数。数字类型函数: 1、转换工厂函数 函数int()、long()、float() 和 complex() 用来将其他数字类型转换为相应的数值类型。 int(4.25555) #4 | int(obj,base=10) 返回一个字符串或者数值对象的整型表示 long(42) #42L | long(obj,base=10) 返回一个字符或者数据对象的长整型表示 float(4) #4.0 ... 阅读全文

JS Tween动画效果研究 : - )Tween公式使用

2013-01-16 17:20 by VVG, 13505 阅读, 收藏, 编辑
摘要: 先看iframe一下DEMO:DEMO:点击直接查看Tween中的方法接受4个参数t,b,c,d 。返回值为计算后的当前位置.t => time(初始记步次数) b => begin(初始位置) c => change(变化量) d => duration(持续次数)如:Quad:{ easeIn:function (t, b, c, d) { return c * (t /= d) * t + b; }, easeOut:function (t, b, c, d) { ... 阅读全文

Python学习笔记《Python核心编程》第4章Python对象

2013-01-14 21:24 by VVG, 620 阅读, 收藏, 编辑
摘要: 所有的python对象都拥有三个特性:身份,类型和值 身份:每个对象都有一个唯一的身份标识自己,可以使用内建函数id()来得到,这个值被认为是该对象的内存地址;——只读 类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么操作,可以用内建函数type()查看对象的类型,type()返回的也是对象(类型也是对象);——只读 值:对象标识的数据项python标准类型: 数字 Interger/整型 Boolean/布尔型 Long integer/长整型 Floating point real number/浮点型 Complex number/复数型 Strin... 阅读全文

Python学习笔记《Python核心编程》第3章Python基础

2013-01-13 21:39 by VVG, 891 阅读, 收藏, 编辑
摘要: 语句和语法 井号(#)表示之后的字符为python注释; 换行(\n)是标准的行分隔符 反斜杠(\)继续上一行 分号(;)将两个语句连接在一行中 冒号(:)将代码块的头和体分开 语句(代码块)用缩进块的方式体现 不同缩进深度分隔不同的代码块 python文件以模块的形式组织。赋值操作符 等号赋值: x = 5 增量赋值: x = x + 1 ; x+=1; 多重赋值:x = y = z = 1 “多元”赋值:x,y,z = 1,2,'string' 或者 (x,y,z)=(1,2,'string') 多元赋值可以完成变量交换:x,y = 1,2; x,y = y 阅读全文

Python学习笔记《Python核心编程》第2章 快速入门

2013-01-11 21:41 by VVG, 1465 阅读, 收藏, 编辑
摘要: Guido van Rossum于1989年底创建python;Python源文件通常用.py扩展名。Python是按照字节编译的,其结果就是可以生成一种近似机器语言的中间形式。 官网:http://python.org,可以下载相关软件;输出:1、print语句:程序输出 print ‘hello World’;2、下划线 _ 在解释器中表示最后一个表达式的值;3、print语句与字符串操作符(%)结合使用,可实现字符串替换功能: print “%s is number %d!” % ("Python",1); # %s表示由一个字符串来替换,d%表示由一个整型来替换,f 阅读全文

HTML5 canvas banner广告编辑插件,canvas画图实例

2012-12-01 14:49 by VVG, 3878 阅读, 收藏, 编辑
摘要: 请用谷歌或则火狐浏览器浏览!DEMO演示:点击演示DEMO下载:点击下载利用HTML5 canvas中的canvas.toDataURL 可以对画布进行输出操作,可以利用这个特性做出图像的裁剪功能以前要做裁剪操作需要传递数据到后端,如PHP,利用相应的图像操作函数操作保存!现在使用HTML5方便多了截图演示:输出图片:关键代码:1、使用FileReader读取FILE表单文件Filereader有下面几种方法,预览图片用到的是readAsDataURL。方法名参数描述abortnone中断读取readAsBinaryStringfile将文件读取为二进制码readAsDataURLfile将文 阅读全文

用Javascript replace方法完成代码高亮插件——支持JS\CSS\HTML(支持html里面的JS,CSS)

2012-11-22 20:30 by VVG, 2980 阅读, 收藏, 编辑
摘要: 看到语法高亮的帖子,然后下班路上想了一下,有一个具体的思路,但是不知道别人如何实现,总觉得自己想法会太复杂,主要就是用到Javascript的字符串的处理方法replace,然后利用正则表达式替换包裹HTML标签,全程都是字符串的处理,输出的也是字符串。先把自己实现的发上来,只是简单的字符串替换,复杂的情况还满足不了,特别是特殊的注释与正则表达式不能够很好的识别点击下载此代码演示如下:语法高亮在这里输入代码: .codePre span.lineComment { color: #808080; } .codePre span.lineComment span { color: #... 阅读全文

jQuery源码分析:jQuery对象属性设置(attr、access、$.attr)源代码分析

2012-11-02 16:04 by VVG, 2423 阅读, 收藏, 编辑
摘要: jQuery中设置对象属性有以下几种:1、获取属性attr(name) $("img").attr("src"); 2、设置属性attr(name,value)$("img").attr("src","test.jpg");3、批量设置属性attr(properties)$("img").attr({ src: "test.jpg", alt: "Test Image" });4、为所有匹配的元素设置一个计算的属性值,由这个函数计算的值 阅读全文

Javascript 瀑布流实现的两种方式:固定列数的浮动布局与绝对定位自适应宽度

2012-09-10 22:36 by VVG, 10490 阅读, 收藏, 编辑
摘要: 瀑布流已经火了一段时间了,自己最近研究了一下,网上关于瀑布流的帖子也很多,网上一般是说三种方式,固定列数的浮动布局,CSS3列布局,绝对定位布局推荐两个关于瀑布流的帖子,写得比我详细多了:迅雷的:http://cued.xunlei.com/log031张鑫旭的:网址太长点我这里主要是记录一下我的实现方式,用数组模拟的数据,也可以用AJAX实现读取数据,底部提供DEMO代码下载!一、固定列数的浮动布局 这种方式简单适用,先按照列数把布局固定好,然后在滚动事件中分别在每一列插入相应的数据既可,代码比较简单: 其实就一个滚动加载事件。我这里没有做按高低排序。 点击查看DEMO演示 代码如... 阅读全文

常用关于 JavaScript 中的跨域访问方法

2012-08-15 11:44 by VVG, 4492 阅读, 收藏, 编辑
摘要: JS中的跨域是受到限制的,但是跨域有时候又是必须的,藉此,各种高手牛人想尽办法使得JS能够跨域获取数据,有的方法真的很巧妙在此记录一下常用的三种跨域方法,如下:一、不同子域名之间的(a.example.com|b.example.com)的跨域访问。 这种跨域调用比较常见,比如a.example.com 下的 a.htm 页面,需要调用 b.example.com 下的 b.htm页面里面的getData函数, 首先需要在a.htm页面中用iframe 框架把b.htm页面引用进来<iframe id="b" src="http://b.example.co 阅读全文

jQuery源码中的chunker 正则过滤符分析

2012-07-31 16:50 by VVG, 1903 阅读, 收藏, 编辑
摘要: var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,这是Jq中最长的一个正则了,也研究了很久,一直很懵懂,感觉还是通过调试,然后一步一步的分析值理解起来比较容易,我尝试做成图形比较直观一点,以不同的颜色区分了一下,如下图:分组一是通过以下代码逐一拆分成一个数组的: // 此处 阅读全文

系统总结了一下CSS布局方面的知识

2012-07-21 21:44 by VVG, 1866 阅读, 收藏, 编辑
摘要: 一、两栏布局(左边固定宽度,右边自动适应)方法1、左浮动其中一个DIV,使其脱离文档流,另一个DIV不设置浮动即可。注意:DIV的顺序不能改变PS:设置浮动可以让元素脱离正常的文档流,使后面的元素占据浮动元素本身的位置。但是浮动元素只能影响后面的元素的位置,而不能够影响前面的元素,也不能叠加在前面的元素上。(view类样式只是为了层便于识别);.view{ height: 200px; background: #ccc;}#id1{float: left; width: 200px;}#id2{background: #666; } 侧边栏(float: left; width: 200... 阅读全文