分类: 系统运维
2011-02-13 17:49:33
----------------------------------------------------------------------------------1
官方介绍:Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。
创造者:Guido van Rossum。
它的特色:简单、易学、免费、开源、高层语言、可移植性、解释性、面向对象、可扩展性、可嵌入性、丰富的库。
我认为它最大的特色是安装文件小,您可以去官方网站上下载for windows用户的最新版本3.1.2,文件大小为13.4MB。安装很简单,双击一下安装文件python-3.1.2.msi,一路next下去即可。系统菜单栏会有如下几项:

IDLE是内置的简单开发工具,可以是命令行,也可以编辑一个py文件,按F5运行。
Python Manuals是用户手册,里面提供Python的相关资料,您可以通过阅读它来学习Python。
我的第一个命令行程序:

我的第一个py文件:点击File->New Windows,打开新窗口,可以开始编写代码了,保存代码后,点击Run->Run Module或按快捷键F5,即可看到运行结果。


简单体验结束。未来会继续了解更多内容。
----------------------------------------------------------------------------------2
1. 常量
Python的常量不同于C#的常量,Python常量没有一个名字的。例如2,1.5,1.2e-3等这样的数,或者'This is a string',"It's a string"等这样的字符串。不像C#需要用const关键字来标识。
2. 数
Python有4中类型的数:整数、长整数、浮点数和复数。例子:
* 整数:2
* 长整数:65535等大一些的整数
* 浮点数:1.2,1.2e-3,e是10的幂,1.2e-3表示1.2*10-3
* 复数:(-5+4j),(1.2+2.3j)
3. 字符串
Python没有char类型,单引号和双引号是完全相同的意思。例子:
* 单引号:'Quote me on this'
* 双引号:"Waht's your name"
* 三引号:'''This is the first line.
This is the second line.'''
或者
"""What's your name?
My name is known."""
* 转义符:'What\'s your name?'
* 自然字符串:用r或R开头,r"Hello world!\n"
4. 变量
标识符命名规则:
* 首字符为字母(大小写均可)或为下划线(_)
* 其他部分字符为字母(大小写均可)、数字、下划线
* 区分大小写,myname与myName是两个不同的变量
5. 数据类型
Python基本的数据类型就是数和字符串,高级一点的类型就是类。
6. 对象
Python把所有东西都看成是对象,它把2这个数都看成是对象。
7. 逻辑行与物理行
物理行是您在编辑器中所看见的。逻辑行是Python能够识别的。一般,Python认为一个物理行对应一个逻辑行。
如果您要在一个物理行使用多个逻辑行,那么就要用分号(;)分割开,分号表示一个逻辑行或语句的结束。我们建议不要这样写,可读性差。
例子:i = 5;print(i)
相当于
i = 5
print(i)
如果您要在多个物理行中写一个逻辑行,那么你用反斜杠(\)来连接。
例子:s = "This is a\
string"
相当于
s = "This is a string"
8. 缩进
缩进在Python中试重要的。行首的空白是重要的,例子:
print("Hello")
print("world")
第二个print语句会报错,因为它前面有一个错误的空白。
同意层次的语句必须有相同的缩进。
不要混合使用空白和制表符,这样在不同平台中将无法工作。
强烈建议在缩进时,使用单个制表符或两个或四个空格。本人建议一如既往地使用四个空格。
----------------------------------------------------------------------------------3
1. 运算符
| 运算符 | 名称 | 说明 | 例子 |
|---|---|---|---|
| + | 加 | 两个对象相加 | 3 + 5得到8。"a" + "b"得到"ab"。 |
| - | 减 | 得到负数或是一个数减去另一个数 | -5.2得到一个负数。50 - 24得到26。 |
| * | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 | 2 * 3得到6。"la" * 3得到"lalala"。 |
| ** | 幂 | 返回x的y次幂 | 3 ** 4得到81(即3 * 3 * 3 * 3)。 |
| / | 除 | x除以y | 4 / 3得到1(整数的除法得到整数结果)。4.0 / 3或4 / 3.0得到1.3333333333333333 |
| // | 取整余 | 返回商的整数部分 | 4 // 3.0得到1.0 |
| % | 取模 | 返回除法的余数 | 8 / 3得到2。-25.5%2.25得到1.5 |
| << | 左移 | 把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0或1) | 2 <<2 得到8。——2按比特表示10 |
| >> | 右移 | 把一个数的比特向右移一定数目 | 11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。 |
| & | 按位与 | 数的按位与 | 5 & 3得到1 |
| | | 按位或 | 数的按位或 | 5 | 3得到7 |
| ^ | 按位异或 | 数的按位异或 | 5 ^ 3得到6 |
| ~ | 按位翻转 | x的按位翻转是-(x+1) | ~5得到-6 |
| < | 小于 | 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | 5 < 3返回0(即False)而3 < 5返回1(接True)。比较可以被任意连接:3 < 5 < 7返回True。 |
| > | 大于 | 返回x是否大于y | 5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。 |
| <= | 小于等于 | 返回x是否小于等于y | x = 3; y = 6; x <= y返回True。 |
| >= | 大于等于 | 返回x是否大于等于y | x = 4; y = 3; x >= y返回True。 |
| == | 等于 | 比较对象是否相等 | x = 2; y = 2; x == y返回True。x = "str"; y = "stR"; x == y返回False。x = "str"; y = "str"; x == y返回True。 |
| != | 不等于 | 比较两个对象是否不相等 | x = 2; y = 3; x != y返回True。 |
| not | 布尔”非“ | 如果x为True,返回False。如果x是False,它返回True。 | x = True; not x返回False。 |
| and | 布尔”与“ | 如果x为False,x and y返回False,否则它返回y的计算值。 | x = False; y = True; x and y,由于x是False,返回False。在这里Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。 |
| or | 布尔”或“ | 如果x是True,x or y返回True,否则它返回y的计算值。 | x = True; y = False; x or y返回True。短路计算在这里也适用。 |
2. 运算符优先级
下表运算符是从最低到最高。Python会首先计算表中最下面的运算符,然后再计算表上部的。实际上强烈建议使用圆括号来分组运算符和操作数,以便明确地指出运算的先后顺序,达到易读。
计算顺序:默认地按照运算符优先级决定,如果您要改变它们的顺序,得使用圆括号,如:(2 + 3) * 4
结合规律:运算符由左向右结合(同一级别的运算符),如:2 + 3 + 4被计算成(2 + 3) + 4
赋值运算符由右向左结合,如:a = b = c被处理为a = (b = c)
| 运算符 | 描述 |
|---|---|
| lambda | Lambda表达式 |
| or | 布尔”或“ |
| and | 布尔”与“ |
| not x | 布尔”非“ |
| in,not in | 成员测试 |
| is,is not | 同一性测试 |
| <,<=,>,>=,!=,== | 比较 |
| | | 按位或 |
| ^ | 按位异或 |
| & | 按位与 |
| <<,>> | 移位 |
| +,- | 加法与减法 |
| *,/,% | 乘法、除法与取余 |
| +x,-x | 正负号 |
| ~x | 按位翻转 |
| ** | 指数 |
| x.attribute | 属性参考 |
| x[index] | 下标 |
| x[index:index] | 寻址段 |
| f(arguments...) | 函数调用 |
| (expression,...) | 绑定或元组显示 |
| [expression,...] | 列表显示 |
| {key:datum,...} | 字典显示 |
| 'expression,...' | 字符串转换 |
3. 表达式
| 1 | # 这是一段简单的表达式示例代码 |
| 2 | # Filename: expression.py |
| 3 |
| 4 | length = 5 |
| 5 | breadth = 2 |
| 6 | area = length * breadth |
| 7 |
| 8 | print("Area is", area) |
| 9 | print("Perimeter is", 2 * (length + breadth)) |
输出结果如下:
Area is 10
Perimeter is 14
----------------------------------------------------------------------------------4
Python学习笔记(4):控制流Python的控制语句有if、while、for、break、continue。
1. if语句
下面是一个猜数字游戏例子:
| 01 | # Filename: if.py |
| 02 |
| 03 | number = 10 |
| 04 | guess = int(input("Enter a integer:")) |
| 05 |
| 06 | if guess == number: |
| 07 | print("Congratulations, you guessed it.") |
| 08 | elif guess < number: |
| 09 | print("No, it is a little higher than that") |
| 10 | else: |
| 11 | print("No, it is a little lower than that") |
注意if语句结尾处包含一个冒号(:),所有控制语句结尾处都需要冒号。Python没有switch语句,您可以用if...elif...else来完成相同功能。
2. while语句
您可能发现上面猜数字游戏,每次都要启动一下才能猜,下面可以用while语句来控制直到你猜中才退出游戏。
| 01 | # Filename: while.py |
| 02 |
| 03 | number = 10 |
| 04 | running = True |
| 05 |
| 06 | while running: |
| 07 | guess = int(input("Enter a integer:")) |
| 08 |
| 09 | if guess == number: |
| 10 | print("Congratulations, you guessed it.") |
| 11 | running = False |
| 12 | elif guess < number: |
| 13 | print("No, it is a little higher than that") |
| 14 | else: |
| 15 | print("No, it is a little lower than that") |
| 16 | else: |
| 17 | print("The game is over.") |
其实与while相对的else是多余的,与直接把它的语句放在在while语句块后面的效果相同。
3. for语句
| 1 | # Filename: for.py |
| 2 |
| 3 | for i in range(1, 5): |
| 4 | print(i) |
| 5 | else: |
| 6 | print("The for loop is over.") |
输出结果为:
1
2
3
4
The for loop is over.
4. break语句
| 1 | # Filename: break.py |
| 2 |
| 3 | while True: |
| 4 | s = input("Enter something:") |
| 5 | if s == "quit": |
| 6 | break |
| 7 | print("Length of the string is", len(s)) |
| 8 |
| 9 | print("Done") |
5. continue语句
| 1 | # Filename: continue.py |
| 2 |
| 3 | while True: |
| 4 | s = input("Enter something:") |
| 5 | if s == "quit": |
| 6 | break |
| 7 | if len(s) < 3: |
| 8 | continue |
| 9 | print("Input is of sufficient length") |
----------------------------------------------------------------------------------5
在前面我们已经见过一些Python内建函数,比如len和rang。现在我们来看看自定义函数,函数是通过def关键字来定义,后面跟函数名称和圆括号,括号内可以包含参数,该行以冒号结束,接下来是语句块,即函数体。
1. 简单的sayHello函数
| 1 | def sayHello(): |
| 2 | print("Hello world!") |
| 3 |
| 4 | #调用函数 |
| 5 | sayHello() |
2. 带形参函数
| 1 | def printMax(a, b): |
| 2 | if a > b: |
| 3 | print(a, "is maximum.") |
| 4 | else: |
| 5 | print(b, "is maximum.") |
| 6 |
| 7 | printMax(3, 4) |
3. 局部变量
| 1 | def func(x): |
| 2 | print("x is ", x) |
| 3 | x = 2 |
| 4 | print("Changed local x to ", x) |
| 5 |
| 6 | x = 50 |
| 7 | func(x) |
| 8 | print("x is still ", x) |
运行结果为:
x is 50
Changed local x to 2
x is still 50
4. 默认参数值
| 1 | def say(message, times = 1): |
| 2 | print(message * times) |
| 3 |
| 4 | say("ha") |
| 5 | say("ha", 2) |
运行结果为:
ha
haha
5. 关键参数
| 1 | def func(a, b = 5, c = 10): |
| 2 | print("a is", a, "and b is", b, "and c is", c) |
| 3 |
| 4 | func(3, 7) |
| 5 | func(25, c = 24) |
| 6 | func(c = 50, a = 100) |
运行结果为:
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
6. return语句
| 1 | def maximum(x, y): |
| 2 | if x > y: |
| 3 | return x |
| 4 | else: |
| 5 | return y |
| 6 |
| 7 | print(maximum(2, 3)) |
7. 文档字符串DocStrings
Python有一个奇妙的特性,就是文档字符串(DocStrings),它的主要作用就是帮助你的程序文档更加简单易懂。
| 01 | def printMax(x, y): |
| 02 | '''Prints the maximum of two numbers. |
| 03 | The two values must be integers.''' |
| 04 | x = int(x) |
| 05 | y = int(y) |
| 06 |
| 07 | if x > y: |
| 08 | print(x, "is maximum.") |
| 09 | else: |
| 10 | print(y, "is maximum.") |
| 11 |
| 12 | printMax(3, 5) |
| 13 | print(printMax.__doc__) |
| 14 | help(printMax) |
运行结果为:
5 is maximum.
Prints the maximum of two numbers.
The two values must be integers.
Help on function printMax in module __main__:
printMax(x, y)
Prints the maximum of two numbers.
The two values must be integers.
http://www.cnblogs.com/known/archive/2010/07/31/1789249.html