【从零学Python_1.1】“奇怪”的代码行结构

本文详细介绍了Python的词法分析,包括逻辑行与物理行的区分、注释类型、编码声明、行连接方式、代码块的缩进规则、一行多条语句的表示以及空白行的作用。强调了缩进在Python语法中的重要性,并提供了实例展示。

官方文档:词法分析https://docs.python.org/zh-cn/3.10/reference/lexical_analysis.html

名词解释:

Python程序可以拆分为多个逻辑行

1. 逻辑行:可执行的一段逻辑语句,根据显式或隐式行拼接规则,由一个或多个物理行组成。

2. 物理行:一行有效的代码字符,输入结束视为一行的终止。

print('hello world')

3.1 单行注释:以井号"#"开头,作用于当前物理行。

#单行注释

3.2 多行注释:以三个单引号(''')或双引号(""")开始,以三个单引号结束(''')或双引号(""")结束,引号之间的内容为注释内容,单引号开始只能单引号结束,单双引号不能混用,引号不能嵌套。

'''
多行注释
多行注释
'''
"""
多行注释
多行注释
"""

被注释的代码,Python程序不会解析,单纯的给程序员写备注用,注释写的多少完全不影响代码运行。

4. 编码声明:(吐槽 -_-| ,写在注释里的编码声明)

Python默认UTF-8编码格式,可以在Python脚本第一行或第二行的注释里按照指定的正则表达式来声明编码格式,两种写法:"# -*- coding: UTF-8 -*-"或"# vim:fileencoding=UTF-8",注意:如果在第二行声明编码格式,第一行必须是注释。

# 如果在第二行声明编码格式,第一行必须是注释
# -*- coding: utf-8 -*-
# coding = utf-8

5.1 显示拼接行

使用反斜线"\",将一个逻辑行切分成多个物理行。

a = 1
b = 2
c = 3
d = 4
s = a + b + \
    c + d
print(s)

假如不使用反斜线,部分情况下使用圆括号的隐式拼接规则,也可以达到多行效果哦 

a = 1
b = 2
c = 3
d = 4
s = (a + b +
    c + d)
print(s)

 5.2 隐式拼接行:

圆括号"()"、方括号"[]"、花括号"{}" 里的表达式不需要使用反斜杠,换行操作直接将一个逻辑行切分成多个物理行。

names = ["xiaoming",
         "xiaohong",
         "xiaohui"]

拼接行:将一个逻辑行切分成多个物理行,只是便于查看,不影响代码运行

6. 一行多条语句:(不推荐的写法)

在同一行里写多条语句,语句之间使用分号";"分割。类似在一个物理行里写多个逻辑行:

a = 1; b = 2; c = 3; d = 4
s = a + b + c + d

7. 缩进层次:

Python最特别的就是使用空格缩进来表示代码块,不使用花括号 "{} "。

逻辑行的首个非空字符前的空格数,决定了该行的缩进层次;同一个代码块的语句必须是一致的缩进空格数,不一致会报错!

a = 10
if a > 0:
    print(1)    #只有if语句为true,才会执行if的子语句print(1)
    print(2)    #同上
print(3)        #执行完if语句后,会执行if的同级语句print(3)

8. 空白行:

有没有空白行,有多少空白行,都不影响Python程序运行,在函数或类之间插入空白行,方便代码阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧然CS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值