这里只给出其它文章里不适合出现部分语法风格。

python有几种类型的复合语句:if、for、while、def、class、try/except、with/as等。这些复合类型的语句在编写时,要遵循python的语法风格:

  1. 冒号结尾复合语句的声明,如if expr:def f():
  2. 通过缩进数量决定代码块层次,同级别的代码块缩进数量相同
    • 也就是通过缩进来取代其它语言中的{}表示的代码块层次
  3. 代码体部分缩进,缩进数量随意,但同一层次的代码块缩进数量必须相同
  4. 如果代码体部分只有一个语句,可以直接放在声明行冒号的后面,如if expr: print("a")
  5. 可以使用空格或制表符进行缩进,但缩进同一层次时,不要混用空格或制表符
  6. 允许这些复合语句的声明行部分的表达式不使用括号包围,但使用括号也不会错,使用括号是为了确保表达式的优先级
  7. python中的括号类型(如小括号、中括号、大括号)都可以让代码换行书写,也就是续行。虽然\也有效,但不建议。

例如:

if a > 3:
print("hello world1")
print("hello world2")
else:
print("hello world else")

上面if和else位于同一层次的全局(文件)代码块,if的主分支两个语句位于同一层次的代码块(缩进相同)。在其他语言中,对等的写法大概如下:

if (a > 3) {
print("hello world1")
print("hello world2")
} else {
print("hello world else")
}

python中,条件表达式部分加上括号也没问题:

if (a>3):
...

如果代码体只有单个语句,代码体可以直接放在冒号后面。例如:

if a > 3:print("a")
def f():print("a")
class F:pass

括号类型包围的内容,包括列表的中括号[]、集合或字典的大括号{}、元组或表达式或包围函数参数的小括号(),它们可以随意换行。

例如:

a = "aaa" + "bbb"
a = ("aaa" +
"bbb") L = [11,22,33,44]
L = [11,22,
33,44] D = {"k1":"v1", "k2":"v2", "k3":"v3"}
D = {"k1":"v1",
"k2":"v2",
"k3":"v3"} if a > 3: print(a)
if (a >
3):print(a)

python语法风格的更多相关文章

  1. Python 代码风格

    1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...

  2. python代码风格-PEP8

    转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...

  3. 【转】python代码风格-PEP8

    转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...

  4. 转---Google Python编程风格指南

    为帮助读者能够将代码准确格式化,我们提供了针对 Vim的配置文件 .对于Emacs用户,保持默认设置即可. 背景 Python 是 Google主要的脚本语言.这本风格指南主要包含的是针对python ...

  5. Python 编码风格指南

    原文:http://python.jobbole.com/84618/ 本文超出 PEP8 的范畴以涵盖我认为优秀的 Python 风格.本文虽然坚持己见,却不偏执.不仅仅涉及语法.模块布局等问题,同 ...

  6. (转)PEP 8——Python编码风格指南

    PEP 8——Python编码风格指南标签(空格分隔): Python PEP8 编码规范原文:https://lizhe2004.gitbooks.io/code-style-guideline-c ...

  7. 4、Python语法之变量

    一 引入 我们学习Python语言是为了控制计算机.让计算机能够像人一样去工作,所以在Python这门语言中,所有语法存在的意义都是为了让计算机具备人的某一项技能,这句话是我们理解后续所有Python ...

  8. Python基础部分:5、 python语法之变量与常量

    目录 python语法之变量与常量 一.什么是变量与常量 1.什么是变量 2.什么是常量 二.变量的基本使用 1.代码中如何记录事物状态 2.变量使用的语法结构与底层原理 3.变量名的命名规范 4.变 ...

  9. 对 Python 语法不够了解导致的 bug

    对 Python 语法不够了解导致的 bug. `in` '20' in '11264,6144,4096,3072,2048,1024,300,30' Out[7]: True a_list = ' ...

随机推荐

  1. restful状态码常用

    在进行后端接口API封装的过程中,需要考虑各种错误信息的输出.一般情况下,根据相应问题输出适合的HTTP状态码,可以方便前端快速定位错误,减少沟通成本. HTTP状态码有很多,每个都有对应的含义,下面 ...

  2. 使用pdf.js预览实现读取服务器外部文件

    不知道大家使用百度网盘的文件预览功能,f12看过控制台没有. 发现百度网盘使用的预览文件功能全是基于开源pdf .js的 接下来正题,我们在使用pdf.js默认是读取发布容器内部的文件,读取外部的文件 ...

  3. 20155205 郝博雅 Exp2 后门原理与实践

    20155205 郝博雅 Exp2 后门原理与实践 一.基础问题回答 后门(木马) 专用程序 投放 隐藏(免杀) 启动(自启动.绑定) (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:上学 ...

  4. String StringBuilder StringBuffer区别

    String StringBuilder StringBuffer String类是final类,不可以被继承,且它的成员方法也是final方法,当一个字符串对象进行操作操作时,任何的改变不会影响到这 ...

  5. mysql客户端连不上数据库

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges ...

  6. IDEA引入spring的命名空间

    我们在写spring的配置文件的时候,有的时候可能会用到 P 标签,然后我们发现自己并没有p标签啊,那么我们一起来看我是怎么解决的. 首先在我们的xml文件的首部添上这句话: xmlns:contex ...

  7. html基础知识梳理

    1.浏览器内核 补充:blink为Google与Opera共同开发. 2.web标准 web标准为w3c和其他标准化组织制定的一系列标准的集合.(标签闭合.小写.不乱嵌套,使用外链css/js;结构行 ...

  8. shell 日常技巧

    批量注释: :<<COMMENT code COMMENT 循环: #!/bin/bash  for varible1 in {1..5}  #for varible1 in 1 2 3  ...

  9. build.gradle

    1.将Eclipse项目导入到Android studio 中 很多点9图出现问题解决方法: 在build.gradle里添加以下两句: aaptOptions.cruncherEnabled = f ...

  10. day17_雷神_数据库 小全

    # 数据库 1.mysql 介绍 一 数据库管理软件的由来 程序的所有组件不可能只在一个机子上,性能问题和单点故障, 程序分散了,还需要解决数据共享问题, 基于网络访问这台共享的机器,用socket. ...