python学习笔记


               学习Python(1)

hoho,开始学习Pyton了。学习新语言,锻炼大脑。首先,啥是Python?一个面向对象的解释型语言,现在广泛应用,比如Redhat上的那些图形化的配置工具。哪里有Python?可以到
www.python.org
下载。其实安装Linux的时候如果选择了开发工具,通常就有Python了。
接下来:Python能干啥,从计算1+1=?到复杂图形界面编程,Grid Computing都行。就从学习计算开始吧:
在Terminal里敲:python ,就看到“>>>”这样的提示符。 OK,就可以输入语句了并执行了。
看第一个小程序:
>>> 1+1
2
>>> 132434 * 213213213 - 111
28236678650331L
>>>

虽然只有一行,也是程序啊。
俺又想在上次运算的结果上再继续运算,可是那么长的数字不能再敲一遍。所以用“_”来代替最后一次运行的结果。
>>> 132434 * 213213213 - 111
28236678650331L
>>> _+4
28236678650335L
>>>
这样就OK了。
还可以做复数的运算。当然也可以对变量赋值和运算:
>>> i = 123
>>> j = 334
>>> i + j
457
>>>

         学习Python(2)
有了数学运算,就需要字符串的一些基本处理。
用单引号和双引号括起来的就是String。
和HTML里的
很相似的是,可以用成对的三个引号来生成预格式化的字符串:
print """
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
"""
String可以用“+”(加号)来连接,也可以简单的写在一起来连接:
>>>'A' + "Help"
>>>'A' "help"
与C一样, Python里的字符串支持[]操作符。但是和Java一致的是:字符串不能被改变,是immutable的。同时Python支持slice这样的下标:
>>> word = "help"
>>> word[1:-2]
'e'
>>>

          学习Python(3)
Python提供了一些复合数据类型,比较常用的一种就是List。List支持异构数据。比如:
>>> a = ['spam', 'eggs', 100, 1234]
>>> a
['spam', 'eggs', 100, 1234]


List和String一样,支持slice方式的下标和一些基本运算:
3*a[:3] + ['Boe!']
['spam', 'eggs', 100, 'spam', 'eggs', 100, 'spam', 'eggs', 100, 'Boe!']
List和String不同在于,List的内容是可变的,前提是元素是可变类型:
>>> a[2] = a[2] + 23
>>> a
['spam', 'eggs', 123, 1234]
还可以插入,删除,替换部分元素:
>>> # Replace some items:
... a[0:2] = [1, 12]
>>> a
[1, 12, 123, 1234]
>>> # Remove some:
... a[0:2] = []
>>> a
[123, 1234]
>>> # Insert some:
... a[1:1] = ['bletch', 'xyzzy']
>>> a
[123, 'bletch', 'xyzzy', 1234]
>>> a[:0] = a     # Insert (a copy of) itself at the beginning
>>> a
[123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]
比较常用的两个函数是len()和append()。另外List的元素可以是另一个List:
>>> q = [2, 3]
>>> p = [1, q, 4]
>>> len(p)
3
>>> p[1]
[2, 3]
>>> p[1][0]
2
>>> p[1].append('xtra')     # See section 5.1
>>> p
[1, [2, 3, 'xtra'], 4]
>>> q
[2, 3, 'xtra']
学习Python(4)
f语句,hoho
>>> x = int(raw_input("Please enter an integer: "))
>>> if x
Python的Interactive模式里缩进是自动的。写脚本的时候一定要注意缩进,其实缩进就象括号一样来限定code block,所以缩进量的多少并不是非常严格,但是一定要在同一code block内保持缩进量的一致性。
if和else后边的那个冒号让人想起上学时候学习Pascal的日子。