易截截图软件、单文件、免安装、纯绿色、仅160KB

python使用心得

最近在公司负责一个项目,是做一个编译器,大家可能知道,做编译器一般用C++或java,但是我的这个项目却使用了python来做这个编译器,很有挑战性。
我今天所讲的是在开发过程中,对使用python2.6语言的感受,目前这个项目已经完成三分之一了。
说实话,python并不适合做这样的项目。(虽然也能做)以下是总结了python相关特点:
1、python不支持do-while语句、goto语句和switch语句等。
2、python不支持多种构造方法的类型。
3、多重赋值机制与java和C不同。
4、因为没有类型声明,很多方法在调用时必须手写。
5、目前的python的IDE工具还不是很完善,跟早期java的IDE类似,特别是使用pyscripter每次修改后,不能重新导入更新的模块。
6、不支持变量的访问控制(例如private、public和protect)。
7、python可以动态的创建成员变量。
8、无限循环方式单一,只能是while True方式,这种for(;;)方式并不支持。
9、不提供常用的三元运算符,也不提供++和--这样的运算符。
10、字符串用+符号连接时不是很完善,特别是__str()__方法在某些场景使用的不是很方便。
11、python提供两种编码格式,如果考虑后期扩展,建议使用unicode编码。
12、python包结构比较繁琐,并且调用模块有先后顺序,而且__init__.py文件有一定的编写技巧。
13、因为是动态语言,所以在有些应用场景中,会加大后期维护、可读、可理解的难度,特别是变量没有类型声明,根据目前的IDE工具,而且python没有大括号之类的概念,很容易导致代码控制顺序错误。
14、python的核心思想万物皆是对象(包括变量、方法等),这个概念非常重要。
15、python的一些特性功能的使用必须掌握(如__doc__、__setitem__、__iter__、yield、__call__等,以"__"为前缀的方法),有助于提高开发速度。
16、python中and、or的处理方式与java和C++都不同。
下面主要是针对与第三点重点讲解:
class A:
     def __init__(self):
           self.next=None
class B:
     pass
上面定义了两个类A和B。
下面是一种方式运行:
if __name__=='__main__':
        b=B()
        a=A()
        a=a.next=b
 另一种方式运行:
if __name__=='__main__':
 &nbs


相关文档:

python string和PyQt的QString的区别

python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for
Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode
object。主要使用Python string object进行数据输入输出。 PyQt中与之相对应的字符有关类
python string和PyQt的QString的区别
以下在Python2.6和PyQt4 ......

Python Raw Socket使用示例(发送TCP SYN数据包)

说实话,Python真的不太适合做这种二进制的东西,天生没有指针,导致在C/C++很容易的东西在Python下就很麻烦。不过好像3.1有了原生的bytes类型,不知道能不能改变现状。
import sys
import time
import socket
import struct
import random
def SendPacketData (Buffer = None , DestIP = "127.0.0.1" , DestPort = 0 ......

Python Firewall Win32 (pyfw

Python Firewall Win32 (pyfw-win32)
pyfw-win32是一个可用Python脚本开发数据包过滤(防火墙)的模块。底层使用C语言编写的NDIS中间层驱动(NDIS IMD)提供支持,上层提供Python开发接口。可用Python脚本处理所有逻辑问题,而不必关心底层实现,达到快速、灵活开发的目的。
Google 项目托管:
http://code.google.com/p/py ......

Python GUI

1. 事件驱动
    一个事件及其回调的例子是鼠标移动。我们假设鼠标指针停在您GUI 程序的某处。如果鼠标被移到了程序的别处,一定是有什么东西引起了屏幕上指针的移动,从而表现这种位置的转移。系统必须处理这些鼠标移动事件才能展现(并实现)鼠标在窗口上的移动。一旦您释放了鼠标,就不再会有事件需要处 ......

学习《Python语言入门》第四章 函数


怎么找不到第三章的学习笔记了?丢了?
Python的函数没有什么的,可以说,看了《简明Python教程》后,就会写了。
这一章提供的内容也比《简明Python教程》要多一些。比较复杂的是作用域规则,不知道是书没讲清楚还是翻译得不好,比较难懂。钱能的《C++程序教程》关于函数的作用域规则讲得要清楚些,有C++的知识在里面, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号