Python FreshMan

★☆ Python新手的Blog ☆★
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

摘要: Python实在也太强大了!正如那句Python社区中很有名的话所说的:“battery included”!要我说,Python不仅带了电池,充电器它都带着呢! 阅读全文

posted @ 2010-02-22 14:30 闫小勇 阅读(66337) 评论(37) 推荐(13) 编辑

2010年4月5日

摘要: 模块与包是在物理上组织Python代码复用的一种有效方式,它有点类似于C#中的程序集(Assembly)。初学Python不一定要会自己建立模块和包,但一定要学会使用各种包,这正是Python的强大之处:Python带着各种各样的battery。 阅读全文

posted @ 2010-04-05 12:45 闫小勇 阅读(5770) 评论(6) 推荐(5) 编辑

2010年4月4日

摘要: 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented)应该不会陌生。Python与C#一样,能够很好地支持面向对象的编程模式。本章对Python中面向对象编程的基本知识进行介绍,并将其与C#中的对应部分进行比较。 阅读全文

posted @ 2010-04-04 19:07 闫小勇 阅读(8354) 评论(10) 推荐(1) 编辑

2010年3月30日

摘要: 最近用PyQt4做本地程序,发现Qt的控件和WinForm的控件在命名上有点小差别,有时候想加一个控件却不知道Qt中的名字是什么。今天找了一些资料:一个是Qt Widget Gallery,一个是Qt's Main Classes,还有一个是我自己从Qt designer里截的屏。把这些乱七八糟的图片放在blog里,方便以后忘了备查。图片版权归原作者所有,本人只是转载和整理:) 阅读全文

posted @ 2010-03-30 19:15 闫小勇 阅读(2982) 评论(4) 推荐(1) 编辑

2010年3月28日

摘要: 在C#中没有独立的函数存在,只有类的(动态或静态)方法这一概念,它指的是类中用于执行计算或其它行为的成员。在Python中,你可以使用类似 C#的方式定义类的动态或静态成员方法,因为它与C#一样支持完全的面向对象编程。你也可以用过程式编程的方式来编写Python程序,这时Python 中的函数与类可以没有任何关系,类似C语言定义和使用函数的方式。此外,Python还支持函数式编程,虽然它对函数式编程的支持不如LISP等语言那样完备,但适当使用还是可以提高我们工作的效率。 本章主要介绍在过程编程模式下Python中函数的定义和使用方法,关于在面向对象编程中如何使用函数,我们将在下一章再讨论。此外,我还会简要介绍Python中的函数编程功能。 阅读全文

posted @ 2010-03-28 22:35 闫小勇 阅读(6971) 评论(15) 推荐(2) 编辑

2010年3月5日

摘要: 本章介绍Python的运算符、表达式、程序流程控制语句以及异常处理语句,在这方面,Python和C#是非常类似的,我们仅需要注意它们之间的一些细微差异。另外,在本章我还会简要介绍Python语言中的两项有趣功能——列表内涵和动态表达式,虽然它们严格来说属于函数部分的内容,不过我觉得还是放在表达式一章比较合适。 阅读全文

posted @ 2010-03-05 13:47 闫小勇 阅读(8121) 评论(10) 推荐(1) 编辑

2010年2月27日

摘要: “一切数据是对象,一切命名是引用”。 如果你能理解这句话,说明对Python的变量与数据类型已经有了不错的认识,那么我建议你直接跳到1.4节的总结部分,看看C#与Python在变量与数据类型方面的差异就可以。如果你还有疑惑,那么就请完整的读一下这一章吧。 阅读全文

posted @ 2010-02-27 11:41 闫小勇 阅读(14024) 评论(7) 推荐(3) 编辑

2010年2月25日

摘要: 作为Python语言的入门,本章没有涉及到过多的编程细节,主要比较了C#与Python两种语言在编码风格等方面最基本的差别,要点如下: (1)Python使用强制缩进的编码风格,并以此组织代码块; (2)Python语句结尾不用分号; (3)Python标明注释用#(单行)或三引号(多行); (4)Python语言没有入口方法(Main),代码会从头到尾顺序执行; (5)Python语言用import引入所需要的模块。 阅读全文

posted @ 2010-02-25 14:12 闫小勇 阅读(17548) 评论(26) 推荐(6) 编辑

2010年2月23日

摘要: 我解题的算法思路是和木野狐以及yujiasw的《有道难题的双立方数问题的高速解法》学的,不过这个Python代码为了减少行数,有很多地方没有优化,效率不高(装B害死人啊)。 二话不说,上代码先: print len([1 for a in [x+y for x,y in [(k,j) for k in [i**3 for i in xrange(int(round(pow(100000, 1./3))))] for j in [i**3 for i in xrange(int(round(pow(100000, 1./3))))] if k = j]] if [x+y for x,y in [(k,j) for k in [i**3 for i in xrange(int(round(pow(100000, 1./3))))] for j in [i**3 for i in xrange(int(round(pow(100000, 1./3))))] if k = j]].count(a)==2])/2 阅读全文

posted @ 2010-02-23 16:20 闫小勇 阅读(5620) 评论(2) 推荐(0) 编辑

2010年2月22日

摘要: 还是我的第一个程序,现在已经升级到4.0了,想想也该给它起个名字了。思来想去,我觉得NX这个名字不错(Number Cut的意思,如果你愿意,也可以把它理解为“牛叉”)。好,下面开始NX。昨天用lambda重写了我删除代码行号的Python工具,也就是NX 3.0(见这里),把行号处理的核心程序减少到了一行。不过看这代码,总有点头重脚轻的感觉:前面那么多PyQt代码就为了生成一个窗体嘛。怎么可以进一步减少代码呢?我想到的剪贴板——Clipboard 阅读全文

posted @ 2010-02-22 08:08 闫小勇 阅读(1658) 评论(5) 推荐(0) 编辑