Python入门篇之编程习惯与特点

yipeiwu_com6年前Python基础

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.保留字

复制代码 代码如下:

 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

3.Python运算符和表达式

Python运算符列表

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

真值表

复合表达式

对于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

4.给变量赋值

变量赋值:赋值并不是直接将一个值赋给一个变量,在Python中,对象是通过引用传递的。Python的赋值语句不会返回值,类似下面的语句是非法的:

复制代码 代码如下:

>>> x=1
>>> y=(x=x+1)
SyntaxError: invalid syntax

链式赋值没有问题:

复制代码 代码如下:

>>> x=1
>>> y=x=x+1
>>> x,y
(2, 2)

Python不支持类似x++或--x这样的前置/后置自增/自减运算

可以多重复值:

复制代码 代码如下:

>>> x=y=z=1
>>> x
1
>>> y
1
>>> z
1

可以多元赋值:

复制代码 代码如下:

>>> x,y,z=1,2,'a string'
>>> x
1
>>> y
2
>>> z
'a string'

通常使用小括号括起来,增强代码的可读性:

复制代码 代码如下:

>>> (x,y,z)=(1,2,'a string')
>>> x
1
>>> y
2
>>> z
'a string'

使用Python的多元赋值方式可以实现无中间变量交换两变量的值:

复制代码 代码如下:

>>> #swapping variables in Python
>>> x,y=1,2
>>> x
1
>>> y
2
>>> x,y=y,x
>>> x
2
>>> y
1

相关文章

浅析python中numpy包中的argsort函数的使用

浅析python中numpy包中的argsort函数的使用

概述 argsort()函数在模块numpy.core.fromnumeric中。 在python中排序数组,或者获取排序顺序的时候,我们常常使用numpy包的argsort函数来完成。...

python直接获取API传递回来的参数方法

之前用python调用API存JSON的时候试用了很多方法,现在调用API直接获取参数的时候也是查了好多例子(毕竟我是一个初学者)。 结果让我发现了,原来只用把之前写的方法中去掉传参即可...

Python装饰器模式定义与用法分析

Python装饰器模式定义与用法分析

本文实例讲述了Python装饰器模式定义与用法。分享给大家供大家参考,具体如下: 装饰器模式定义:动态地给一个对象添加一些额外的职责。 在Python中Decorator mode可以按...

解决Python下imread,imwrite不支持中文的问题

由以下函数代替该功能: def cv_imread(file_path): cv_img=cv2.imdecode(np.fromfile(file_path,dtype=np.u...

详解Python在使用JSON时需要注意的编码问题

详解Python在使用JSON时需要注意的编码问题

写这篇文章的缘由是我使用 reqeusts 库请求接口的时候, 直接使用请求参数里的 json 字段发送数据, 但是服务器无法识别我发送的数据, 排查了好久才知道 requests 内部...