Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1699084
  • 博文数量: 607
  • 博客积分: 10031
  • 博客等级: 上将
  • 技术积分: 6633
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 17:41
文章分类

全部博文(607)

文章存档

2011年(2)

2010年(15)

2009年(58)

2008年(172)

2007年(211)

2006年(149)

我的朋友

分类: Python/Ruby

2007-11-30 16:06:59



Python的创造者:Guido van Rossum. 官方站点: 在那可以找到python的最新下载,和邮件组.

Python是一门通用编程语言,没有哪个领域的活它不能做的。它是一门VHLL(very-high-level Language),比C/C++等语言更为抽象.也比Java,C#更有生产力.

Python主要有3种合格的实现: CPython, Jython,IronPython.
CPython(Classic Python)用标准C代码实现,是速度最快最全面最稳固的实现. 通常说的Python就是指它.

如何选择CPython, Jython, IronPython?
如果全部安装,他们共存没有问题.
选择哪个取决于任务.


下载python包后
tar xfvz ...
./configure
make
make test
make install
然后就可以在linux平台上使用python了

Python的主要环境变量 --
PATH: 用于发现python
PYTHONPATH: 用于发现python的模块




一个著名的python解释器是IDLE


Python有2种用法:解释器;shell

编译语言都有丰富的结构化数据类型
动态语言没有固定编译的数据类型,总是运行时判断数据类型,所以运行速度慢,但正因如此,编写容易,开发速度却快。
除了一些对对运行性能要求很高的场合(数据通信),动态语言的发展空间越来越大(特别是GUI)


‘’’’三重引号表示一个多行字符串。在开始与结束引号间的所有东西都被视为单个字符串的一部分, 包括硬回车和其它的引号字符。

python有名字空间的概念。
导入模块 import <module>
另一种导入形式是 from import
    被导入模块的属性和方法被直接导入到局部名字空间去了,所以它们可以直接使用,而不需要加上模块名的限定
    尽量少用 from import *

函数 def
一切都是对象, 并且几乎一切都有属性和方法。
所有的函数都有一个内置的 __doc__ 属性, 它会返回在函数源代码中定义的 doc string

代码块分割靠 : 步进

控制结构
if

python提供了丰富的内置对象类型以避免花大量时间像在c/c++上一样花费大量时间构建数据结构。
内置数据类型已经过算法优化,性能好过类似的定制结构。
内置对象包括Number,String,List,Dictionary,Tuple,File等。

dictionary 字典        大括号
list 列表                中括号
tuple不可变列表        小括号
list和tuple可以相互转化

类与对象
支持多继承Class xxx(fa1,fa2)
方法的第一个参数必须是self
    数据成员通常在__init__方法里赋值,但不是必须的,可以在赋值时“突然生成”
    如果调用父类的数据成员或函数,最好要显式调用
    Python中方法覆盖的规则和c++相同
    Python所有专有方法命名规则是前后各2个下划线

异常在 Python 中无处不在;实际上在标准 Python 库中的每个模块都使用了它们,并且 Python 自已会在许多不同的情况下引发它们。
使用不存在的字典关键字 将引发 KeyError 异常。
搜索列表中不存在的值 将引发 ValueError 异常。
调用不存在的方法 将引发 AttributeError 异常。
引用不存在的变量 将引发 NameError 异常。
未强制转换就混用数据类型 将引发 TypeError 异常

Python 使用 try...except…else 来处理异常,使用 raise 来引发异常

文件操作

Python 有一个内置函数,open,用来打开在磁盘上的文件。open 返回一个文件对象,它拥有一些方法和属性,可以得到打开文件的信息,和对打开文件进行操作。

其它大多数语言没有象 Python 一样的强大的 list 数据类型,所以你需要亲自做很多事情,指定开始,结束和步长,来定义一定范围的整数或字符或其它可重复的实体。但是在 Python 中,for 循环简单地在一个列表上循环,与 list 解析 的工作方式相同。

sys 模块包含了系统级的信息,象正在运行的 Python 的版本 (sys.version 或 sys.version_info),和系统级选项
sys.modules 是一个字典,它包含了从 Python 开始运行起,被导入的所有模块

os.path 模块有几个操作文件和目录的函数

>>> import os
>>> os.path.join("/home/fsong", "mahadeva.pl ") 

正则表达式是搜索、替换和解析复杂字符模式的一种强大而标准的方法. re模块提供了正则表达式的功能

异或运算 ^
左移 <<    右移 >>
python中支持复数形式
复数运算 (3+4j)*(3-4j)=25

字符串操作

    String.atoi(), string.atof()
    String.find(),string.count(),string.replace()
    String.split(), string.join()

正则表达式
import re
s="40.bc"
pat = r'4[0-9]+\.[abc]+'     # My pattern
r = re.compile(pat)     # Compile it
rs = r.sub(“xxxx”, s)     # Replace substr
rs = re.sub(pat, “xxxx”, s)
 

print rs
m = r.match(s)         # See if string s matches
if m:
# Yep, it matched
    print "yes"
else:
# Nope.   
    print "nop"
 















阅读(746) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~