【Python】3. 基础语法(2) -- 语句篇

简介: 【Python】3. 基础语法(2) -- 语句篇

顺序语句

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的.

print("1")
print("2")
print("3")

执行结果一定为 "123", 而不会出现 "321" 或者 "132" 等. 这种按照顺序执行的代码, 我们称为 顺序语句.

这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行执行.
就好像人生的顺序, 是上学, 工作, 结婚, 生子. 一旦这里的顺序乱了, 就很麻烦.

条件语句

什么是条件语句

条件语句能够表达 "如果 ... 否则 ..." 这样的语义. 这构成了计算机中基础的 逻辑判定.
条件语句 也叫做 分支语句, 表示了接下来的逻辑可能有几种走向.
举例说明:
在这里插入图片描述
其中 "我认真敲代码" 称为 条件. 如果条件成立(条件为真), 则会出现 "我就很容易找到工作" 这个情况.
如果条件不成立(条件为假), 则会出现 "我就容易毕业就失业".

语法格式

Python 中使用 if else 关键字表示条件语句.
(1) if

if expression:
    do_something1
    do_something2
next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2
其中next_something是一定会执行的!不管条件成不成立
(2) if - else

if expression:
    do_something1
else:
    do_something2

如果 expression 值为 True, 则执行 do_something1
如果 expression 值为 False, 则执行 do_something2
(3) if - elif - else

if expression1:
    do_something1
elif expression2:
    do_something2
else:
    do_something3

如果 expression1 值为 True, 则执行 do_something1
如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意: Python中的条件语句写法, 和很多编程语言不太一样.
if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
对于多条件分支, 不是写作 else if, 而是 elif (合体了).

缩进和代码块

代码块 指的是一组放在一起执行的代码.
在 Python 中使用缩进表示代码块. 不同级别的缩进, 程序的执行效果是不同的.

# 代码1
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
    print("world")
# 代码2
a = input("请输入一个整数: ")
if a == "1":
    print("hello")
print("world")

注意上述代码的区别.
在代码1 中, print("world") 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行.
在代码2 中, print("world") 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行
在这里插入图片描述
另外, 代码块内部还可以嵌套代码块

a = input("请输入第一个整数: ")
b = input("请输入第二个整数: ")
if a == "1":
    if b == "2":
        print("hello")
    print("world")
print("python")
在这个代码中, 
print("hello") 具有两级缩进, 属于 if b == "2" 条件成立的代码块. 
print("world") 具有一级缩进, 属于 if a == "1" 条件成立的代码块. 
print("python") 没有缩进, 无论上述两个条件是否成立, 该语句都会执行

基于缩进的方式表示代码块, 带来的好处就是强制要求程序猿要写明确的缩进, 来明确代码之间的相对关系. 如果缩进书写的不对, 则直接报错.

像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.

同时, 带来的坏处就是, 如果缩进层次比较多, 就容易分不清楚某个语句属于哪个层级.

if a == 1:
    if b == 2:
        if c == 3:
            if d == 4:
                if e == 5:
                    if f == 6:
                        if g == 7:
                   print("hello")
                    print("1")
     print("2")

请问, 上述代码中的 print("1") 和 print("2") 属于哪一级缩进?

由于嵌套的层数太多了,这俩语句对应哪一级代码块,其实是并不容易观察的!!
因此这里的写法更容易出错 相比于C++/Java中的{}的写法而言

因此, 就有了 "写 Python 需要自备游标卡尺" 这个梗.
在这里插入图片描述

在Python中,缩进表示代码块.
在if, else, elif, while, for.....需要跟上代码块的部分,都是需要使用缩进来表示的.
在C++/ Java中,对于代码缩进是没有强制要求的
缩进具体怎么写都不影响代码的编译运行结果.
如果缩进没有好好的统一风格来写,也是对于可读性比较影响
在这里插入图片描述

练习

1. 输入一个整数, 判定是否是奇数

在这里插入图片描述

在这里插入图片描述

空语句 pass

代码示例: 输入一个数字, 如果数字为 1, 则打印 hello.

a = int(input("请输入一个整数:"))
if a == 1:
    print("hello")

这个代码也可以等价写成

a = int(input("请输入一个整数:"))
if a != 1:
 pass
else:
    print("hello")

其中 pass 表示 空语句, 并不会对程序的执行有任何影响, 只是占个位置, 保持 Python 语法格式符合要求.

循环语句

有些操作是需要反复执行的. 这种就需要使用循环.

while 循环

基本语法格式

while 条件:
    循环体

条件为真, 则执行循环体代码. 条件为假, 则结束循环.
例题:
在这里插入图片描述

for 循环

基本语法格式

for 循环变量 in 可迭代对象:
    循环体

注意:
python 的 for 和其他语言不同, 没有 "初始化语句", "循环条件判定语句", "循环变量更新语句", 而是更加简单
所谓的 "可迭代对象", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
==continue 立即结束当前这次循环,进入下次循环
break 立即结束整个循环==
在这里插入图片描述
while True: 光看到while True不一定是死循环,关键是看循环体里是不是还能break.
在这里插入图片描述

代码示例: 输入若干个数字, 求平均值. 使用 "分号" 作为结尾.

sum = 0
count = 0
while True:
    num = input("请输入数字:")
    if num == ';':
        break
    num = float(num)
    sum += num
    count += 1
print(sum / count)
相关文章
|
2月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
75 4
|
26天前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
36 7
|
4月前
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
25天前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
52 5
|
27天前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
32 1
|
1月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
24 2
|
2月前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
2月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
81 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
2月前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
56 1