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码 文字表达
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

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

(0)

相关推荐

  • Python学习之12个常用基础语法详解

    目录 前言 1.多个字符串组合为一个字符串 2.字符串拆分为子字符串列表 3.统计列表中元素的次数 4.使用try-except-else-block模块 5.使用枚举函数得到key/value对 6.检查对象的内存使用情况 7.合并字典 8.计算执行一段代码所花费的时间 9.列表展开 10.列表采样 11.数字化 12.检查列表元素的唯一性 前言 前几天写了一篇关于python高级语法的文章:python进阶从青铜到王者一定会用上的Python技巧. 有读者私信说:怎么看自己是不是入门pyth

  • python中常用的九个语法技巧

    目录 前言 数字分隔符 交换变量值 连续比较式 字符串乘法 列表拼接与乘法 列表切片 打包解包 With语句对文件操作 列表解析式 总结 前言 python语言简单.方便,尤其体现在语法方面,在其它语言中需要用很多行语句表达的,在python中只需1-2行语句就可以方便地操作. 数字分隔符 如果我们现在要输入100亿,可以这样: a=10000000000 但你是不是也数不清自己输入了多少个0 #数字分隔符 a0=10000000000 a1=100*10000*10000 a2=100_000

  • Python的语法基础你真的了解吗

    目录 Python语法基础 01-Python快速入门 U1-定义变量 U2-判断语句 U3-循环 U4-定义函数 U5-面向对象 U6-引入python文件 02-python的三大优点.七大特色 U1-三大优点: U2-七大特色: 03-python语法基础 U1:Python常量与变量 U2:Python数与字符串 U3:Python数据类型 U4:Python标识符 U5:Python对象 U6:Python行与缩进 总结 Python语法基础 01-Python快速入门 U1-定义变量

  • python语法之语言元素和分支循环结构详解

    目录 一.语言元素 1.变量及其类型 (1)变量 (2)变量类型 2.变量命名规则 3.变量的使用 4.运算符 二.分支循环结构 1.if 2.for-in 3.while 总结 python中严格控制缩进,一个tab键或者4个空格 一.语言元素 1.变量及其类型 (1)变量 所谓变量,就是可以改变的量. 首次使用变量会在内存中划分空间,并初始化值: 再次使用变量不再划分空间,修改原空间的. (2)变量类型 ①数值类型 int float bool:True.False ②字符串类型 字符串运算

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

    目录 Python 语句 续行 隐式续行的方式 显式续行的方式 每行多语句 注释 空白字符 空格作为缩进 Python 语句 语句是 Python 解释器解析和处理的基本指令单元.通常解释器按顺序一个接一个的执行语句. 在 REPL 会话中,语句在输入时执行,直到解释器终止.当执行脚本文件时,解释器从文件中读取语句并执行直到遇到文件结尾. 通常每个语句占用一行,语句的结尾由标记行尾的换行符分隔. print('真・三國無双') 真・三國無双 x = ['劉備', '関羽','張飛'] print

  • Java基础之switch分支结构详解

    一.基本语法 二.流程图 1.画出 swtich 出流程 2.案例说明流程图 三.快速入门 案例:Switch01.java 请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g a 表示星期一,b 表示星期二 - 根据用户的输入显示相应的信息.要求使用 switch 语句完成 代码: /* 案例:Switch01.java 请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g a表示星期一,b表示星期二 - 根据用户的输入显示相应的信息.要求使用 swi

  • Python基础知识之变量的详解

    一.定义 在python中,变量名只有在第一次出现的时候,才是定义变量.当再次出现时,不是定义变量,而是直接调用之前定义的变量. 二.命名方法 2.1小驼峰命名法 第一个单词以小写字母开始,后续单词的首字母大写 firstName , lastName 2.2大驼峰命名法 每一个单词的首字母都采用大写字母 FirstName , LastName 2.3下划线命名法 每个单词之间用下划线连接起来 first_name , last_name 三.命名规则 3.1标识符 开发人员自定义的一些符号和

  • Python基础教程之pytest参数化详解

    目录 前言 源代码分析 装饰测试类 装饰测试函数 单个数据 一组数据 组合数据 标记用例 嵌套字典 增加测试结果可读性 总结 前言 上篇博文介绍过,pytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升.在实际 工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余.这里,我们来了解一下 @pytest.mark.parametrize装饰器,可以很好的解决上述问题. 源代码分析 def parametrize(self,argnames, argvalues, indir

  • Python基础Lists和tuple实例详解

    目录 Lists 索引和切片 增删改 增 删除 改 连接/拼接 tuple 解包 元素是可变的仍然可变 namedtuple Lists 列表可以包含不同类型的元素,甚至是Lists,但是通常是同一个类型的. if __name__ == '__main__': squares = [1, 4, [1, 2], "whf", 25] print(squares) 索引和切片 列表支持使用下标索引元素,支持切片. if __name__ == '__main__': squares =

  • python基础之函数和面向对象详解

    目录 函数 函数参数 变量作用域 内嵌函数和闭包 lambda 表达式 面向对象 三大特性 类.类对象 和 实例对象 类属性 和 对象属性 私有 魔法方法 基本的魔法方法 算术运算符 属性访问 描述符 迭代器和生成器 迭代器 生成器 总结 函数 python中『一切皆对象』, 函数也不例外. 在之前所学的C++或Java中, 可以发现函数的返回值要么为空, 要么是某种数据类型, 但是在python中, 返回值可以是任何对象, 包括函数. 函数参数 函数的参数种类比较多, 主要有: 1.位置参数

  • Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

    本文实例讲述了Python基础学习之基本数据结构.分享给大家供大家参考,具体如下: 前言 相比于PHP,Python同样也是脚本解析语言,所以在使用Python的时候,变量和数据结构相对于编译语言来说都会简单许多,但是Python相比于PHP来说,变量类型的定义会比较严格:string->int的转换没有PHP那么方便.但这也让程序稳定性有所提升,例如和客户端交互的时候,数据库取出来的数字int和缓存取出来的数字(默认是string)需要手动进行转换(否则会有报错提示),而PHP不需要手动转换的

  • 通过PHP与Python代码对比的语法差异详解

    一.背景 人工智能这几年一直都比较火,笔者一直想去学习一番:因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起: 笔者觉得应该有不少人同样熟悉PHP或者Python语言,对另外一个门语言并不是太熟悉,有想法学习另外一门语言,希望通过这篇文章能够对大家有一点帮助. 二.知识点 最近在完成一个小作业,题目要求:通过Python代码实现,让用户输入用户名密码,认证成功后显

  • python基础教程之五种数据类型详解

    Python 五种数据类型 在学习一门语言的过程中,首先肯定就是要先接触到它所拥有的数据类型,Python拥有五种主要的数据类型,下面介绍一下我对这五种数据类型的理解和想法. 1.数 在Python中的数主要分为四种:int(整数).float(浮点数).long(长整型)和complex(复数) 主要特别的地方就是float类型的数有一个函数round()可以取整:round(a,b):对float类型的数值a进行操作,小数点后保留b位有效数字,四舍五入,默认为1. complex类型也算是比

  • Python基础之函数用法实例详解

    本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def,def是可执行的语句--函数并不存在,直到Python运行了def后才存在. 函数是通过赋值传递的,参数通过赋值传递给函数 def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def <name>(arg1,arg2,arg3,--,argN): <stateme

随机推荐