Python-02 快速介绍


这里从C语言开发者的角度快速介绍Python的面向过程编程。


1> 基本数据类型

整数、长整数、浮点数、复数。

前面3种和C差不多,复数估计是科学计算用,什么场景使用目前还不清楚。(难道用来做傅里叶变换?等研究python如何取代Matlab再说)

注意点: 两个整数做除法结果是浮点数。


C语言没有的运算符:

** 2**3 = 2的3次方 = 8

// 取整数部分, 2//3 = 0, -2//3 = -1, 2//-3 = -1 (负数有点搞,搞不清楚就多测试下)


重要技巧:

dir(__builtins__) 显示所有内置函数

help(函数名) 显示函数帮助信息


注意:python不需要申明变量,也不需要指定变量类型,就当一个指向内存的引用指针就可以了。


2> 复杂类型

2.1 字符串: ' '' ''' 3个符号是等价的(这点和Perl不同)

\ 转义, 与C语言一致。

建议都使用‘’‘来定义字符串


操作:

+ 字符串连接 (注意,python并不提供字符串和整数的相加,比如 “123” + 4 返回错误 TypeError,必须用户自己做转换比如 “123” + str(4) = '1234')

* 重复字符串 ('a' * 3 = 'aaa')

== 字符串是否相等

!= 是否不相等

< > >= <= 比较函数

in 是否存在该字符串 注意(’‘空串 存在于任何其他字符串 '' in 'a' -> True

len 长度

[m:n] 切片,需要注意,对应于数学上的 [m, n) 而不应是 [m,n] 比如 s = "01234" s[1,2] = '1' 而不是'12' 这点必须搞清楚

其他函数可以参考

dir(str)


2.2 List

List相当于Perl的数组,用[]来定义。

注意,由于Python并没有类型区分,所以数组里每一项并不要求是同一类型。

比如下面定义也是可以的。

myComplexList = [ 122,12.5, "123", [1, 2, 3, 3, 3, 3]]

把每一项想做一个引用指针就很好理解了。

访问: myComplexList [3][1] 返回2


常用函数:

in

len

max

min

sum

更多函数请参考

dir(list)

从数据结构角度来说,list既可以当Stack用,也可以当Queue用。非常方便。


2.3 tuple: 不可变list

具体函数参考

dir(tuple)


2.4 dict

类似于perl的hash,大家的最爱。

mydict = { ’key1': value1, 'key2': value2, key3: value3,...}

具体函数参考

dir(dict)

3 控制流程

3.1 Boolean True 或者False

and C语言的 &&

or C语言的 ||

not C语言的 !

关于什么是True还是False可能需要自己做深入测试。

按照直觉感觉下面情况应该是False

int 0

float 0.0

str ’‘

list []

tuple []

dict {}

具体使用前建议测试下。搞明白Boolean是面向过程编程最重要的事情,否则下面的if / for/ while 全乱了。


3.2 if

if 条件 :

elif 条件 :

else :

主要: python 不使用{}来控制子程序块,而是采用缩进。

每个条件后面需要加一个 :

elif 和else 可选,可以有也可以都没。


3.2 while

while 条件 :

...

else :

...


注意: else 是可选语句 坦率地说,目前还没搞明白怎么用,难道是实现大名鼎鼎的goto语句部分功能?

建议不用。多一事不如少一事。


3.3 for

for 变量 in range(...) :

...


range的格式如下:

start, stop, step 其中start和step是可选参数。比如range(10) 等价于range(0, 10, 1)


4 函数

python里面定义函数需要做5部分的事情

第一步: 设计测试用例

第二步: 写函数说明书

第三步: 想好函数名称和变量名称

第四步:写函数实现

第五步:测试

比如简单的add函数


def myadd(leftValue, rightValue):

''' (int ,int ) -> int

该函数实现两个整数的相加。输入参数必须为整数。

>>> myadd(3, 5)

8

'''

return leftValue + rightValue

到这里,大部分C语言能做的事情,python就能做了。


5 工具下载:

Python: http://www.python.org/downloads/

pycharm: http://www.jetbrains.com/pycharm/download/

pythonwin: http://sourceforge.net/projects/pywin32/files/


Let’s Go!!!




评论关闭