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

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. eslint 的 env 配置是干嘛使的?

    这笔修改体现了 env 和 global 的关系: https://github.com/g8up/youDaoDict/commit/8b05616f 官方文档表述: https://eslint. ...

  2. TYVJ1424-占卜DIY

    题目有点长,对于样例最好拿张A4纸模拟写一遍. 可以发现程序一定不会死循环,因为每种牌都是4张,而死循环的条件是某种牌有5张然后你拿了又放进去.如果写出来死循环了,那就是写不对了. 有几点可能是需要注 ...

  3. 6-使用requests库封装类处理get/post请求

    1.request安装 1)pip安装,直接pip install requests 2)下载离线包安装,加压后,命令行进入路径,执行python setup.py install 2.创建工程 注意 ...

  4. mysql case when then else end 的写法

    select t.colum1,t.colum2 (case when t.colum1 = '' then '' t.when colum2 = '' then '' else '' end ) a ...

  5. 读书笔记二 How Does the Internet work?

    原文链接:  https://web.stanford.edu/class/msande91si/www-spr04/readings/week1/InternetWhitepaper.htm 先写写 ...

  6. python Descriptor (描述符)

    简介: python 描述符是新式类(继承自object)中的语言协议,基于描述符可以提供更佳优雅的解决方案. python的classmethod, staticmethod, property都是 ...

  7. JSP Ueditor 实现图片跨域上传

    Ueditor的单图上传,在官方文档上明确写了不支持 然后通过百度找了许多方案,终于有一个可以解决了. http://www.cnblogs.com/hpnet/p/6290452.html 不过那个 ...

  8. My Feedback for Windows 10 IoT Core on Feedback Hub App (4/1/2017-1/23/2018)

  9. 深入分析.NET应用程序SQL注入【危害】

    前言:   前面我们已经简单的剖析了一下.NET应用程序SQL注入.没有看过的朋友移步:http://bbs.ichunqiu.com/thread-7636-1-1.html,在上一篇文章我们已经了 ...

  10. eclipse创建Maven web项目的步骤

    Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理. Maven 能够帮助开发者完成以下工作: 构建 文档生成 报告 依赖 SCMs 发布 分发 邮件列表 一.环境配置 Mave ...