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

作者:Mr数据杨 时间:2023-12-07 05:29:06 

Python 语句

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

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

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

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

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')
劉備
関羽
張飛

注释

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

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

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

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

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

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

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

其他的一些注释方法

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

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

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

"""这里是个注释1

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

空白字符

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

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

字符ASCII码文字表达
space32( 0x20)&rsquo; &rsquo;
tab9( 0x9)&lsquo;\t&rsquo;
newline10( 0xa)&lsquo;\n&rsquo;

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

空格作为缩进

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

例如 windows 环境。

C:\Users\Lenovo>hello
hello

C:\Users\Lenovo>    hello
hello

但是在python环境下不可行。

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

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

来源:https://blog.csdn.net/qq_20288327/article/details/124473009

标签:Python,语法,结构
0
投稿

猜你喜欢

  • 在Asp程序中取得表单所有内容的方法

    2010-04-24 16:07:00
  • vue实现选项卡及选项卡切换效果

    2024-05-08 09:33:17
  • 详解python的sorted函数对字典按key排序和按value排序

    2023-01-13 11:36:35
  • PHP的PDO预处理语句与存储过程

    2023-06-17 11:49:59
  • Python接口自动化系列之unittest结合ddt的使用教程详解

    2023-10-11 05:31:02
  • Golang Gob编码(gob包的使用详解)

    2024-02-22 02:16:46
  • python PyAutoGUI 模拟鼠标键盘操作和截屏功能

    2022-11-12 08:16:41
  • 在Python的Django框架中使用通用视图的方法

    2023-07-19 05:50:45
  • 聊天室php&mysql(五)

    2023-11-19 20:18:22
  • 一百行python代码将图片转成字符画

    2023-05-06 05:49:15
  • 安装MySQL 5后无法启动(不能Start service)解决方法小结

    2024-01-23 07:29:29
  • python 如何使用find和find_all爬虫、找文本的实现

    2023-09-30 02:01:46
  • 常用ASCII 码对照表

    2007-08-21 14:35:00
  • Pytorch数据读取与预处理该如何实现

    2021-12-23 17:44:35
  • nodejs微信公众号支付开发

    2024-05-11 09:17:11
  • 深入php内核之php in array

    2024-05-13 09:23:55
  • 微信小程序可滑动月日历组件使用详解

    2024-04-16 10:32:22
  • SQL Server实现全文搜索查询详解

    2024-01-23 05:19:13
  • 详解vue中的computed的this指向问题

    2024-04-27 15:46:56
  • python groupby 函数 as_index详解

    2023-09-13 21:04:07
  • asp之家 网络编程 m.aspxhome.com