python 速成指南

第一节. 过程式  python

python 的一个特点是不通过大括号 {} 来划定代码块,而是通过缩进。如果和 C/C++ 类比的话,就是在左括号的地方不要换行,然后用一个冒号 (:) 替代, C/C++ 大括号内部的东西,缩进一个 tab  或者几个空格都可以(但需要保持一致),比如:

if (x < 2):

print 'x < 2' elif (x > 2):

print 'x > 2'

else:

print 'bingo!' print 'x = 2'

注意两点:一是 python 语句结尾处没有分号(;)作为结束标记。二是和 C/C++ 不同,没有

else if,而是用 elif 替代,相当于可以少打几个字符吧。

类型系统

比如 int,string 等,type() 可以返回数据的类型,如:

>>> type(1)

>>> type('123')

python 尽管在声明变量的时候不指定类型,但变量其实是有类型的,用 c++0x 的概念来表达的话,实际上 python 的变量好像都是 auto 的,类型自动根据赋值推导出来。所以这样:

name = 'ddh' verb = ' is '

noun = ' good man'

sentence = name + verb + noun

没有问题,但:

name = 'cyberscorpio' age = 32

sentence = name + age

就会引发异常,因为字符串和数字不能直接相加。

可以通过 int() 或者 str() 强转类型,如上一句改成: sentence = name + str(age)

就不会有问题了。

容器类型

python 提供好用的两个容器:list 和 dict。插句题外话,其实最好用的容器还是 PHP 提供的关联数组,一个数组就包括了 python 中 list 和 dict 的全部功能,实在是很赞。

list

类似 array 的概念,例如: lst = list() lst.append('123') lst.append('456') lst.append(1000) print lst

for x in lst:

print x, ' type is ', type(x)

注意 list 内的数据可以是不同类型的,这一点会很方便。上面的输出是:

>>> print lst

['123', '456', 1000] # 注意里是 list 的字面表示方法,如 lst = ['123', '456', 1000]lst 一个 list

>>> for x in lst:

... print x, ' type is ', type(x)

...

123  type is  

456  type is  

1000 type is  # 这个是整型的数据

dict

类似于 std::map 的概念,当然,和 list 类似,dict 的 key  和 value  不要求是同一种类型。如:

dct = dict()

dct['name'] = 'cyberscorpio' dct['age'] = 32

dct['sex'] = 'male' print dct

for k in dct:

print k, ' is ', dct[k]

输出为:

>>> print dct

{'age': 32, 'name': 'cyberscorpio', 'sex': 'male'} # <

你可能感兴趣的:(python,java,windows)