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


Posted in Python onOctober 17, 2014

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 相关文章推荐
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
import的本质解析
Oct 30 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
PYTHON发送邮件YAGMAIL的简单实现解析
Oct 28 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
解决tensorflow添加ptb库的问题
Feb 10 Python
Python识别html主要文本框过程解析
Feb 18 Python
使用npy转image图像并保存的实例
Jul 01 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
python中正则表达式的使用详解
Oct 17 #Python
基于python编写的微博应用
Oct 17 #Python
python连接oracle数据库实例
Oct 17 #Python
Python 检查数组元素是否存在类似PHP isset()方法
Oct 14 #Python
跟老齐学Python之Import 模块
Oct 13 #Python
跟老齐学Python之类的细节
Oct 13 #Python
python修改注册表终止360进程实例
Oct 13 #Python
You might like
各种咖啡的英文名子是什么
2021/03/03 新手入门
做个自己站内搜索引擎
2006/10/09 PHP
PHP的中问验证码
2006/11/25 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
Javascript非构造函数的继承
2015/04/27 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
简单的Python的curses库使用教程
2015/04/11 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
销售行政专员职责
2014/01/03 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript