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 相关文章推荐
python的正则表达式re模块的常用方法
Mar 09 Python
python实现linux服务器批量修改密码并生成execl
Apr 22 Python
python装饰器与递归算法详解
Feb 18 Python
Python连接DB2数据库
Aug 27 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
Python-OpenCV基本操作方法详解
Apr 02 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
为什么说python适合写爬虫
Jun 11 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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
ftp类(myftp.php)
2006/10/09 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
js获取变量
2006/08/24 Javascript
javascript call和apply方法
2008/11/24 Javascript
asp 取文本框名称代码
2008/12/02 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
深入理解vue Render函数
2017/07/19 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
Python2与Python3的区别详解
2020/02/09 Python
python 绘制国旗的示例
2020/09/27 Python
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
机关节能减排实施方案
2014/03/17 职场文书
民用住房租房协议书
2014/10/29 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
高一作文之暖冬
2019/11/09 职场文书