Python语法概况

关键字
and , exec , not , assert , finally , or , break , for , pass , class , from , print , countinue , global , raise , def , if , return , del , import , try , elif , in , while , else , is , with , except , lambda , yield
- exec
用来执行储存在字符串或文件中的Python语句。eg:注意例子中exec语句的用法和eval_r(), execfile()是不一样的. exec是一个语句(就象print或while), 而eval_r()和execfile()则是内建函数。1
2exec 'print "Hello World"'
Hello World - lambda
在python中使用lambda来创建匿名函数,lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。lambda它只是一个表达式,而def则是一个语句。eg:lambda一般只用来定义简单的函数。1
2m = lambda x,y,z: (x-y)*z
print m(3,1,2) - yield
它和return差不多的用法,只是最后是返回了一个生成器,当你调用yield所在的那个函数的时候,那个函数并没有运行,只会返回一个生成器的对象,第一次在for中调用生成器的的对象,它将会运行你函数中的代码从最开始一直到到碰到了yield的关键字,然后它会返回循环中的第一个值。然后每一次其他的调用将会运行你在这个函数中所写的循环多一次,并且返回下一个值,知道没有值可以返回了。eg:1
2
3
4
5
6
7
8
9
10
11
12
13def createGenerator():
mylist = range(3)
for i in mylist:
yield i*i
...
mygenerator = createGenerator() # create a generator
print(mygenerator) # mygenerator is an object!
<generator object createGenerator at 0xb7555c34>
for i in mygenerator:
print(i)
0
1
4
Python VS C
| Pytho | C | 说明 |
|---|---|---|
| 字母、数字、下划线组成,不能以数字开头,区分大小写 | 字母、数字、下划线组成,不能以数字开头,区分大小写 | 标识符 |
| 单下划线开头的代表不能直接访问的类属性,通过类提供的接口访问 | ||
| 双下划线开头的代表类的私有成员 | ||
| 双下划线开头和结尾的代表特殊方法专用的标识(eg:init()) | ||
| “" | 不需要,以”;”结尾 | 行继符 |
| 单引号(‘),双引号(“),三引号(‘’’) | 双引号(“) | 字符串 |
| # | // | 注释 |
| : | {} | 代码块 |
| if | if | 条件 |
| elif | else if | |
| else | else | |
| a = b = 1 or a,b=1,”Hi” | int a=1 , b=2 | 多变量赋值 |
| Numbers, String, List, Tuple, Dictionary | char, int , float, double, void, point* | 基础数据类型 |
| list[item1, item2, … itemN] | 列表,允许更新 | |
| tuple(item1, item2, …, itemN) | 元组,不允许更新操作 | |
| dict{key1:value1, key2:value2, …, keyN:valueN} | 字典,允许更新 | |
| ** | 幂,a**b a的b次幂 | |
| // | mod | 整除 |
| “!=” , “<>” | “!=” | 不等 |
| “and” | “&&” | 逻辑运算 |
| “or” | 双竖线 | |
| “not” | “!” | |
| “in” , “not in” | 判断元素在不在元组或列表中 | |
| “is” , “not is” | 判断两个标识符是不是引用自一个对象 | |
| “while”, “for” | “while”, “for”, “do..while” | 循环, python中可与”else”一起执行条件为false的情况 |
| “break”, “continue”, “pass” | “break”, “continue”, “goto” | 循环控制 |
Python编译
| 选项 | 描述 |
|---|---|
| -d | 在解析时显示调试信息 |
| -O | 生成优化代码 ( .pyo 文件 ) |
| -S | 启动时不引入查找Python路径的位置 |
| -c cmd | 执行 Python 脚本,并将运行结果作为 cmd 字符串 |
| file | 在给定的python文件执行python脚本 |