运算符与表达式
运算符
+ 加 eg.'a'+'b' ->'ab'
- 减
* 乘 eg.'la'*3 ->'lalala'
** 幂 eg.3**4 ->81
/ 除
// 取整除
% 取余
<< 左移
>> 右移
& 按位与
| 按位或
^ 按位异或
~ 按位翻转
用于条件判断:
not 布尔'非' eg.x = True; not y返回False
and 布尔'与' eg.x = False; y = True; x and y
or 布尔'或' eg.x = True; y = False; x or y返回True。短路计算在这里也适用
lambda : Lambda表达式
x.attribute : 属性参考
x[index:index] : 寻址段
(experession,...) : 绑定或元组显示
[expression,...] : 列表显示
{key:datum,...} : 字典显示
'expression,..'. : 字符串转换
表达式
#!/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is', 2 * (length + breadth)
控制流
在Python中有三种控制流语句——if、for和while。
if语句
if 条件1:
...
elif 条件2:
...
else:
...
while语句
注意!!!while语句有一个可选的else从句!
当while循环条件变为False的时候,else块才被执行——这甚至也可能是在条件第一次被检验的时候。如果while循环有一个else从句,它将始终被执行,除非你的while循环将永远循环下去不会结束!
for循环
for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目.for也可以由else语句.
#!/usr/bin/python
# Filename: for.py
for i in range(1, 5):
print i
else:
print 'The for loop is over'
break语句
break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句!
一个重要的注释是,如果你从for或while循环中 终止 ,任何对应的循环else块将不执行!!!
continue语句
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环!
函数
函数通过 def 关键字定义。
def关键字后跟一个函数的 标识符 名称,
然后跟一对圆括号。圆括号之中可以包括一些变量名,
该行以冒号结尾。
接下来是一块语句,它们是函数体。注意语句块的空格!
def sayHello():
print 'Hello World!' # block belonging to the function
sayHello() # call the function
函数形参
参数在函数定义的圆括号对内指定,用逗号分割
def printMax(a, b):
if a > b:
print a, 'is maximum'
else:
print b, 'is maximum'
局部变量
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域
使用global语句
global语句被用来声明变量是全局的
默认参数值
在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。
def say(message, times = 1):
print message * times
say('Hello')
say('World', 5)
关键参数
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数
我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
这样做有两个优势 :
1.由于我们不必担心参数的顺序,使用函数变得更加简单了。
2.假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
return 语句
return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值 。
#!/usr/bin/python
# Filename: func_return.py
def maximum(x, y):
if x > y:
return x
else:
return y
print maximum(2, 3)
DocStrings
Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。
DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。
你甚至可以在程序运行的时候,从函数恢复文档字符串!
使用DocStrings
def printMax(x, y):
'''Prints the maximum of two numbers.
The two values must be integers.'''
x = int(x) # convert to integers, if possible
y = int(y)
if x > y:
print x, 'is maximum'
else:
print y, 'is maximum'
printMax(3, 5)
print printMax.__doc__
help(printMax) #在Python中使用过help(),它所做的只是抓取函数的__doc__属性,然后整洁地展示给你。
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。
第二行是空行,
从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。
使用__doc__(注意双下划线)调用printMax函数的文档字符串属性.