Python笔记——基本语法
一、标识符:
1.python中的标识符是区分大小写的。
2.标示符以字母或下划线开头,可包括字母,下划线和数字。
3.以下划线开头的标识符是有特殊意义的。
> 以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
> 以双下划线开头的(__foo)代表类的私有成员;
> 以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
保留字:
and elif global or yield
assert else if pass
break except import print
class exec in raise
continue finally is return
def for lambda try
del from not while
二、变量赋值
> 简单赋值,Variable(变量)=Value(值)。
> 多变量赋值,Variable1,variable2,...=Value1,Value2,...
> 多目标赋值,a=b=variable
> 自变赋值,如+=,-=,*=等。在自变赋值中,python仅计算一次,而普通写法需计算两次;自变赋值会修改原始对象,而不是创建一个新对象。
三、运算符
运算符
描述
x+y,x-y
加、减,“+”号可重载为连接符
x*y,x**y,x/y,x%y
相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化
<,<=,>,>=,==,<>,!=
比较运算符
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=
自变运算符
x|y
按位或
x^y
按位异或
x&y
按位与
~x
按位取反
x<<,x>>y
x向左或向右移y位
is, is not
等同测试
in, not in
是否为成员测试
or,and,not
逻辑运算符
x[i],x[i:j],x.y,x(...)
索引,分片,限定引用,函数调用
(...),[...],{...},'...'
元组,列表,字典,转化为字符串
运算符优先顺序列表(从最高到最低)
运算符
描述
'expr'
字符串转换
{key:expr,...}
字典
[expr1,expr2...]
列表
(expr1,expr2,...)
元组
function(expr,...)
函数调用
x[index:index]
切片
x[index]
下标索引取值
x.attribute
属性引用
~x
按位取反
+x,-x
正,负
x**y
幂
x*y,x/y,x%y
乘,除,取模
x+y,x-y
加,减
x<<y,x>>y
移位
x&y
按位与
x^y
按位异或
x|y
按位或
x<y,x<=y,x==y,x!=y,x>=y,x>y
比较
x is y,x is not y
等同测试
x in y,x not in y
成员判断
not x
逻辑否
x and y
逻辑与
x or y
逻辑或
lambda arg,...:expr
Lambda匿名函数
真值表
对象/常量
值
""
假
"string"
真
0
假
>=1
真
<=-1
真
()空元组
假
[]空列表
假
{}空字典
假
None
假
四、编码风格:
在Python 中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“/”符号扩展到下一行。在python中以三引号(""")括起来的字符串,列表,元组和 字典都能跨行使用。并且以小括号(...)、中括号[...]和大括号{...}包围的代码不用加“/”符也可扩展到多行。如:
在Python中是以缩进来区分程序功能块的,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。
如果一行中有多条语句,语句间要以分号(;)分隔。
以“#”号开头的内容为注释,python解释器会忽略该行内容。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。
在交互模式下运行python时,一个下划线字符(_)是特殊标识符,它保留了表达式的最后一个计算结果。
>>> "hello"
'hello'
>>> _
'hello'
>>> 10+10
20
>>> _
20
在python中,函数、类、模块定义的第一段代码如果是字符串的话,就把它叫作文件字串,可通过__doc__属性访问。如:
def test():
"this is a document string"
return 100+1000
>>>print test.__doc__
this is a document string