这个笔记主要是关于python语言本身的一些概念。
在Python中有4种类型的数——整数、长整数、浮点数和复数。如:2是一个整数的例子。 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是复数的例子。
你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。在双引号中的字符串与单引号中的字符串的使用完全相同。使用三引号('''或""")可以指示一个多行的字符串。可以在三引号中自由的使用单引号和双引号。转义符是\,可以用\'来指示单引号—注意这个反斜杠。
变量的名字就是标识符。在命名标识符的时候,你要遵循这些规则:
● 标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _’)。
● 标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
● 标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中
的小写n和后者中的大写N。
● 有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。
● 无效 标识符名称的例子有2things、this is spaced out和my-name。
使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。
物理行是你在编写程序时所看见的。逻辑行是Python 看见的单个语句。Python假定每个物理行对应一个逻辑行。如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。
Python程序中行首的空白称为缩进,是非常重要的,它用来决定逻辑行的缩进层次,从而用来决定语句的分组。类似于C++中的花括号。同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块(Block)。
表2.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 y返回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,它返回True,否则它返回y的计算值。 |
x = True; y = False; x or y返回True。短路计算在这里也适用。 |
表2.2 运算符优先级
| 运算符 |
描述 |
| lambda |
Lambda表达式 |
| or |
布尔“或” |
| and |
布尔“与” |
| not x |
布尔“非” |
| in,not in |
成员测试 |
| is,is not |
同一性测试 |
| <,<=,>,>=,!=,== |
比较 |
| | |
按位或 |
| ^ |
按位异或 |
| & |
按位与 |
| <<,>> |
移位 |
| +,- |
加法与减法 |
| *,/,% |
乘法、除法与取余 |
| +x,-x |
正负号 |
| ~x |
按位翻转 |
| ** |
指数 |
| x.attribute |
属性参考 |
| x[index] |
下标 |
| x[index:index] |
寻址段 |
| f(arguments...) |
函数调用 |
| (experession,...) |
绑定或元组显示 |
| [expression,...] |
列表显示 |
| {key:datum,...} |
字典显示 |
| 'expression,...' |
字符串转换 |
| Format |
Meaning |
"c" |
Single character (i.e., string of length 1) |
"B" |
Unsigned 8-bit integer |
"h" |
Short (16-bit) integer |
"i" |
32-bit integer |
"f" |
32-bit float |
"d" |
Double-precision (64-bit) float |
"2" |
String of fixed size (see below) |
| Table 18.2: Packing Format Specifiers |
在Python中有三种控制流语句——
if、
for和
while,
Python中if-elif-else语句类似于C++中的if-elseif-else;
Python中for i in range(0,5)等价于C/C++中的for (int i = 0; i < 5; i++)。程序中使用内建的range函数生成这个数的序列。range返回一个序列的数。这个序列从第一个数开始到第二个数为止。例如,range(1,5)给出序列[1, 2, 3, 4]。默认地,range的步长为1。如果我们为range提供第三个数,那么它将成为步长。例如,range(1,5,2)给出[1,3]。记住,range 向上 延伸到第二个数,即它不包含第二个数。
while语句是循环语句,while语句有一个可选的else从句。
break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。
一个重要的注释是,如果你从for或while循环中终止 ,任何对应的循环else块将不执行。
posted on 2009-07-14 22:36
鹰击长空 阅读(301)
评论(0) 编辑 收藏 引用