0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python基础知识点(三)

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-04-02 15:41 次阅读

简洁而优雅的链式比较

先看一个示例:

>>> False == False == True
False

你知道这个表达式为什么会会返回 False 吗?

它的运行原理与下面这个类似:

if 80 < score <= 90:
    print("成绩良好")

如果你还是不明白,那我再给你整个第一个例子的等价写法。

>>> False == False and False == True
False

这个用法叫做链式比较。

and 和 or 的短路效应

and 和 or 是我们再熟悉不过的两个逻辑运算符,在 Python 也有它的妙用。

当一个 or 表达式中所有值都为真,Python会选择第一个值

当一个 and 表达式 所有值都为真,Python 会选择最后一个值。

示例如下:

>>>(2 or 3) * (5 and 6 and 7)
14  # 2*7

连接多个列表最极客的方式

>>> a = [1,2]
>>> b = [3,4]
>>> c = [5,6]
>>>
>>> sum((a,b,c), [])
[1, 2, 3, 4, 5, 6]

用户无感知的小整数池

为避免整数频繁申请和销毁内存空间,Python 定义了一个小整数池 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。

以下代码在终端Python环境下测试,如果在IDE中测试,由于 IDE 的影响,效果会有所不同。

>>> a = -6
>>> b = -6
>>> a is b
False

>>> a = 256
>>> b = 256
>>> a is b
True

>>> a = 257
>>> b = 257
>>> a is b
False

>>> a = 257; b = 257
>>> a is b
True

问题又来了:最后一个示例,为啥是True?

因为当你在同一行里,同时给两个变量赋同一值时,解释器知道这个对象已经生成,那么它就会引用到同一个对象。如果分成两行的话,解释器并不知道这个对象已经存在了,就会重新申请内存存放这个对象。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 原理
    +关注

    关注

    4

    文章

    550

    浏览量

    44764
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83703
  • 解释器
    +关注

    关注

    0

    文章

    98

    浏览量

    6432
收藏 人收藏

    评论

    相关推荐

    射频与微波基础知识

    射频与微波基础知识
    的头像 发表于 01-16 10:05 422次阅读
    射频与微波<b class='flag-5'>基础知识</b>

    电气技术基础知识

    电气技术基础知识
    的头像 发表于 12-14 09:11 1054次阅读
    电气技术<b class='flag-5'>基础知识</b>

    c语言程序设计基础知识点

    程序设计的基础知识点。 首先,我们将从C语言的数据类型和变量开始。C语言提供了多种数据类型,包括整数、浮点数、字符和指针等。整数类型包括int、long和short等,浮点数类型包括float和double等,字符类型用于存储ASCII字符,指针类型用
    的头像 发表于 11-27 15:25 1097次阅读

    数字电位计知识点

    电子发烧友网站提供《数字电位计知识点.pdf》资料免费下载
    发表于 11-24 16:08 7次下载
    数字电位计<b class='flag-5'>知识点</b>

    OFDM技术知识点

    电子发烧友网站提供《OFDM技术知识点.rar》资料免费下载
    发表于 11-18 14:25 0次下载
    OFDM技术<b class='flag-5'>知识点</b>

    Python import Hook 实现远程导入模块

    的进阶技能,会深入地探讨并以真实案例讲解 Python import Hook 的知识点。 当然为了使文章更系统、全面,前面会有小篇幅讲解基础知识点,但请你有耐心的往后读下去,因为后面才是本篇文章的精华所在,希望你不要错过。
    的头像 发表于 11-02 11:45 421次阅读
    <b class='flag-5'>Python</b> import Hook 实现远程导入模块

    51单片机的知识点

    电子发烧友网站提供《51单片机的知识点.pdf》资料免费下载
    发表于 11-01 17:32 2次下载

    线性回归模型的基础知识

    我准备使用scikit-learn给大家介绍一些模型的基础知识,今天就来讲讲 线性回归模型 。 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问
    的头像 发表于 10-31 10:54 298次阅读
    线性回归模型的<b class='flag-5'>基础知识</b>

    电阻的相关知识点

    电阻,一个最容易又是最基础的电子元器件,看似简单,然而实际情况根据芯片哥对多位经验丰富的研发工程师的拜访沟通得知并非如此;芯片哥如果让开发工程师做出一个系统性的归纳总结,把电阻相关的所有内容知识点
    的头像 发表于 09-13 10:19 1056次阅读
    电阻的相关<b class='flag-5'>知识点</b>

    smt回流焊工艺知识点

    smt回流焊工艺知识点
    的头像 发表于 09-06 10:18 559次阅读

    C语言链表知识点(2)

    C语言链表知识点(2)
    发表于 08-22 10:38 217次阅读
    C语言链表<b class='flag-5'>知识点</b>(2)

    运放-2. 基础知识

    运放基础知识
    的头像 发表于 08-18 10:59 2347次阅读
    运放-2. <b class='flag-5'>基础知识</b>

    人工智能基础知识点总结

    人工智能基础知识点总结 ; 人工智能(Artificial Intelligence,AI)作为计算机科学中的一个重要领域,已经成为了当今时代的热门话题。它是通过算法和技术模拟出人类的思维方式和行为
    的头像 发表于 08-15 16:06 1862次阅读

    STM32 RTOS知识点

    电子发烧友网站提供《STM32 RTOS知识点.pdf》资料免费下载
    发表于 08-01 14:28 2次下载
    STM32 RTOS<b class='flag-5'>知识点</b>

    滚珠螺杆的基本知识点

    滚珠螺杆的基本知识点
    的头像 发表于 07-07 17:40 1226次阅读
    滚珠螺杆的基本<b class='flag-5'>知识点</b>