标识符:
1. python标识符由字母/数字/下划线组成
2. python标识符区分大小写
3.以单下划线开头的(例如_foo)类属型表示protected成员,只能由类及其子类访问,不能使用“from xxximport *”导入
4.以双下划线开头的(例如__foo)类型表示private成员,只能由类自己访问,子类中也不能访问
5.以双下划线开头及结尾(__foo__)代表python里面特殊方法,例如“def__init__(self)”作为构造函数的定义
python中的保留字:
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
代码块:
python中使用严格的缩进来进行代码块儿的控制,缩进值为4个空格,例如:
class Student: studentCount = 0; # 类变量 def __init__(self, name, age): self.name = name; self.age = age; Student.studentCount += 1; return; |
多行语句:
可以使用斜杠"\"将一行语句分成多行进行,但是不能将标识符断开,例如:
numA=10 numB=20 numC=numA\ +numB |
字符串:
可以使用单引号,双引号和三引号('''或""")来表示字符串,单引号和双引号用处相同,三引号用于多行字符串,例如:
word='word' sentence="这是一个句子。" paragraph="""这是一个段落。 包含了多个语句""" |
注释:
可以使用#来标识注释内容,也可以使用三引号来当作多行注释(虽然本身其实是字符串)
#单行注释 a=10#也可以放在这里 ''' 这是一个多行注释 这是一个多行注释 ''' """ 这也是一个多行注释 这也是一个多行注释 """ |
语句:
通常一行代码为一条语句,语句结尾可以不写“;”,如果希望一行中包含多条语句,则需要用“;”分隔
标准数据类型:
python中定义了五类标准数据类型:Numbers(数字),String(字符串),List(列表),Tuple(元祖),Dictionary(字典)
Numbers(数字):
python中支持的数字类型有int,long,float,complex,例如:
int | long | float | complex |
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
String(字符串),List(列表),Tuple(元祖),Dictionary(字典)在后面具体介绍
类型转换:
数 | 描述 |
int(x [,base]) | 将x转换为一个整数 |
long(x [,base] ) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x转换为字符串 |
repr(x) | 将对象 x转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s转换为一个元组 |
list(s) | 将序列 s转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
运算符:
算术运算符:
运算符 | 描述 | 实例 |
+ | 加 -两个对象相加 | a + b 输出结果 30 |
- | 减 -得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 -两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 -返回除法的余数 | b % a 输出结果 0 |
** | 幂 -返回x的y次幂 | a**b 为10的20次方,输出结果 100000000000000000000 |
// | 取整除 -返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0输出结果 4.0 |
比较运算符:
运算符 | 描述 | 实例 |
== | 等于 -比较对象是否相等 | (a == b)返回 False。 |
!= | 不等于 -比较两个对象是否不相等 | (a != b)返回 true. |
<> | 不等于 -比较两个对象是否不相等 | (a <> b)返回 true。这个运算符类似 !=。 |
> | 大于 -返回x是否大于y | (a > b)返回 False。 |
< | 小于 -返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b)返回 true。 |
>= | 大于等于 -返回x是否大于等于y。 | (a >= b)返回 False。 |
<= | 小于等于 -返回x是否小于等于y。 | (a <= b)返回 true。 |
赋值运算符:
运算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b将 a + b的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a等效于 c = c // a |
位运算符:
运算符 | 描述 | 实例 |
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b)输出结果 12,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b)输出结果 61,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b)输出结果 49,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 | (~a ) 输出结果 -61,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15,二进制解释: 0000 1111 |
逻辑运算符:
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与" -如果 x为 False,x and y返回 False,否则它返回 y的计算值。 | (a and b)返回 20。 |
or | x or y | 布尔"或" -如果 x是非 0,它返回 x的值,否则它返回 y的计算值。 | (a or b)返回 10。 |
not | not x | 布尔"非" -如果 x为 True,返回 False。如果 x为 False,它返回 True。 | not(a and b)返回 False |
成员运算符:
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 例如: list=[1,2,3,4,5];a=1 if(ainlist):print"ainthelist"; |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
实例运算符:
运算符 | 描述 | 实例 |
is | is是判断两个标识符是不是引用自一个对象 | x is y,如果 id(x)等于 id(y) ,is返回结果 1 |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y,如果 id(x)不等于 id(y).is not返回结果 1 |
逻辑控制:
if语法:
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4…… |
循环语句示例:
# while循环 a = 1; b = 1; while (a < 1000000): print a; if a == 121393: break; c = a + b; a = b; b = c;
# while…else语句 ctr = 0; while ctr < 10: print ctr; # add a break here and the "else" branch won't execute # if ctr == 6: # break; ctr += 1; else: print "test";
# for循环 fruits = ["apple", "banana", "orange"]; for fruit in fruits: print fruit;
# 使用range定义for的循环范围 for i in range(len(fruits)): print fruits[i]; for i in range(50, 100): if i % 3 == 0: print i;
# for循环嵌套 two_dim_arr = [[1, 3, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12]]; for i in range(len(two_dim_arr)): for j in range(len(two_dim_arr[i])): print two_dim_arr[i][j]; print "\n";
# pass语句(pass语句占位用,并不具有任何执行结果) for i in range(1, 10): if i == 5: pass; print "pass did nothing, just to keep the structure complete" print i; |
循环控制使用break,continue和pass语句(见上面例子)