锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

小白都能学会的Python基础 第三讲:Python最重要的三大语句详解

时间:2023-04-29 15:07:00 bt3六盘水仪表变送器

1.华小智系列 - Python基础(案例版)

《Python基础》目录

  • 第三讲:Python三个最重要的句子详细说明
    • 1、If详细说明和实践句子
    • 2、For详细说明和实践句子
    • 3、While详细说明和实践句子
    • 4.本章练习
    • 5.课程相关资源

第三讲:Python三个最重要的句子详细说明

配套书籍:《Python第一章金融大数据挖掘与分析全过程详解
配套书籍:《Python大数据分析与机器学习商业案例实战第一章
标题说这三句话是python最重要的三个句子,事实上,可以说以下三个句子是几乎所有编程语言中最重要的句子,当你学习后,你会发现很多时候,你写if,for,while。因为这涉及到所有编程语言的一些底层逻辑:判断 & 循环。让我们详细解释一下。事实上,以前或多或少提到过一些内容。

1、If详细说明和实践句子

以前用过很多次If函数,这里我再做一个简单的介绍和一些新内容的补充,If使用函数的底层逻辑判断,若符合条件,则执行以下句子。
基本语法逻辑如下,注意写冒号和代码前的缩进

if 条件:     代码1 else:     代码2 

之前也提到过两个注意点,就是缩进英文格式有时候,当你忘记缩进或冒号是中文格式时,程序会报错,但是Pycharm和Spyder会提醒你这一行的写作方法有问题,不用太担心。
现在我们来看看之前写过这个代码,会不会觉得清楚多了。

score = 100 year = 2018 if (score < 0) and (year == 2018):     print(录入数据库) else:     print(不输入数据库) 

让我们在下面添加一些内容。事实上,掌握以上内容就足够了。以下内容仅作为知识点的补充。例如,你在考试中得了80分。最简单的是:

score = 85 if score >= 60:     print('及格') else:     print('不及格') 

我相信现在看到这个代码没有问题,输出必须是通过。如果我想判断它是否通过,但也想看看它是否优秀(超过80分),那么输出优秀,该怎么做。

score = 55 if score >= 80:     print('优秀') elif (score >= 60) and (score < 80):     print('及格') else:     print('不及格') 

这里唯一的区别就是中间加了一个elif,这其实就是elseif的缩写,用来提供多个结果使用的,
其实我做这个项目的时候基本没用过家可以简单了解一下。

2、For详细说明和实践句子

For句子之前提到过一次,其重要性仅次于If句子,它的底层逻辑是循环,其实While的底层逻辑是循环,不过还是For用的更加普遍些。
For语句的常见使用格式为,注意记得写冒号及代码前的缩进

for i in 区域:
    代码

先举个之前讲列表的时候讲过的例子:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
for i in class1:
    print(i)

用大白话来说就是:

列表class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
对于class1中的所有元素i:
    我们都把它打印输出出来

这个输出代码为:

丁一
王二麻子
张三
李四
赵五

这个i可以换成任何东西,比如你换成j,换成一个字符串,只要和下面的print()里面的内容匹配即可。
比如我们可以写:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']
for haha in class1:
    print(haha)

这样输出的结果其实是一样的。
For语句还通常与range()函数合用,range函数的话其实就是一个类似于list的东西,只不过它可能更像list的长度,你想循环多少次,在range的括号里填写几就可以,比如我写for i in range(3),那么它就是循环3次:

for i in range(3):
    print('hahaha')

这个它就会输出三行‘hahaha’。
我担心大家可能会对这个for i in range(3)中的i还有疑惑,刚刚i不是代表列表里的每一个元素吗,这边这个i又是什么意思呢?这边我给大家做一个偷懒的总结:
(1)对于"for i in 区域"来说,如果说这个区域是一个列表,那么那个i就表示这个列表里的每一个元素
(2)对于"for i in 区域"来说,如果说这个区域是一个range(n),那么那个i就表示0到n -1这n个数字,之前提到过,python中序号都是从0开始的,所以这边也是从0开始,到n - 1结束。
(3)对于"for i in 区域"来说,如果说这个区域是一个字典,那么i表示的就是字典的中的键(了解即可,很长一段时间用不到)
还有个非常重要的知识点:for i in range(5)的话,它的确会循环5次,但要注意,在python中,第一个元素的序号其实是0,所以如果我们输入如下代码:

for i in range(5):
    print(i)

那么输出的结果是从0开始的,也就是0到4

0
1
2
3
4

这时候你可能要问,这玩意有什么用?下面我就以舆情监控中的实战来给大家讲解下for语句在爬虫实战中的应用:

title = ['标题1','标题2','标题3','标题4','标题5']
for i in range(len(title)): #len(title)表示一个有多少个新闻,这里是5
    print(str(i+1) + '.' + title[i]) #这个其实把字符串进行一个拼接

上面这几行代码已经很大程度就是你做项目实战用到的代码了,暂时看着有点晕也没有关系,我在教学视频里会详细介绍下的。我先用大白话来解释下这几行代码在干嘛:

爬到了一些新闻标题,放到了title这个列表里
用len(title)来获取一共有多少条新闻,并利用for和range语句来进行循环:
    打印输出新闻标题,并且在前面加上序号

输出结果如下图所示:
在这里插入图片描述
其中有几个小注意点
(1)range(len(title))这边就相当于range(5),因为len(title)就等于5,所以for i in range(len(title))就是循环5次,这里的i就表示数字0-4
(2)为什么要写str(i + 1),因为我们要标序号,'标题1’是字符串形式的,而i是数字,我们讲过数字和字符串不能直接相加,所以要用str函数进行下转换。
(3)至于为什么不是str(i),而是str(i + 1)。是因为之前讲列表的时候提到过,在编程中,第一个序号都是0,比如之前列表里讲过的class1[0]表示“丁一”一样,这边如果写str(i)的话,那么输出的第一个序号就是“0.标题1”了。
(4)因为这里的i就表示数字0-4,title[i]的话,表示列表中的第i+1个元素,所以title[0]的话就表示第1个元素,title[4]就表示第5个元素。

通过for循环和range()函数和len()函数的联合使用,可以同时打印多个列表中的元素,代码如下:

# 在实战中的应用(可以同时打印多个列表中的内容)
title = ['标题1', '标题2', '标题3', '标题4', '标题5']
href = ['网址1', '网址2', '网址3', '网址4', '网址5']
for i in range(len(title)):  # len(title)表示一个有多少个新闻,这里是5;这里的i就表示数字0-4
    print(str(i+1) + '.' + title[i])  # 这个其实把字符串进行一个拼接
    print(href[i])

3、While语句详解与实践

While的底层逻辑也是循环,它和For的特点不一样,最大的区别是For知道循环次数,而While的话则是不清楚循环次数。
其使用格式为,注意要写冒号以及代码前的缩进

while 条件:
    要执行的的代码

举个例子给大家看下:

a = 1
while a < 3:
    print(a)
    a = a + 1 #或者写成 a += 1 

它白话的意思就是:

首先将1赋值给a
当 a 小于3的时候:
    打印输出a
    a 在原来的基础上加上1

a一开始等于1,满足小于3的条件,会打印输出1,然后a加上1等于2,此时a仍然小于3,所以仍然会执行打印输出的命令,此时打印输出2,然后a在2的基础上加上1等于3,此时a已经不满足小于3的条件了,那么循环此时便终止了。最后输出如下:

1
2

大家可以试着把数字3换成别的数试试看。
其实我们之后大多情况下用到While的时候,就是让While来一直循环(如果用for i in range(n),无论n多大,那么早晚都有结束的时候),这个在爬虫实战中的具体应用是:当每爬完一次,就自动进行下一次爬取,实现24小时不间断爬取。那么While如何能实现一直循环呢?
具体的方法其实很简单,那就用while True进行永久循环。

while True:
    代码块

给大家截个图看下,下面这张图就是最终的代码效果,这个while True就是舆情监控系统实现24小时不间断爬取的秘诀,有个注意点,这个True得大写首字母,之后讲到的时候再详细介绍:

大家如果想停止while True的不停的循环,可以在点击右上角的红色终止按钮即可。我当初自己学的时候,写过这么两行代码:

while True:
    print('hahaha')

大家可以自己试一下,效果也是挺鬼畜的,lol。

补充知识点:break跳出循环

a = 1
while True:
    if a < 5:
        print(a)
        a = a + 1
    else:
        break

执行结果如下:

1
2
3
4

对于for循环也是一样的道理:

a = 1
for i in range(100):
    if a < 5:
        print(a)
        a = a + 1
    else:
        break

执行结果如下:

1
2
3
4

4、本章练习题

习题1.设定分数为10分,公司名为“华能信托”,if判断,如果分数大于0分,且公司名为:华能信托,则打印“成功”;否则打印”失败“

习题2.创建两个列表:标题和网址,每个列表3个元素,分别打印每个列表中的内容;并利用字符串拼接打印序号

习题3.已知score = 50,单纯用if和else来设置 优秀/及格/不及格 的多重判断,划分点为80分和60分。

习题4.打印1-100内的奇数

答案(先自己做一遍再看答案):
答案1:

score = 10
company = '华能信托'
if score > 0 and company == '华能信托':
    print('成功')
else:
    print('失败')

答案2:

a = ['bt1', 'bt2', 'bt3']
b = ['wz1', 'wz2', 'wz3']
for i in range(len(a)):
    print(str(i+1) + '.' + a[i])
    print(b[i])

答案3:

score = 50

if score >= 80:
    print('优秀')
else:
    if score > 60:
        print('及格')
    else:
        print('不及格')

答案4:
方法1:

for i in range(50):
    print(i * 2 + 1)

方法2:

for i in range(100):
    if i % 2 == 1:  # % 是取余数的意思
        print(i)

5、课程相关资源

拓展:Python进阶的其他应用
https://shimo.im/docs/vp6KVJXR8tqWxgXR/ 《华小智智能平台课程(课表)》,可复制链接后用石墨文档 App 或小程序打开

Python软件下载地址
2020软件最新安装教程(附软件):https://shimo.im/docs/Y6cG9gx8djkvT86R/ 《Python 2020最新安装教程(巨详细版)》

备选:Anaconda(这个就是Python的安装包)&Pycharm&Wampserver网盘下载地址:
链接: https://pan.baidu.com/s/1DWJ5ptC7jrkNr5IXPkD9Rw 提取码: p8w8

课程源代码地址
获取方式1:石墨文档获取

(电脑浏览器端打开(需微信扫码登录石墨文档),然后点击下载)

获取方式2:个人网站获取
访问笔者个人网站的下载专区:edu.huaxiaozhi.com/download,然后点击下载。

获取方式3:微信号获取
添加如下微信:huaxz001,和小助理沟通获取源代码。

京东链接:https://search.jd.com/Search?keyword=王宇韬,搜索“王宇韬”,在淘宝、当当也可购买。加入学习交流群,可以添加如下微信:huaxz001(请注明缘由)。

各类课程可在网易云、51CTO** 搜索王宇韬,进行查看。

本课程 Python基础(案例版):可在网易云、51CTO 查看。(点击可直接获取。)

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章