Python的数据类型:

   一、基本数据类型:

         1. 数值型(number):

                整数型(int)

                浮点数(float)

                复数(虚数)

        2. 布尔类型:(例:is_student =False):

                真:True

                假:False

        3. 字符串:

              单引号:'字符串'

              双引号:"字符串"

              三引号(可以换行):"""字符串"""  '''字符串'''

        None:代表空,也就是没有的意思  

    二、复合数据类型:

        对象,万物皆对象

        例:List、set、dict、tuple ……


数据类型转换:

1.自动类型转换:

    整数和小数运算,会自动向高精度转换

    如果布尔类型和数值型进行运算,布尔类型会自动转换为数值,其中:

    True:转换为数字1      False:转换为数字0

2.强制类型转换:

    int(字符串)        # 将字符串转换为整数

    float(字符串)     # 将字符串转换为浮点数

    str(数值)        # 将其他类型转换为字符串

案例:请输入两个整数,求两个数的和

方式一:

num1=int(input("请输入第一个整数:"))
num2=int(input("请输入第二个整数:"))
print("%s+%s=%s"%(num1,num2,num1+num2))

#方式二:

#num1=int(num1)
#num2=int(num2)
#print("%s+%s=%s"%(num1,num2,num1+num2))

常见的几种字符串格式化输出方式:

python提供了很多种字符串格式化输出的方式

    1、通过%s,%d ,%f占位,一般使用%s

+”拼接,统一输出

    3、通过{}占位输出

print("%s+%s=%s"%(num1,num2,num1+num2))意思相同

    4、print(f"{a} + {b} = {a + b}")

    5、通过逗号显示变量


常见运算符:

   1.算术运算符

    2.关系(比较)运算符

    3.逻辑运算符

    4.赋值运算符

    5.三目运算符

    6.位运算符

1.算术运算符:

    +      #

    -

    *

    /

    %    #求余数部分

    **     # 幂次方,多个幂次方运算,从右至左运算

    //      # 整除,得整数部分

2.关系(比较)运算符:

    >

    <

    >=

    <=

    ==    #等于

    !=     #不等于

关系运算符的结果是布尔值,即False和True

3.逻辑运算符:

    and   # 并且的关系,每一个条件都需满足

    or     # 或者的关系,只需满足一个条件就行

    not     # 不是,取反的意思

所属运算符:

    判断一个值是否存在于某个复合数据类型(容器),y用in 或者not in

例:在cmd中敲[1,2,3,4,5]回车èarr=[1,2,3,4,5],回车è5 in arr或者5 not in arr或者arr ==None

4.赋值运算符:

    =        # 将等号右侧的结果赋值给左侧(优先级非常低)

    +=        # a += 10  <===>  a = a + 10

    -=

    *=

    /=

    //=

    **=

    %=

注:python中,没有自加和自减运算符,请使用+=和-=来替代!!!

5.三目运算符:

C、java等等语言中:

        变量 = 表达式 ? 结果1 : 结果2;

例:

a = 10 > 3 ? 20 : 100;
        if (10 > 3) {
             a = 20;
        } else {
             a = 100;
        }

python中:

        变量 = 结果1 if 表达式 else 结果2

6.位运算符:

    位(bit):它是计算机中的最小单位

   

&    # 与运算,只有两个二进制位是真的才会取真

规律:任何数与1做与运算结果为1,则这个数是奇数,结果为0,则这个数是偶数

例如:10&11 =10

1010

1011   &

-----------

1010

|   #或运算,只要一者为真就为真

例如:

10 | 11 =11
1010
1011  |
---------
1011
^  #异或运算,相反为真,两个真的两个假的都为假

规律:1.两个相同的数做异或运算结果为0

      2.任何数与0异或结果不会发生变化

例如:

10^11 =1
1010
1011  ^
---------
0001

~  #按位取反运算,把真的变成假的,把假的变成真的

例如:

~0000 1010

------------

 1111 0101

<<  #左移运算,让我们的二进制自动的进行左移

例如:2<<2 =8

   00000010

 0000001000

相当于把二进制码左移两位,左边多出的两位忽略,右边自动补零

>>  #右移(无符号右移)运算,和左移类似


如下的三个概念,全部都是因为运算负数二进制运算出错,为了解决这个问题而诞生

    原码:原始的二进制码

    反码:符号位不变,其余各位取反

    补码:反码加1