Python基础语法

Python语法概况

grammar

关键字

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:

    1
    2
    >>> exec 'print "Hello World"'
    Hello World

    注意例子中exec语句的用法和eval_r(), execfile()是不一样的. exec是一个语句(就象print或while), 而eval_r()和execfile()则是内建函数。

  • lambda
    在python中使用lambda来创建匿名函数,lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。lambda它只是一个表达式,而def则是一个语句。eg:

    1
    2
    m = lambda x,y,z: (x-y)*z
    print m(3,1,2)

    lambda一般只用来定义简单的函数。

  • yield
    它和return差不多的用法,只是最后是返回了一个生成器,当你调用yield所在的那个函数的时候,那个函数并没有运行,只会返回一个生成器的对象,第一次在for中调用生成器的的对象,它将会运行你函数中的代码从最开始一直到到碰到了yield的关键字,然后它会返回循环中的第一个值。然后每一次其他的调用将会运行你在这个函数中所写的循环多一次,并且返回下一个值,知道没有值可以返回了。eg:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> def 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脚本

参考&鸣谢