Python编程习惯与特点


2.1. 代码风格

  • 在Python中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“\”符号扩展到下一行。在python中以三引号(""")括起来的字符串,列表,元组和字典都能跨行使用。并且以小括号(...)、中括号[...]和大括号{...}包围的代码不用加“\”符也可扩展到多行。如:

  • 在Python中是以缩进来区分程序功能块的,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。

  • 如果一行中有多条语句,语句间要以分号(;)分隔。

  • 以“#”号开头的内容为注释,python解释器会忽略该行内容。

  • 在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。

  • 以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

  • 在交互模式下运行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
    

2.2. 保留字

	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
				

2.3. Python运算符和表达式

2.3.1. Python运算符

Table 2.1. Python运算符列表

运算符描述
x+y,x-y加、减,“+”号可重载为连接符
x*y,x**y,x/y,x%y相乘、求平方、相除、求余,“*”号可重载为重复,“%”号可重载为格式化
<,<=,>,>=,==,<>,!=比较运算符
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=自变运算符
x|y按位或
x^y按位异或
x&y按位与
~x按位取反
x<<,x>>yx向左或向右移y位
is, is not等同测试
in, not in是否为成员测试
or,and,not逻辑运算符
x[i],x[i:j],x.y,x(...)索引,分片,限定引用,函数调用
(...),[...],{...},'...'元组,列表,字典,转化为字符串

2.3.2. 运算符优先顺序

Table 2.2. 运算符优先顺序列表(从最高到最低)

运算符描述
'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,...:exprLambda匿名函数

2.3.3. 真值表

Table 2.3. 

对象/常量
""
"string"
0
>=1
<=-1
()空元组
[]空列表
{}空字典
None

2.3.4. 复合表达式

  • 对于and,当计算a and b时,python会计算a,如果a为假,则取a值,如果a为真,则python会计算b且整个表达式会取b值。如:

    >>> a,b=10,20
    >>> a and b   #a is true
    20
    >>> a,b=0,5   #a is false
    >>> a and b
    0
    
  • 对于or,当计算a or b时,python会计算a,如果a为真,则整个表达式取a值,如果a为假,表达式将取b值。如:

    >>> a,b=10,20
    >>> a or b
    10
    >>> a,b=0,5
    >>> a or b
    5
    
  • 对于not,not将反转表表达式的“实际值”,如果表达式为真,not为返回假,如为表达式为假,not为返回真。如:

    >>> not 2
    False
    >>> not 0
    True
    >>> not "test"
    False
    >>> not ""
    True
    

2.4. 给变量赋值

  • 简单赋值,Variable(变量)=Value(值)。

    >>>a=1
    >>>b=2
    >>>print a,b
    1 2
    
  • 多变量赋值,Variable1,variable2,...=Value1,Value2,...

    >>>a,b,c=1,2,3
    >>>print a
    1
    >>>print b
    2
    >>>print c
    3
    

    多变量赋值也可用于变量交换,接上例:

    >>>a,b,c=c,b,a
    >>>print a
    3
    >>>print b
    2
    >>>print c
    1
    
  • 多目标赋值,a=b=variable

    >>> a=b=1
    >>> a
    1
    >>> b
    1
    >>> a=2
    >>> a
    2
    >>> b
    1
    
  • 自变赋值,如+=,-=,*=等。在自变赋值中,python仅计算一次,而普通写法需计算两次;自变赋值会修改原始对象,而不是创建一个新对象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值