zoukankan      html  css  js  c++  java
  • 04:布尔表达式

    本章大纲

    布尔类型

    布尔表达式

    布尔操作符

    01:布尔说明

    python布尔常用变量是 True 和False来表示,注意大小写;

    运算符 <>== 等返回的类型就是bool类型;

    布尔类型通常在if 和while语句中应用

    02:布尔类型(bool)

    • 真假 对错
    • 只有两种取值
    • True (真,对)
    • False(假,错)

    03:关系运算符(> < == !=)

    ①数值比较:

    print(3!=1) # True

    '== 表示值/内容相等

    是否同一个对象?-----用id()---is

    举例:c = 257 d =257

    c is d False

     

    ②字符串比较

    print('abc' > 'b') 字符串比较:对应位置的字符的ascii值大小 a=97 A=65

     

    ③in -----在。。。里面

    1、前者是后者的一个元素

    2、前者是后者的连续一段

    str = 'abcd'

    print('a' in str) True

     

    in ---列表

    1、前者是后者的一个元素

    alist = 【10,20,30,【100,200】】

    print(10 in alist)

    print(10,20 in alist) False

     

    04:条件组合

    ①且---and

    一假为假,全真为真

    第一个条件为真,第二个条件一定执行

     

    print(3>1 and 2==1)

     

    ② 或--or

    一真为真,全假为假

    第一个条件为真,后面条件不执行

    def func():
    print('我执行了')

    print(3>1 or func()) # True

     

    ③ not 取反

    优先级:not>and>or

    not 1 > 2 or 4>3 False

     

    05:引申

    python的赋值,深拷贝和浅拷贝的区别

     

    ①赋值---指向,引用操作

    alist = [10,20,30]

    blist = alist

    print(id(alist))

    print(id(alist))

    blist,append(40)

    alist=[10,20,30,40]

    blist=[10,20,30,40]

     

    ②浅拷贝--拷贝的不够彻底

    1,可以拷贝出父级列表--这个父级列表跟源数据不是同一个

    2,子列表是同一个对象

    import copy #模块

    alist = [10,20,30,[100,200]]

    blist = copy.copy(alist)

     

    blist,append(40)

    alist=[10,20,30,[100,200],40]

    blist=[10,20,30,[100,200],40]

     

     

    ③深拷贝--很深的拷贝--彻底的拷贝

    内外层列表都独立,不是同一个对象

    import copy #模块

    alist = [10,20,30,[100,200]]

    blist = copy.deepcopy(alist)

    blist,append(40)

    alist=[10,20,30,[100,200]]

    blist=[10,20,30,[100,200],40]

    06:练习题

    1、一个变量a定义如下 a = ['this', 'test', 4.56, ['inner', 'list']] 下面的表达式结果为False的有()

    A.'this' in a

    B. 'test' in a

    C. 't' in a

    D.'inner' in a

    答案是D

    2、下面表达式结果为False的有

    A.(2 >1 or 3> 4) and 5> 4

    B. 2 > 1 or (3>4 and 5> 4)

    C.1> 2 or (3>4 and 5>4 )

    D.(1>2 or 3> 4 ) and 5> 4

    答案是CD

    判断:

    1、和算术表达式一样,我们可以用括号,来提升布尔表达式的运算优先级

    正确

    2、比较(英文)字符串的大小,是根据ASCII码的大小来决定的,ASCII大的认为值是大的

    正确

    3、if 语句成立后面要执行的代码块,缩进必须是4个空格

    错误

    4、下面的代码,解释器运行时,如果条件1未True,后面条件2条件3解释器都不会执行做判断

    image.png

    正确

    5、下面的两种代码写法,执行效果是相同的

    image.png

    正确

    6、下面的代码一,和代码二是等价的

    image.png

    正确

     

  • 相关阅读:
    学习H5一周随笔
    vue项目中vux的使用
    git操作常用命令
    vue2.0 实现全选和全不选
    鼠标事件以及clientX、offsetX、screenX、pageX、x的区别
    js编写当天简单日历
    UIView.frame的骗局
    设计模式笔记感悟
    实用图像处理入门
    实用图像处理入门
  • 原文地址:https://www.cnblogs.com/kelly11/p/13395536.html
Copyright © 2011-2022 走看看