脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python基础必备之语法结构详解

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

2022-12-12 10:34Mr数据杨 Python

Python语法定义了用于在 Python 编程中创建句子的所有规则集。如果想更深入地研究 Python 词法结构,需要了解构成语句的句法元素,即构成 Python 程序的基本单元,涵盖控制结构,在不同代码组之间引导程序流的构造,快跟随小编一

Python 语句

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

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

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

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

?
1
2
3
4
5
6
print('真・三國無双')
真・三國無双
 
x = ['劉備', '関羽','張飛']
print(x[1:2])
['関羽']

续行

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

?
1
2
3
4
5
6
7
8
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

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

?
1
2
3
4
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 个字符。

隐式续行的方式

?
1
2
3
4
5
6
7
8
9
10
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 明确提倡在适当的时候使用括号优化代码结构。

?
1
2
3
4
5
6
7
8
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

显式续行的方式

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

?
1
2
3
4
5
6
7
8
9
10
str_  = \
    '真・三國無双'
str_
'真・三國無双'
 
str_ = '劉備'+'関羽'\
    + '張飛'
 
str_
'劉備関羽張飛'

每行多语句

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

?
1
2
3
4
5
6
7
8
9
10
11
x = '劉備'; y = '関羽'; z = '張飛'
print(x); print(y); print(z)
劉備
関羽
張飛
 
x, y, z = '劉備','関羽','張飛'
print(x, y, z, sep='\n')
劉備
関羽
張飛

注释

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

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

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

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

?
1
2
# 这是个注释
    # 这是个注释

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

?
1
2
3
str_ = '劉備 関羽 # 張飛'
str_
'劉備 関羽 # 張飛'

其他的一些注释方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 隐式续行
list_  = [
    '劉備', '関羽',    # 注释
    '張飛',     # 注释
]
 
list_
['劉備', '関羽', '張飛']
 
 
# 这里是个注释1
#
# 这里是个注释2
# 这里是个注释3
 
"""这里是个注释1
 
这里是个注释2
这里是个注释3
"""

空白字符

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

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

字符 ASCII码 文字表达
space 32( 0x20) ’ ’
tab 9( 0x9) ‘\t’
newline 10( 0xa) ‘\n’

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

?
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
26
27
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 环境。

?
1
2
3
4
5
C:\Users\Lenovo>hello
hello
 
C:\Users\Lenovo>    hello
hello

但是在python环境下不可行。

?
1
2
3
4
5
6
7
8
9
print('真・三國無双')
真・三國無双
 
 
    print('真・三國無双')
  File "<stdin>", line 1
    print('真・三國無双')
    ^
IndentationError: unexpected indent

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

原文链接:https://blog.csdn.net/qq_20288327/article/details/124473009

延伸 · 阅读

精彩推荐
  • Pythonpython使用json序列化datetime类型实例解析

    python使用json序列化datetime类型实例解析

    这篇文章主要介绍了python使用json序列化datetime类型实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下...

    junli_chen8742021-01-15
  • PythonPython实现的爬取网易动态评论操作示例

    Python实现的爬取网易动态评论操作示例

    这篇文章主要介绍了Python实现的爬取网易动态评论操作,结合实例形式分析了Python针对网易评论正则爬取及json格式数据转换、提取等相关操作技巧,需要的朋...

    小傲娇的认真10852021-03-01
  • PythonPython中循环引用(import)失败的解决方法

    Python中循环引用(import)失败的解决方法

    在python中常常会遇到循环import即circular import的问题,下面这篇文章主要给大家介绍了关于Python中循环引用(import)失败的解决方法,文中通过示例代码介绍...

    胡小旭9222021-02-04
  • Pythonpython numpy中对ndarry按照index增删改查

    python numpy中对ndarry按照index增删改查

    这篇文章主要介绍了python numpy中对ndarry按照index增删改查,在numpy中的ndarry是一个数组,因此index就是位置下标,注意下标是从0开始,接下来一起进入下面文...

    呆萌的代Ma5782022-09-22
  • Python用Python计算三角函数之atan()方法的使用

    用Python计算三角函数之atan()方法的使用

    这篇文章主要介绍了用Python计算三角函数之atan()方法的使用,是Python入门的基础知识,需要的朋友可以参考下...

    Python教程网8062020-06-29
  • PythonPython中多线程的创建及基本调用方法

    Python中多线程的创建及基本调用方法

    由于注明的GIL的存在,Python尽管能创建多个线程,但是多线程却不能同时工作...well,这里我们来看一下Python中多线程的创建及基本调用方法...

    linda10004502020-09-01
  • Python解读Django框架中的低层次缓存API

    解读Django框架中的低层次缓存API

    这篇文章主要介绍了解读Django框架中的低层次缓存API,Django是最具人气的Python web开发框架,需要的朋友可以参考下 ...

    Django框架网2792020-07-26
  • PythonUbuntu下安装PyV8

    Ubuntu下安装PyV8

    本文给大家简单介绍了下在ubuntu下安装pyv8的方法和注意事项,非常的实用,有需要的小伙伴可以参考下...

    脚本之家2132020-08-16