python 全部缩进一行_Python成为专业人士笔记–程序行空白及tab缩进的作用
“专业人士笔记”系列目录:
创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com
python中的空白tab缩进
Python使用缩进来定义控制和循环结构,这有助于提高Python的可读性,但是,它要求程序员密切注意空格缩进的使用:因为,编辑器错误的校准可能会导致代码出现意想不到的行为。
Python使用冒号(:)和缩进来显示代码块的开始和结束位置(如果你使用过其他另一种语言,请不要将其与三元运算符相混淆)。
也就是说,Python中的块,如函数、循环、if子句和其他结构,没有专门结束标识符,所有块都以冒号开头,然后包含它下面的对应缩进后的子代码行。
例如:
def my_function(): # 这是一个函数定义。注意冒号(:) a = 2return a # 上面2行属于这个函数,因为它是Tab缩进的,返回 return 这一行也属于同一个函数 print(my_function())#这行代码不属于函数,因为没有用Tab进行缩进
或者:
if a > b: # If 语句开始于这里print(a)#属于if里一部分else: # else 语句和if是同一级print(b)#属于else里面的子语句
只包含一行语句的块可以放在同一行上,尽管这种形式通常被认为是不好的代码习惯:
if a > b: print(a)
else: print(b)
尝试使用多个语句来实现这一点是行不通的:
if x > y: y = xprint(y)# IndentationError: unexpected indent 未知的间隔if x > y: while y != z: y -= 1SyntaxError: invalid syntax 语法错误
空块会导致IndentationError错误。当您有一个没有内容的块时,使用pass(一个什么都不做的命令) :
def will_be_implemented_later():pass
Spaces(空格) 对比. Tabs(制表符)
简而言之:
始终使用4个空格作为缩进,只使用制表符当然也可以,但是Python代码的样式指南PEP 8中声明空格是首选的(但我个人觉得很麻烦,我一般都用Tab)。
Python 3不允许混合使用制表符和空格进行缩进,在这种情况下,会产生编译时错误 : 在缩进中不一致地使用制表符和空格,程序将无法运行。
Python 2允许在缩进中混合制表符和空格,但强烈不建议这样做。制表符完成前面的缩进操作,会变成8个空格的倍数,由于编辑器通常被配置为以4个空格的倍数显示选项卡,这可能会导致一些细微的错误。
许多编辑器都有“制表符到空格”的配置。在配置编辑器时,应该区分制表符(‘t’)和制表键:制表符应该配置为显示8个空格,以匹配语言语义——至少在可能出现(意外)混合缩进的情况下, 编辑器还可以自动将制表符转换为空格 。
然而,往往直接将编辑器中的Tab键配置为自动插入4个空格,而不是插入制表符,这样更符合python程序开发中的简便性要求
用制表符和空格混合编写的Python源代码,或者使用非标准数量的缩进空格,可以使用autopep8(大多数Python安装都提供了一个不太强大的替代方案:reindent.py包来处理这个问题)
综上,我个人建议,对于具体替代方案不用做过多研究,只要在pycharm这样的开发环境中,用tab键缩进代码即可,编译能通过,大部分情况下是没有问题的。
今天分享就到这里,禁止任何形式转载,违者必究
python 全部缩进一行_Python成为专业人士笔记–程序行空白及tab缩进的作用相关推荐
- math python 向上取整_Python成为专业人士笔记-各数学运算操作深度剖析
"专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com Python可以执行常见的数学运算符,包括整 ...
- python按位翻转_Python成为专业人士笔记-位操作符
"专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com 按位操作符直接操作二进制的字符串,这些是最基本 ...
- python方法和函数的格式是完全一样的_Python成为专业人士笔记-返回变量形式函数- str() 和 repr()...
"专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com 有两个函数可用于获取对象的可读表示 ,常用于打 ...
- python 全部缩进一行_Python(48)语言参考2:词法分析
2. 词法分析 Python 程序由一个 解析器 读取.输入到解析器的是一个由 词法分析器 所生成的 形符 流,本章将描述词法分析器是如何将一个文件拆分为一个个形符的.Python 会将读取的程序文本 ...
- python 全部缩进一行_Python开发工具:缩进规则的使用
参考文章来自:https://docs.python.org/2.0/ref/indentation.html 分享一波 前言 Python中的缩进(Indentation)决定了代码的作用域范围.这 ...
- [转载] [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法
参考链接: Python字符串| 十六进制 hexdigits 参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专 ...
- [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法
参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.z ...
- 用python开发一款云笔记_Python成为专业人士笔记–os模块
"专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com 简述 这个模块提供了一些使用与操作系统相关功能 ...
- python列表操作计算列表长度并输出_Python成为专业人士笔记–List列表
专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com Python列表是Python程序中广泛使用的一种通用数据 ...
最新文章
- Swift语言中class、struct、enum的联系与区别
- 【转】Mac下安装和配置Redis
- php异常处理示例,php异常处理示例
- subversion SVN
- Java黑皮书课后题第1章:1.5(计算表达式)编写程序,显示以下式子的结果
- 前端开发时间格式的转换方法_开发人员投资时间而不浪费时间的10种方法
- oracle11g session,Oracle11g中Killsession心得
- [Python] 函数lambda(), filter(), map(), reduce()
- matlab 柱状图 折线图,数据可视化分析(柱状图、折线图、热力图)
- 惩罚函数求解matlab,matlab内点惩罚函数法
- linux查看udp丢包数量,Linux下UDP丢包问题分析思路
- 基于QT的科学计算器
- sspanel php,sspanelv3魔改版邮件设置指南及常用配置
- centos7.5安装snipe-it v5.1.2版本开源资产管理软件
- 单纤双向(Bidi)是如何实现的?会在5G前传中占一席之地吗?
- java excel 分页合并_Excel办公技巧——完整显示跨页合并的单元格
- 【JavaScript】实现移动小精灵
- pandas读取csv文件UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xca in position 37: invalid contin
- 每个程序员都应该读的数学书
- 几种编程语言类型的区分
热门文章
- oracle共享内存系统全局,Oracle10g 管理系统全局区简介
- java servlet ajax_javaweb中ajax请求后台servlet(实例)
- linux的python开发环境_linux下python开发环境之一——安装python
- java代码读写者问题_一整套Java线上故障排查技巧,爱了!
- php 课程节次周次提取,用PHP写一个最简单的解释器Part5(计算器最后一节,下节开始如何写个脚本语言)...
- oracle ora 16014,ORA-16014 ORA-00312错误解决
- 打造IE6的position:fixed整理篇
- 对网易云音乐软件的看法
- ODP.NET连接池性能计数器
- 双链表插入、删除操作单步解析(十四)