python基础语法(2)

基础语法

  • 前言
  • 顺序语句
  • 条件语句
    • 什么是条件语句
    • 语法格式
      • (1) if
      • (2) if - else
      • (3) if - elif - else
  • 缩进和代码块
  • 循环语句
    • while 循环
    • for 循环
    • 关于continue和break


前言

本文基于pycharm编译器,也可以使用Anaconda 里的编译器,将讲解一些python的一些基础语法知识,是对上篇文章的补充,可以和我写的python数据分析——Python语言基础(数据结构基础)结合起来看,有些知识点可能在这篇文章写的不是很全面。


顺序语句

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

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

在这里插入图片描述

执行结果一定为 “123”,而不会出现 “321” 或者 “132” 等. 这种按照顺序执行的代码,我们称为顺序语句.
这个顺序是很关键的.编程是一件明确无歧义的事情.安排好任务的顺序计算机才能够正确的进行执行.
就好像人生的顺序,是上学,工作,结婚,生子.一旦这里的顺序乱了,就很麻烦.

条件语句

什么是条件语句

条件语句能够表达 “如果 … 否则…” 这样的语义. 这构成了计算机中基础的逻辑判定条件语句也叫做分支语句, 表示了接下来的逻辑可能有几种走向.

在 Python 编程语言中,条件语句是一种语法结构,用于基于逻辑条件决定程序流程。
常见的条件语句包括 if、elif 和 else 语句。这些语句根据布尔值的结果来执行不同的代码块。如果布尔值为真,则执行 if 语句下的代码块;如果为假,则执行 else 语句下的代码块。 elif 语句可用于添加额外的条件,以便在满足特定条件时执行其他代码块。
例如,以下是一个简单的 if 语句,用于检查一个数字是否大于等于 10;

x = 5
if x >= 10:print("x is greater than or equal to 10")
else:print("x is less than 10")

在这里插入图片描述

在这个例子中,由于 x 的值为 5,因此会执行 else 语句下的代码块,输出 "x is less than 10"

语法格式

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

(1) if

if expression:do_something1do_something2next_something

如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(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 (合体了).

示例:输入 1 表示愿意认真学习,输入 2 表示躺平摆烂.

# 让用户输入一个数字,如果输入1 表示愿意认真学习,输入2 表示想躺平摆烂.
choice = input("输入 1 表示愿意认真学习,输入 2 表示躺平摆烂: ")
# 注意这里要比较的是 字符串 1 ,不是 整数 1
if choice == '1':print('你能够找到好工作')
elif choice == '2':print("你可能毕业就失业了")
else:# 除了 1 和 2 其他的情况都算非法情况print("您的输入有误!")

在这里插入图片描述

缩进和代码块

代码块 指的是一组放在一起执行的代码.
在 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 内部的代码块. 意味着条件无论是否成立, 都会执行.

在Python中,缩进表示代码块.
在if, else, elif, while, for…需要跟上代码块的部分,都是需要使用缩进来表示的.
在 C++ / Java 中, 对于代码缩进是没有强制要求的~ 缩进具体怎么写都不影响代码的编译运行结果.
如果缩进没有好好的统一风格来写,将会出现错误;

另外,代码块内部还可以嵌套代码块.

a = input("请输入第一个整数:")
b = input("请输入第二个整数:")
if a == '1':if b == '2':print("aaa")print("bbb")
print("ccc")

在这里插入图片描述
在这个代码中
print(“hello”)具有两级缩进,属于 if b == “2” 条件成立的代码块.
print(“worId”)具有一级缩进,属于 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")

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

请问,上述代码中的 print(“1”)和 print(“2”)属于哪—级缩进?
因此, 就有了 “写 Python 需要自备游标卡尺” 这个梗.

注意:

a = input("请输入一个数字:")
if a != '1':
# 啥都不做pass
else:print('hello')

在使用条件语句的适合,如果出现像上面的情况,不可以不写,必须要有语句,不然会出现报错,这时候我们要用到pass语句来解决这个问题。

循环语句

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

while 循环

基本语法格式

while 条件:循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假,则结束循环.

代码示例:打印 1-10 的整数

num = 1
while num <= 10:print(num)num += 1

在这里插入图片描述

代码示例:计算 1-100 的和

sum=0
num = 1
while num <= 100:sum += numnum += 1
print (sum)

在这里插入图片描述

代码示例:计算5 的阶乘

result = 1
n=1
while n <= 5:result *= nn+=1
print (result)

在这里插入图片描述

代码示例: 求 1! + 2! + 3! + 4! + 5!

num = 1
sum =0
while num <= 5:factorResult = 1i=1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print (sum)

在这里插入图片描述

for 循环

基本语法格式

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

注意:
python 的 for 和其他语言不同, 没有 “初始化语句”,“循环条件判定语句”,“循环变量更新语句”, 而是更加简单

所谓的"可迭代对象",指的是"内部包含多个元素,能一个一个把元素取出来的特殊变量"

代码示例:打印 1-10

for i in range(1, 11):print(i)

在这里插入图片描述

使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11), 也就是 [1, 10]

range 是一个 内建函数.起到的效果就是得到一个"可迭代对象"
这个可迭代对象中就包含了一系列的整数.
range(beg, end) => [beg, end)
前闭后开区间.range还提供了第三个参数~ 表示"步长" 默认的步长值是 1

当前有个内建函数, sum与自己定义的变量和内建函数冲突了
虽然不影响运行,但是代码后面就无法使用内建函数 sum

使用shift + F6可以针对变量进行重命名 会智能的分析咱们的代码,自动的把所有需要修改的名字都统一替换了

代码示例: 打印 2, 4,6,8,10

for i in range(2, 12, 2):print(i)

在这里插入图片描述

通过 range 的第三个参数, 可以指定迭代时候的"步长".也就是一次让循环变量加几.
代码示例: 打印 10-1

for i in range(10, 0, -1):print (i)

在这里插入图片描述

range的步长也可以设定成负数.
代码示例:求 1-100 的和

sum = 0
for i in range(1,101)sum += i
print(sum)

在这里插入图片描述

关于continue和break

continue 立即结束当前这次循环, 进入下次循环.
break 立即结束整个循环.
代码示例: 打印 2, 4,6,8,10

for i in range(2, 12, 2):print(i)

在这里插入图片描述

for i in range(2, 12, 2):if i == 6:breakprint(i)

在这里插入图片描述

for i in range(2, 12, 2):if i == 6:continueprint(i)

在这里插入图片描述
如果对循环语句还是不太理解,可以看一下下面的文章

python数据分析——Python语言基础(数据结构基础)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166196.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW中使用Get LV Class Default Value 出现错误1498

LabVIEW中使用Get LV Class Default Value 出现错误1498 在LabVIEW中开发了一个应用程序&#xff0c;其中包含可以在执行时动态配置插件的基类。生成可执行文件后&#xff0c;当应用程序要执行子类时&#xff0c;收到以下错误信息。 Error1498 occurred at Gen LV Class Defa…

ArmSoM-RK3588编解码之mpp解码demo解析:mpi_dec_test

1. 简介 [RK3588从入门到精通] 专栏总目录 mpi_dec_test 是rockchip官方解码 demo 本篇文章进行mpi_dec_test 的代码解析&#xff0c;解码流程解析 2. 环境介绍 硬件环境&#xff1a; ArmSoM-W3 RK3588开发板 软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debian11 3.…

element-ui 以CDN 方式引入原生js开发的几个别坑 (+vue)

element-ui 以CDN 方式引入原生js开发的几个坑 最近两个月太忙了 忙的没空写文章 两个月赶出来了几个的项目 一个是雪佛兰裸眼3D的一个商品屏幕展示项目 一个是广汽云渲染的一个云看车项目 一个是奥迪中国充电桩的网页开发项目&#xff0c; 奥迪中国做个饭也是目前正在做的 不…

C#简单晶圆wafermapping显示示范demo

点击&#xff0c;双击可改变颜色 预设5行8列数据&#xff1a; using (fratte.at.WafermapDisplay.Form1 form_show new fratte.at.WafermapDisplay.Form1()){int[,] data_demo new int[,]{{ 0,0,0,1,0 },{ 0,5,1,0,0 },{ 1,7,6,2,3 },{ 1,0,1,2,3 },{ 0,2,0,2,3 }, { 1,5,6,…

微信小程序开发的OA会议之会议,投票,个人中心的页面搭建及模板

目录 一.自定义组件 1.1.创建 1.2.定义 1.3.编写 1.4.使用 二.会议 2.1.数据 2.2.显示 2.3. 样式 三.个人中心 3.1.页面 3.2.样式 四.投票 4.1.引用 4.2.数据 4.3.页面 4.4.样式 好啦今天就到这里了&#xff0c;希望能帮到你哦&#xff01;&#xff01;&…

Unity Animation--动画剪辑(创建动画)

创建一个新的动画编辑 创建新的动画剪辑 &#xff0c;在场景中选择一个GameObject&#xff0c;然后打开“ 动画”窗口&#xff08;顶部菜单&#xff1a;&#xff09;“ 窗口” >“ 动画” >“ 动画”。 如果GameObject 中尚未分配任何动画剪辑&#xff0c;“创建”按钮…

Python 框架学习 Django篇 (四) 数据库增删改查(CURD)

在上一章结尾我们了解到如采用前后端开发分离的架构模式开发&#xff0c;后端几乎不负责任何展现界面的工作&#xff0c;只负责对数据进行管理 &#xff0c;对数据的管理主要体现在&#xff1a; &#xff08;增加、修改、删除、列出 &#xff09;具体的接口参考大佬的文档BYSM…

Spring boot 集成 xxl-job

文章目录 xxl-job 简介引入xxl-job依赖配置xxl-job config添加properties文件配置BEAN模式&#xff08;方法形式&#xff09;步骤一&#xff1a;执行器项目中&#xff0c;开发Job方法&#xff1a;步骤二&#xff1a;调度中心&#xff0c;新建调度任务 xxl-job 简介 官网:https:…

蓝桥杯 (饮料换购,C++)

思路&#xff1a; 1、先加上初始的饮料数n。 2、再加上n可以兑换的饮料数n/3&#xff0c;求多余的瓶盖n%3。循环直至瓶盖数无法兑换新的一瓶饮料。 #include<iostream> using namespace std; int main() {int n,a0,sum0;cin >> n;sum n;while (n){n n a;//加上上…

车载网关通信能力解析——SV900-5G车载网关推荐

随着车联网的发展,各类车载设备对车载网关的需求日益增长。车载网关作为车与车、车与路、车与云之间连接的关键设备,其通信能力直接影响整个系统的性能。本文将详细解析车载网关的通信能力,并推荐性价比高的SV900-5G车载网关。 链接直达&#xff1a;https://www.key-iot.com/i…

【力扣刷题】数组实现栈、后缀表达式(逆波兰表达式)求值、中缀表达式转换为后缀表达式(无括号有括号)

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 刷题篇 一、数组实现栈1.1 题目描述1.2 思路…

Filter与Listener(过滤器与监听器)

1.Filter 1.过滤器概述 过滤器——Filter&#xff0c;它是JavaWeb三大组件之一。另外两个是Servlet和Listener 它可以对web应用中的所有资源进行拦截&#xff0c;并且在拦截之后进行一些特殊的操作 在程序中访问服务器资源时&#xff0c;当一个请求到来&#xff0c;服务器首…

接口测试vs功能测试

接口测试和功能测试的区别&#xff1a; 本文主要分为两个部分&#xff1a; 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什…

【diffusion model】扩散模型入门

写在最前&#xff0c;参加DataWhale 10月组队学习。 参考资料&#xff1a; HuggingFace 开源diffusion-models-class 1.扩散模型介绍 2.调用模型生成一张赛博风格的猫咪图片 2.1 安装依赖包 %pip install -qq -U diffusers datasets transformers accelerate ftfy pyarrow9…

软件报错msvcr120.dll丢失怎么办?五个有效修复方法分享

msvcr120.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C 2012 Redistributable Package的一部分。如果你的电脑在运行一些需要这个文件的程序时出现了“msvcr120.dll丢失”的错误&#xff0c;那么就意味着你的电脑缺少了这个文件&#xff0c;或者这个文件已经损坏…

Jmeter —— 接口之间关联调用(获取上一个接口的返回值作为下一个接口的请求参数)

正则表达式&#xff1a; 具体如何操作&#xff1a; 1. 草稿保存&#xff0c; 此请求的响应数据的id 为发布总结的请求参数draft_id 2. 草稿保存的响应数据 3.在草稿保存的请求中&#xff0c;添加后置处理器- 正则表达式提取器&#xff0c; 提取响应数据的id信息 4. 发布总结请…

[架构之路-239]:目标系统 - 纵向分层 - 中间件middleware

目录 前言&#xff1a; 一、中间件概述 1.1 中间件在软件层次中的位置 1.2 什么是中间件 1.3 为什么需要中间件 1.4 中间件应用场合&#xff08;应用程序不用的底层需求&#xff1a;计算、存储、通信&#xff09; 1.5 中间件分类 - 按内容分 二、嵌入式系统的中间件 2…

TCP/IP(二十二)TCP 实战抓包分析(六)TCP 快速建立连接

一 TCP Fast Open 快速建立连接 说明&#xff1a; 之前讲解TCP 相关知识点遗漏了这个知识点,补充上 ① TFO简介 ② 请求 Fast Open Cookie过程 "原理图" ③ 真正开始 TCP Fast Open 重点&#xff1a; TFO 使 SYN包 可以包含payload 数据 ④ 抓包分析 1、…

怎样才能去除视频中的背景音乐,保留人声?

做视频剪辑&#xff0c;二次创作的朋友&#xff0c;需要去除视频中的背景音乐&#xff0c;保留人声&#xff1b;或者去除人声&#xff0c;保留背景音乐。如果请身边做视频的朋友帮忙&#xff0c;可有时不能沟通到位&#xff0c;完成后的效果并不是很理想&#xff0c;就很尴尬了…

python requests爬取税务总局税案通报、税务新闻和政策解读

文章目录 环境配置页面爬取流程税案通报爬取code税务新闻爬取政策解读爬取 环境配置 python&#xff1a;3.7 requests&#xff1a;发出请求&#xff0c;返回页面 beautifulsoup&#xff1a;解析页面 time&#xff1a;及时 warnings&#xff1a;忽视警告 页面 网址&#xff1…