Python数据类型与运算符详解

文章目录

  • 一、Python的基本数据类型
  • 1.Int整数形:
  • 2.float浮点型:
  • 3.bool布尔类型:
  • 4.str字符串类型:
  • 5.运算符:
  • 算数运算符
  • 一元运算符
  • 比较运算符
  • 逻辑运算符
  • 海象运算符
  • 成员运算符
  • 位运算符
  • 位移运算符
  • 总结

  • 一、Python的基本数据类型

    1.Int整数形:

    数字类型是Python中最基本的数据类型之一,用于存储数值数据。

    特点:整数类型用于存储不带小数部分的数值。
    Python的整形支持正数,负数和0
    整数类型支持加(+)、减(-)、乘(*)、除(/,注意这里会得到浮点数结果,如果需要进行整数除法应使用//)、取模(%)、幂(**)等算术运算。

    代码如下(示例):

    a = 10
    print(f"输出a的值为:{a}") #输出a的值为:10
    
    b = -100
    print(f"输出b的值为:{b}") #输出b的值为:-100
    
    c = 0
    print(f"输出c的值为:{c}") #输出c的值为:0
    
    sum = a + b - c
    print(f"输出sum的值为:{sum}") #输出sum的值为:-90  sum=10-100+0=-90
    
    
    

    2.float浮点型:

    浮点类型是Python中基本的数据类型之一,用于存储带小数部分的数值。
    特点:Python中的浮点数通常以双精度(64位)格式存储,这意味着它们可以表示很大范围的数值,但也会有一定的精度限制。

    代码如下(示例):

    b = 2.5
    print(type(b))  # <class 'float'>
    print(isinstance(b, int))  # False
    

    3.bool布尔类型:

    特点:布尔类型只有两个值:True和False。
    布尔类型通常用于表示真值或假值,在判断语句以及条件语句中使用
    注意:bool类型的值True也代表int整数类型中的1,bool类型的值False代表int整数类型中的0。

    代码如下(示例):

    a = True
    print(type(a))  # <class 'bool'>
    
    b = False
    print(type(b))  # <class 'bool'>
    
    #将整形1转化为bool类型值
    num = 1
    print(bool(num)) #True
    
    #将整形0转化为bool类型值
    num = 0
    print(bool(num)) #False
    

    4.str字符串类型:

    特点:字符串类型用于存储文本数据,即一系列字符的集合。Python中的字符串是不可变的,这意味着一旦创建了字符串,就不能更改其内容(但可以创建新的字符串)。
    字符串类型的数据内容要用 "(双引号),'(单引号)来表示。当表示一个字符串数据时,单引号与双引号没有区别,都可以用来表示一个字符串数据

    代码如下(示例):

    #字符串只能和字符串做加法
    w = 'mary'
    print(w + ':你好')  # mary:你好 
    
    # 字符串可以做乘法
    print('*' * 10) #**********
    
    # 用input()函数从控制台输入字符赋值给变量
    s = input()
    #控制台输入: Test
    print(s) # Test
    

    注意:input()函数输入的数据均为str(String)字符串类型

    5.运算符:

    算数运算符

    + - * /  //(取整)   %(取余)   **(幂次方,次方数)
    print(b ** 3)  # 27
    
    注意:/与//的区别:
    a = 10
    b = 3
    print(a / b)   #3.3333333333333335
    print(a // b)  #3 (//取整)
    

    一元运算符

    += -=  *= /= //=  %=  **=
    a=10
    a+=12   # a=a+12
    a/=3    # a=a/3
    

    比较运算符

    比较结果为bool类型

    >  >=  <  <=  ==  !=
    # 比较运算符
    print(3 > 5)  # False
    print(5 >= 5)  # True
    print(3 == 3)  # True
    print(3 != 3)  # False
    print(1 == True)  # True
    print(0 == False)  # True
    print(5 == '5')  # False
    print(False == '')  # False
    # 不同类型比较,结果一定是False, 1 == True和 0 == False除外
    

    逻辑运算符

    and(&)  or(|)  not
    and:且, 两者为真,结果为真,其他为假
    or: 或,有一个为真,结果为真,其他为假
    not:非,  非假即真,非真既假
    print(True and False) #False
    print(True or False)  #True
    print(not True)		  #False
    

    !谁能决定最终的结果 谁就是最后的结果

    # 谁能决定最终的结果,谁就是最后的结果
    print(6 or False)  # 6
    print(6 and False)  # False
    print(True and 0)  # 0
    print('' or 0)  # 0
    
    # 优先级:not>and>or
    print(not False or 3 > 2 and 5 + 2 > 10)  # True
    

    海象运算符

    海象运算符:(b := 3) + a  , 赋值并运算
    
    a=10
    c=(b:=5)+a   # 赋值的同时做运算
    
    a= 2
    sum = (b := 3) + a  # 运算过程中赋值
    print(sum)  # 5
    print(a + (b := 10))  # 12
    

    成员运算符

    (in)//判断是否存在   (not in)//判断是否不存在
    
    s = 'hello world'
    print('ll' in s) 	  # True 判断'll'是否在s中
    print('ol' not in s)  # True 判断'ol'是不是不在s中
    
    print(10 in (10, 20, 30))  # True
    
    # 判断一个数是偶数 还是 奇数
    a = 6
    # res = '偶数' if a % 2 == 0 else '奇数'
    res = '偶数' if not a % 2 else '奇数'
    
    # if a%2==0  --> if not a%2
    print(res)
    
    # if a==true  可以简写为 if a
    # if a==False  可以简写为 if not a
    

    #身份运算符

    python中-5 ~ 256之间的数据有小整数地址缓存的问题,在这之间的数据重复声明,指的是同一空间的值

    256以上的数据

    如果不在pycharm编辑器声明,而是在命令行声明相同的数据还会再去开辟一个空间

    如果在pychram编辑器声明,pycharm进行了优化,同一数据,同一空间

    小整数地址,-5-256之间的数据,不会重复开辟空间
    但是pycharm对其进行了优化,同一个值一般都是同一个空间
    用cmd命令框查询变量地址可以发现不同
    
    id(val)  :获取val对应的存储地址
    
    a = 2
    b = 2
    c = 3
    print(a is b)  # True
    print(b is not c)  # True
    # 查看地址
    print(id(a))  # 140715610720728
    print(id(b))  # 140715610720728
    print(id(c))  # 140715610720760  
    
    
    a = 300
    b = 300
    print(id(a))  # 1221916137776
    print(id(b))  # 1221916137776
    print(id(a) == id(b)) #在pycharm中为True,但是在命令行结果是False
    
    # 判断是否是同一空间
    a=3
    b=3
    c=4
    a is b  # True
    b is c  # False
    b is not c  # True
    

    用cmd命令框查询变量地址可以发现不同

    pycharm对其进行了优化,同一个值一般都是同一个空间

    位运算符

    位运算符,底层采用二进制计算,运算效率较高

    &:位与, 同位与,有一个为0,结果是0,其他是1
    |:位或, 同位或,有一个为1,结果是1,其他是0
    ^:异或, 同位相同,结果为0,不同为1
    ~:位非, 按位取反,0变1 1变0
    
    a = 0b00000010  # 2 (0b)声明一个二进制数
    b = 0b00000100  # 4
    # a & b:			a | b			a ^ b
    # a:00000010		a:00000010		a:00000010
    # b:00000100		b:00000100		b:00000100
    # =:00000000		=:00000110		=:00000110
    print(a & b)  # 0
    print(a | b)  # 6
    print(a ^ b)  # 6
    
    #~:位非, 按位取反,0变1 1变0
    a = 0b00000010
    # ~a:11111101 又因为第一位为1 表示负数 将其转化为正数  注:负数的十进制为补码的十进制  补码:源码取反+1
    #负数:00000010 
    # +: 00000001
    # =:00000011 ---->-3
    print(~a)  # -3
    

    位移运算符

    位移运算符,底层采用二进制计算,运算效率较高.

    << :左移,向左移动n位,在低位补n个0,相当于将原来的数据扩大2^n倍
    >> : 无符号右移,向右移动n位,在高位补n个0,相当于将原来的数据缩小2^n倍
    
    # 左移
    a = 0b00000010  # 2
    # 00000010=0000 1000=8
    print(a << 2)  # 8=2*2^2
    
    # 右移
    b = 0b00000100  # 4
    # 00000100=0000 0001=1
    print(b >> 2)  # 1=4/2^2
    
    # 2*8最高效的计算方式: 2<<3
    

    总结

    例如:以上就是今天要讲的内容,本文仅仅简单介绍了Python基础中的基本数据类型和运算符,讲解不足欢迎指正批评!

    作者:KFCVme5

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python数据类型与运算符详解

    发表回复