Python基础必备之语法结构详解

 更新时间:2022年04月28日 16:25:33   作者:Mr数据杨  
Python语法定义了用于在 Python 编程中创建句子的所有规则集。如果想更深入地研究 Python 词法结构,需要了解构成语句的句法元素,即构成 Python 程序的基本单元,涵盖控制结构,在不同代码组之间引导程序流的构造,快跟随小编一起学习一下吧

Python 语句

语句是 Python 解释器解析和处理的基本指令单元。通常解释器按顺序一个接一个的执行语句。

在 REPL 会话中,语句在输入时执行,直到解释器终止。当执行脚本文件时,解释器从文件中读取语句并执行直到遇到文件结尾。

通常每个语句占用一行,语句的结尾由标记行尾的换行符分隔。

print('真・三國無双')
真・三國無双

x = ['劉備', '関羽','張飛']
print(x[1:2])
['関羽']

续行

假设 Python 代码中的单个语句特别长(包含多个赋值语句)。

person1_age = 42
person2_age = 16
person3_age = 71

someone_is_of_working_age = (person1_age >= 18 and person1_age <= 65) or (person2_age >= 18 and person2_age <= 65) or (person3_age >= 18 and person3_age <= 65)

someone_is_of_working_age
True

一个冗长的嵌套列表最好有自己的格式化规范。

list_ = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]

list_ 
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]

Python 官方的操作指南定义的最大行长应为 79 个字符。

隐式续行的方式

list_ = [
	[1, 2, 3, 4, 5],
	[6, 7, 8, 9, 10],
	[11, 12, 13, 14, 15],
	[16, 17, 18, 19, 20],
	[21, 22, 23, 24, 25]
]

list_
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]

PEP8 明确提倡在适当的时候使用括号优化代码结构。

someone_is_of_working_age = (
    (person1_age >= 18 and person1_age <= 65)
    or (person2_age >= 18 and person2_age <= 65)
    or (person3_age >= 18 and person3_age <= 65)
)

someone_is_of_working_age
True

显式续行的方式

使用反斜杠 ( \ ) 字符作为该行的最后一个字符。

str_  = \
	'真・三國無双'
str_ 
'真・三國無双'

str_ = '劉備'+'関羽'\
    + '張飛'

str_ 
'劉備関羽張飛'

每行多语句

如果多个语句用分号 ( ; ) 字符分隔。

x = '劉備'; y = '関羽'; z = '張飛'
print(x); print(y); print(z)
劉備
関羽
張飛

x, y, z = '劉備','関羽','張飛'
print(x, y, z, sep='\n')
劉備
関羽
張飛

注释

哈希字符 ( # ) 表示注释,解释器将忽略从哈希字符到该行末尾的所有内容。

list_ = ['劉備', '関羽', '張飛']  # 这是个注释
list_
['劉備', '関羽', '張飛']

如果该行的第一个非空白字符是( # ) ,则整行将被忽略。

# 这是个注释
    # 这是个注释

字符串文字中的哈希字符受到保护,并且不表示注释。

str_ = '劉備 関羽 # 張飛'
str_ 
'劉備 関羽 # 張飛'

其他的一些注释方法

# 隐式续行
list_  = [
	'劉備', '関羽',    # 注释
	'張飛',     # 注释
]

list_ 
['劉備', '関羽', '張飛']


# 这里是个注释1
#
# 这里是个注释2
# 这里是个注释3

"""这里是个注释1

这里是个注释2
这里是个注释3
"""

空白字符

通常将标记彼此分开的是空格,提供空白以提高可读性的空白字符。

字符ASCII码文字表达
space32( 0x20)’ ’
tab9( 0x9)‘\t’
newline10( 0xa)‘\n’

Python 解释器通常会忽略空格。

x=1;y=2
x+y
3

(x==3)and(x<y)
True

list_=['劉備','関羽','張飛']
list_
['劉備', '関羽', '張飛']

list_={'劉備':1,'関羽':2}
list_
{'劉備': 1, '関羽': 2}

x,y,z='劉備',14,21.1
(x,y,z)
('劉備', 14, 21.1)

str_='劉備'"関羽"'張飛'
str_
'劉備関羽張飛'

str_ = '関羽'

str_ in ['劉備', '関羽', '張飛']
True

空格作为缩进

缩进,在一行上第一个标记左侧的空格——具有非常特殊的含义。在大多数解释语言中,语句前的前导空格被忽略。

例如 windows 环境。

C:\Users\Lenovo>hello
hello

C:\Users\Lenovo>    hello
hello

但是在python环境下不可行。

print('真・三國無双')
真・三國無双


    print('真・三國無双')
  File "<stdin>", line 1
    print('真・三國無双')
    ^
IndentationError: unexpected indent

以上就是Python基础必备之语法结构详解的详细内容,更多关于Python语法结构的资料请关注脚本之家其它相关文章!

相关文章

  • Django项目中实现使用qq第三方登录功能

    Django项目中实现使用qq第三方登录功能

    使用qq登录的前提是已经在qq互联官网创建网站应用并获取到QQ互联中网站应用的APP ID和APP KEY。这篇文章主要介绍了Django项目中实现使用qq第三方登录功能,需要的朋友可以参考下
    2019-08-08
  • 使用Keras预训练模型ResNet50进行图像分类方式

    使用Keras预训练模型ResNet50进行图像分类方式

    这篇文章主要介绍了使用Keras预训练模型ResNet50进行图像分类方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 对Keras自带Loss Function的深入研究

    对Keras自带Loss Function的深入研究

    这篇文章主要介绍了对Keras自带Loss Function的深入研究,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python中的getter与setter你了解吗

    python中的getter与setter你了解吗

    这篇文章主要为大家详细介绍了python中的getter与setter,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 用Python绘制漫步图实例讲解

    用Python绘制漫步图实例讲解

    在本篇文章里小编给大家整理的是一篇关于用Python绘制漫步图实例讲解内容,需要的朋友们可以学习下。
    2020-02-02
  • Python利用PyExecJS库执行JS函数的案例分析

    Python利用PyExecJS库执行JS函数的案例分析

    这篇文章主要介绍了Python利用PyExecJS库执行JS函数,本文通过案例分析给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • opencv python Canny边缘提取实现过程解析

    opencv python Canny边缘提取实现过程解析

    这篇文章主要介绍了opencv python Canny边缘提取实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 基于python介绍pytorch保存和恢复参数

    基于python介绍pytorch保存和恢复参数

    这篇文章主要介绍了基于python介绍pytorch保存和恢复参数,为了恢复模型,我们需要用代码生成框架,然后从磁盘加载参数,下面具体的相关介绍,需要的小伙伴可以参考一下
    2022-03-03
  • python 制作简单的音乐播放器

    python 制作简单的音乐播放器

    这篇文章主要介绍了python 制作简单的音乐播放器,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • Keras中Conv1D的使用及说明

    Keras中Conv1D的使用及说明

    这篇文章主要介绍了Keras中Conv1D的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论