Python的基本组成——逻辑行和缩进
a="我是一个物理行"
a="""我是一个逻辑行
因为我一条语句便跨越了2个物理行"""

Python程序的最基本的组成元素是语句,一条语句可以占有一个物理行,过长的语句可以占有多个物理行,此时这多个物理行组成了一个逻辑行,它们在物理上虽然跨越多行,但是逻辑上是属于同一部分。每个物理行的结尾可以是注释,#之后到物理行结尾为止的所有字符都是注释部分,Python解释器将忽略注释部分。

 
空行:
    一个只包含注释或空格的物理行,称为空行,Python将完全忽略这一行代码。另外需要注意的是,在交互式解释器中,开发者必须输入一个空的物理行,以终止一个多行语句。这个空的物理行不称为空行,它不带任何空格或注释。
 
如何表示跨行的逻辑行:
   只有一行的逻辑行: 一般在Python中,物理行的结尾也就表示大多数语句的结束。
   多行的逻辑行:这需要分情况说明
(1)'\'可以将两个相邻的物理行连接成一个逻辑行,这需要一个条件就是连接的第一个物理行必须没有注释,'\'添加到第一个物理行的后面,注意:'\'前面的空格会被当成是物理行的内容;
(2)[]、{}、()可以跨越物理行;
(3)三重引号字符串常量(包括单引号和双引号)时,也可以跨越多行,但是有一点必须注意的:换行的时候需要在物理行的结尾加上'\'斜杠,否则会将换行符包括进去。
 
跨行例子:
a=2                         #我只有一个物理行
a="我有两个\
物理行" #注意:第一行不能有注释,a结果为'我有两个物理行'
a="我有两个 \
物理行" #注意:'\'前有一个空格,第二行行首也有个空格,这两个空格都属于a的内容,a结果为'我有两个 物理行'
a=""" 我有两个
物理行""" #三重双引号 ,结果会是
'我有两个
物理行'
a=""" 我有两个\
物理行""" #三重双引号 ,结果会是'我有两个物理行 '
a=[2,3,
4,5]

a=[2,3,
4,5] #第二行的缩进不影响结果
缩进:
    在C语言中有花括号来表示一个语句块。与其他语言不一样,Python没有使用花括号或者其他开始和结束的定界符来表示一个语句块。
    缩进是Python表示语句块的唯一方法。
    一个语句块中的所有语句必须使用相同的缩进,表示一个连续的逻辑行序列。
    源文件的第一行不需要缩进(不允许以任何空格开始)。
    另外需要注意一点的是:
n=int(input())
sum=0
while n>0:
if n%3==0 or n%5==0:
sum+=n
n-=1
print(sum)
n=int(input())
sum=0
while n>0:
if n%3==0 or n%5==0:
sum+=n #修改了这一句
n-=1
print(sum)
Python会报错,说明在控制语句中,语句块内语句不仅需要相同的缩进,而且要保证整个语句块在整个控制语句有一定的缩进,表示该语句块是属于该控制语句的。
 
关于缩进风格:
    标准Python风格是每个缩进级别是使用4个空格,永远不要使用Tab制表符!
    因为不同编辑器,处理制表符的方式不同,有些会把它当成一个制表符,有的会将其看成是4个或4个以上的空格,因而会产生源代码中制表符和空格的使用不一的后果,违反了Python的缩进规则。当然可以设置编辑器在打入Tab键时将其替换成相应个数的空格。
    Python的代码原则是代码只包含空格!
 
参考:
《Python技术手册》

本文链接:

http://www.cnblogs.com/cposture/p/4517368.html

【原创】Python第二章——行与缩进的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  3. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  4. 【原创】Python第二章——标识符命名规则

    在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...

  5. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

  6. Python第二章-变量和数据类型

    变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...

  7. python第二章:控制流

    变成实际上是一个过程的提现,每个过程都是有多个流程块组成. 比如:判断是否下雨的过程 1.布尔值 在第一章最后举例了比较操作后,最终返回的结果 True or False True 和 False是一 ...

  8. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  9. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

随机推荐

  1. javabean转换为map对象

    在调用第三方接口发现对方使用map进行接收(不包括秘钥等),将bean类属性转换为map,直接贴代码: /** * JavaBean对象转化成Map对象 * * @param javaBean */p ...

  2. 配置Tomcat时遇到的问题

    今天准备开始JavaWeb的学习,先配置tomcat,前期一切顺利,可当我打开startup.bat,访问localhost:8080时,却显示localhost 拒绝了我们的连接请求. 于是我开始在 ...

  3. istio实现自动sidecar自动注入(k8s1.13.3+istio1.1.1)

    一.自动注入的前提条件 自动注入功能需要kubernetes 1.9或更高版本: kubernetes环境需支持MutatingAdmissionWebhook: 二.在namespace中设置自动注 ...

  4. Git使用(一、TortoiseGit和Gitlab在Windows下的项目库创建和上传)

    介绍使用TortoiseGit初次创建并上传到gitlab项目库,转载请注明出处. 一.需要先安装git环境,并配置Git用户名及邮箱. 二.用PuTTYgen生成公约私钥对(鼠标画画).PuTTYg ...

  5. suse 11 pip pip3使用过程中遇到的各种问题

    在安装完成python3.6后,使用pip3安装某些插件,报如下错误 linux-9qk9:~ # pip3 install ipython pip is configured with locati ...

  6. The META for Mobile terminal

    近来想写一些好玩的手机网页,在这里整理了一下在手机端的meta标签,以免下次忘记,再去网上搜. meta指元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描 ...

  7. Mac 下 python 环境问题

    一.Mac下,可能存在的 python 环境: 1.Mac系统自带的python环境在(由于不同的 mac 系统,默认自带的 python 版本可能不一样): Python 2.7.10: /Syst ...

  8. linux_批量关闭进程

    以下环境是 fedora24 linux 系统中的情况: 仿真中遇到意外弹出上百个图片,无法一下全部关闭. 可以使用: ps -ef|grep LOCAL=NO|grep -v grep|cut -c ...

  9. OC中重写set和get方法、懒加载

    在写OC程序的时候,在很多时候我们会用到重写set或者get方法,重写这两个方法大多是用于刷新数据,比如懒加载. 意思就是说当你去调用set或者get方法时,系统会去调用重写的get或者set方法,这 ...

  10. java web 开发手册

    W3School离线手册(2017.03)               提取密码: b2fo JavaScript高级程序设计第三版             提取密码: cscv CSS4.2.4 参 ...