茶亦醉人何必酒,书能香我无须花!

张帆风顺破重浪,兰幽山间心坦荡。 斌礼厚徳创伟业,志壮凌云走四方!
posts - 170, comments - 560, trackbacks - 8, articles - 4
  博客园 :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理

公告

Dynamic Language

摘要: Python 2.7 中的OrderedDict 可以在迭代字典Items的时候保证按每项插入的顺序输出。 当删除某项再用同样的key写入时,此项排在迭代的最后,同样是插入顺序排列的。阅读全文

posted @ 2011-10-10 15:25 ※ABeen※ 阅读(96) | 评论 (0) 编辑 |

摘要: Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8)和有潜在问题的代码。 * Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,一个声明过的接口是否被真正实现等。 * Pylint 的一个很大的好处是它的高可配置性,高可定制性,并且可以很容易写小插件来添加功能。 * 如果运行两次 Pylint,它会同时显示出当前和上次的运行结果,从而可以看出代码质量是否得到了改进。阅读全文

posted @ 2011-01-20 16:35 ※ABeen※ 阅读(237) | 评论 (1) 编辑 |

摘要: Python 是一门动态语言,可以在运行过程中,改过对象的属性增删方法。任何类的实例对象包含一下字典__dict__, Python通过这个字典将任意属性绑定到对象上的。有时候我们只想使用固定的对象,而不想任意绑定对象,这时候我们可以定义一个属性名称集合,只有在这个集合里的名称才可以绑定。__slots__就是完成这个功能的。阅读全文

posted @ 2011-01-16 16:28 ※ABeen※ 阅读(283) | 评论 (1) 编辑 |

摘要: 其实g属性是在ABeen类语句执行的时候,通过传递函数对象f创建的,虽然Shan类语句在执行的时候重新定义了函数f, 但这与属性无关,因为属性不执行对这个名称的查找,而是使用在创建时使用的函数对象。 要想实现我们想象中的行为,可以借"猪"一个中间层来实现,如下借“猪”getf来实现.阅读全文

posted @ 2011-01-13 23:18 ※ABeen※ 阅读(234) | 评论 (1) 编辑 |

摘要: Python 函数支持identifier=expression这样的命名参数,def语句在执行时将计算这种表达式并保存该表达式的值一个引用。 这个值就是参数的默认值,也是函数对象的一个属性。当函数调用没有提供对应的实际参数时,函数就会调用其默认值来执行。 需要注意的是def语句执行时并不执行函数体,只计算参数中表达式的值并保存值引用。当函数调用时才执行函数体。 这样一来,如果参数是不可变对象不会有问题,如果是可变对对象就会有问题了。阅读全文

posted @ 2010-12-11 14:51 ※ABeen※ 阅读(117) | 评论 (1) 编辑 |

摘要: For 循环可以查看迭代对象中的每个项目,并使用一个表达式对某些项目或全部项目进行计算, 通过添加计算的结果来建立一个新列表。这种表达式的形式称为列表推导(list comprehension)。 由于列表推导是一个表达式,所以我们可以在使用表达式的地方使用列表推导。 列表推导相当于通过重复调用结果列表的append方法建立相同列表的for循环。阅读全文

posted @ 2010-12-11 14:00 ※ABeen※ 阅读(86) | 评论 (1) 编辑 |

摘要: Python Tips, 持续更新中... Python Slicing 序列切片代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->In [1]: l = [1,2,3,4]In [2]: l[1:3]Out[2]: [2, 3]In [4]: l[1:] //省略结束Out[4]: [2, 3, 4]In [5]: l[:2] //省略开始Out[5]: [1, 2]In [8]: l[::-1] //基数倒排序Out[8]: [4, 3阅读全文

posted @ 2010-12-04 20:13 ※ABeen※ 阅读(70) | 评论 (0) 编辑 |

摘要: Python 取一年中某周的起始日期, 思路:如果一年的第一天不是周一,则当前周为去年的最后一周,下周为本年的第一周。以当年的第一天在当前周中的索引为思路实现。希望各位提供更好的思路。[代码]执行结果:代码阅读全文

posted @ 2010-11-11 22:41 ※ABeen※ 阅读(65) | 评论 (0) 编辑 |

摘要: Python File Operator基本文件操作In [1]: f = open('test.txt')In [2]: f.read()Out[2]: 'abeen....2010-10-21 20:28:10.303459\nabeen....2010-10-21 23:17:51.120509\nabeen....2010-10-21 23:18:13.574263\n'In [8]: f...阅读全文

posted @ 2010-10-22 22:13 ※ABeen※ 阅读(76) | 评论 (0) 编辑 |

摘要: os模块中比较有用的部分 1. os.sep 可以取代操作系统特定的路径分割符。 2. os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。 3. os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 4. os.getenv()和os.putenv()函数分别用来读取和设置环境变量。 ...阅读全文

posted @ 2010-10-22 16:45 ※ABeen※ 阅读(68) | 评论 (0) 编辑 |

摘要: Python Library: unittest 对于熟悉 NUnit 的人来说,Python unittest 可以很快上手。 TestCase, FunctionTestCase: 创建包含测试方法的测试用例。 TestSuite: 组合多个测试用例,用于批量测试。 TestLoader: 可通过多种手段自动查找测试用例,返回 TestSuite。 TestRunner, TextTestRu...阅读全文

posted @ 2010-10-12 18:56 ※ABeen※ 阅读(95) | 评论 (0) 编辑 |

摘要: Python pdb 和 GNU gdb一样容易上手,Module pdb 本身就包含了调式工具。 阅读全文

posted @ 2010-10-11 17:56 ※ABeen※ 阅读(78) | 评论 (0) 编辑 |

摘要: Django站点管理 管理工具其实就是一个Django应用程序,包含自己的模块、模板、视图和 URLpatterns。 我们要像添加自己的视图一样,把它添加到URLconf里面。 我们可以在Django基本代码中的django/contrib/admin 目录下,检查它的模板、视图和URLpatterns。 当服务启动时,Django从url.py引导URLconf,然后执行admin.autod...阅读全文

posted @ 2010-09-12 23:50 ※ABeen※ 阅读(165) | 评论 (0) 编辑 |

摘要: Python Django 在配置完Admin管理界面后,用super admin登录管理界面显示:"You don't have permission to edit anything"查文档发现:Above we used admin.autodiscover() to automatically load theINSTALLED_APPS admin.py modules.很明显Djang...阅读全文

posted @ 2010-09-12 16:09 ※ABeen※ 阅读(150) | 评论 (0) 编辑 |

摘要: 动态语言的一个重要特征是直接运行代码字符串。Python内置函数里,exec 关键字执行多行代码片段,eval() 函数通常用来执行一条包含返回值的表达式,execfile 用来执行源码文件。exec [代码]Evaleval() 和 execfile() 都有 "globals, locals" 参数,用于传递环境变量,默认或显式设置为 None 时都直接使用 globals() 和 local...阅读全文

posted @ 2010-09-11 17:31 ※ABeen※ 阅读(426) | 评论 (2) 编辑 |

摘要: Redis 是一个高性能的key-value数据库。 它支持存储的value类型包括string、hash、list、set 和 zset等。redis还支持各种不同方式的排序。All the commands available in Redis 2.0.0. API Referenceappend(self, key, value)Appends the string value to the value at key. If key doesn't already exist, create it with a value of value. Returns the new le阅读全文

posted @ 2010-08-21 21:27 ※ABeen※ 阅读(282) | 评论 (0) 编辑 |

摘要: Python格式化日期时间的函数为 :datetime.datetime.strftime()如:datetime.now()..trftime("%Y-%m-%d %p %H:%M:%S %A")字符串转为日期型的函数为:datetime.datetime.strptime()格式化字符串,如下:%a Abbreviated weekday name%A Full weekday name%...阅读全文

posted @ 2010-08-20 13:04 ※ABeen※ 阅读(478) | 评论 (0) 编辑 |

摘要: Dot Notation (Reaching into Objects) 查看数据[代码]查找"address的city"为"shandong"[代码]利用嵌入对象信息条件查找(嵌入对象的key和value必须全使用)[代码]Array Element by Position数组元素按位置查找[代码]查找爱好的第一项是"grape"的[代码]查找第一条评论是"abeen"发的信息[代码]Match...阅读全文

posted @ 2010-08-18 23:53 ※ABeen※ 阅读(156) | 评论 (0) 编辑 |

摘要: Mongo Query Language 类似 Sql 语句$query - 查询类似于sql中的 where$orderby - 排序{x:1},1为升序 -1为降序$query - 查询类似于sql中的 where$orderby - 排序{x:1},1为升序 -1为降序[代码]//select name, address from table where name like '%a%'按找指...阅读全文

posted @ 2010-08-18 18:39 ※ABeen※ 阅读(415) | 评论 (0) 编辑 |

摘要: Python的缩进也是一种格式,如果几个人的缩进不一样,比如:有人用空格有人用tab,在代码整合的时候就有可能出现这种错误。今天我是遇到了,而且用肉眼还看不出来。解决方法:vim 下用gg=G,先把源码格式化一下,然后再重新缩进(代码量少可以这样,代码多了就累了,还是找别的方式吧)。阅读全文

posted @ 2010-08-04 17:59 ※ABeen※ 阅读(220) | 评论 (0) 编辑 |

摘要: 代码代码阅读全文

posted @ 2010-07-25 18:15 ※ABeen※ 阅读(95) | 评论 (0) 编辑 |

摘要: Django 模型//创建App应用程序python manage.py startapp books//建立模型代码模型安装修改 settings.py 配置信息代码//验证模型的有效性[代码]//打印输出sql语句代码//同步模型到数据库代码基本数据访问代码选择对象集[代码]数据过滤代码In [21]: publishers = Publisher.objects.filter(name="a...阅读全文

posted @ 2010-07-09 00:04 ※ABeen※ 阅读(165) | 评论 (0) 编辑 |

摘要: Django 视图中使用模板模板加载首先设置 setting.py 文件的 TEMPLATE_DIRS ,告诉Django框架我们的模板文件存放的位置。[代码]或[代码]我们先看一个视图中使用模板的简单示例在路由代码添加test路径代码视图代码调用test.html模板代码模板代码[代码]运行显示结果Hello abeen. Django在视图中使用模板就这么简单。----------------...阅读全文

posted @ 2010-06-23 00:36 ※ABeen※ 阅读(191) | 评论 (0) 编辑 |

摘要: 模板系统带有内置的标签和过滤器标签if/else代码在Python和Django模板系统中,以下对象相当于布尔值的False空列表([])、空元组(())、空字典({})、空字符串('')、零值(0)、特殊对象None、对象False.代码一定要用 {% endif %} 关闭每一个 {% if %} 标签。系统不支持用圆括号来组合比较操作。 如果需要用到圆括号来组合表达你的逻辑式,考虑将它移到模...阅读全文

posted @ 2010-06-20 23:07 ※ABeen※ 阅读(270) | 评论 (0) 编辑 |

摘要: 上下文(context)对象Context可以通过一个完全填充(full populated)的字典来初始化,也可以使用标准的Python字典语法向其添加删除条目。[代码]---------------------------------------------------------------------------KeyError Traceback (most recent call la...阅读全文

posted @ 2010-06-17 23:03 ※ABeen※ 阅读(104) | 评论 (0) 编辑 |

摘要: Django 模板系统模板是一个文本,用于分离文档的表现形式和内容。 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签)。模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档。使用 Django 的设置启动交互解释器 python manage.py shell Django搜索DJANGO_SETTINGS_MODULE环境变量,它被设置在set...阅读全文

posted @ 2010-06-17 22:38 ※ABeen※ 阅读(208) | 评论 (0) 编辑 |

摘要: 创建项目 运行命令django-admin.py startproject mysite 会在你的当前目录下创建一个目录mysite运行内置的轻量级开发服务器 切换到你的项目目录里 (cd mysite ),运行下面的命令: python manage.py runserver python manage.py runserver 8080 python manage.py runserver 0...阅读全文

posted @ 2010-06-17 22:35 ※ABeen※ 阅读(61) | 评论 (0) 编辑 |