Python语法结构
Mr数据杨 人气:0Python 语句
语句是 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码 | 文字表达 |
---|---|---|
space | 32( 0x20) | ’ ’ |
tab | 9( 0x9) | ‘\t’ |
newline | 10( 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
加载全部内容