python第二天笔记

python第二天笔记,第1张

python第二天笔记

目标:数据类型转换
           常见的运算
           程序控制流程

数据类型转换:
    自动类型转换:
        布尔类型和数值型,可以自动类型转换
        在计算机中,布尔类型:True -> 1  False -> 0

    强制类型转换:
        python字符串是无法和布尔类型,以及数值型进行自动类型转换
        str(数值|布尔)            # 将数值或布尔转换字符串
        int(字符串)            # 将字符串转换为整数
        float(字符串)            # 将字符串转换为浮点数

例题

常见的运算符:
    算术运算符:
        +
        -
        *
        /
        %        # 求余数
        //        # 整除,地板除法
        **        # 幂次方,相当也有了开根号

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

        返回结果是一个布尔类型

    逻辑运算符:
        与    and         # 并且关系
        或    or        # 或者关系
        非    not        # 不是、取反


    所属运算符 
        in            # 判断某个值是否在一个容器中
        not in            # 判断某个值是否不在一个容器中
    
    注意:python中没有自加和自减运算符!!!!
        i++  ++i  i-- --i    # 没有

    赋值符:
        =            # 将等号右侧的值,赋值到左侧,等于赋值符的优先级别非常低
    二元赋值符:
        +=            # a += 1    <=> a =     a + 1    
        -=            ……
        *=
        /=
        **=
        //=
        %=
    三目运算符:
        其他编程语言中:  表达式 ? 值1 : 值2
        python中三目运算符:
            值1 if 表达式 else 值2
            案例:
            a = 20
            b = 10
            c = "liujianhong" if a > b else "Jianhong  Liu"
            # 最后结果就是c的值是"liujianhong"
    
    位运算符:
        bit:计算机中最小的单位
        byte:字节,计算机中的基本单位,一个字节=8个位
    
        &        # 与运算
        |        # 或运算
        ^        # 异或运算
        ~        # 按位取反
        <<        # 左移运算
        >>        # 右移运算

例题

n1 = 10        # 0000 1010
n2 = 11        # 0000 1011

n1 + n2 = 21

0000 1010
0000 1011  +
---------------
0001 0101    # 21


一旦引入负数,为了表示正负(+-)符号,固定最高位称为符号位,用来表示正负
    符号位:0表示正数
        1表示负数
n3 = -1        # 1000 0001    
n4 = -2        # 1000 0010
n3 + n4 = -3    

1000 0001
1000 0010    +
-------------------
10000 0011    溢出一个位,因此结果是:0000 0011 = 3

在二进制,如果数值是正数,进行运算,和十进制一样,结果正常
但是如果引入负数,结果的错误!!!
为了解决这个问题,计算机学家,如下的三个概念:
    原码:就是数字的二进制位
    反码:符号位不变,其余各位都统统取反
    补码:反码 + 1

1000 0001    1111 1110    1111 1111 (-1的补码)
1000 0010    1111 1101    1111 1110 (-2的补码)

计算机中所有二进制都是以补码运算的(解决负数问题)

1111 1111
1111 1110    +
---------------
1111 1101    (补码!!!)

1111 1100    反码
1000 0011    -3


与运算    &
n1 = 10        # 0000 1010
n2 = 11        # 0000 1011

n1 | n2

0000 1010 
0000 1011    |
------------------
0000 1010    10

或运算 &
0000 1010 
0000 1011    &
------------------
0000 1011    11

异或运算 ^        相反为真
0000 1010 
0000 1011    &
------------------
0000 0001    1


按位取反 ~
~0000 1010


左移 <<


右移  >>

注意:python中的右移都是无符号右移,不存在有符号右移

 

全局函数:
    print()            # 标准输出
    input()            # 标准输入
    type()            # 类型判断函数
    int()            # 将数值或布尔转换字符串   
    float()            # 将字符串转换为整数       
    str()            # 将字符串转换为浮点数     

程序控制流程
    控制语句之间的关联关系,实现逻辑性的
    |-- 顺序
        从上到下、从左到右执行流程
    |-- 选择
        单分支:
            if 条件:
                # 缩进体就是符合条件,需要执行的暧昧
        双分支:
            if 条件:
                # 条件成立时,要执行的代码
            else:
                # 条件不成立的时候,需要执行的代码
        多(三)分支:
            if condition1:
                # 条件1成立时,要执行的代码
            elif condition2:
                # 条件2成立时,要执行的代码
            ……
            [else:
                # 剩余条件
            ]

    |-- 循环

例题

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5701047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存