• python 基础之python的六大标准数据类型


    一:Number 数字类型(int  float  bool  complex)

    1.整数:(正整数 0 负整数)

    #1)二进制用0b表示
    intvar = 0b1010
    print(intvar)
    print(type(intvar))  #获取intvar类型
    print(id(intvar))  #获取到16进制

    #type 可以获取到变量的类型
    #id 可以获取该变量所指向的那个值的地址
    a = 5

    #八进制用0o表示
    intvar = 0o127
    print(intvar)
    print(type(intvar))
    print(id(intvar))

    #十六进制是用0x来表示
    intvar = 0xff
    print(intvar)  #转成2进制的数
    print(type(intvar))
    print(id(intvar))

    intvar = 0
    print(intvar,type(intvar))

    intar = 0
    print(intvar,type(intvar))

    2.float浮点型(小数类型)

    #表示方法一
    floatvar = 3.14
    print(floatvar,type(floatvar),id(floatvar))

    #表示方法二 (科学计数法)
    floatvar = 5.88e-2
    print(floatvar,type(floatvar),id(floatvar))
    floatvar = 4.11e3
    print(floatvar)

    3.bool 布尔类型 (只有True 或False两种状态)

    boolvar = True
    print(boolvar,type(boolvar),id(boolvar))
    boolvar = False
    print(boolvar,type(boolvar),id(boolvar))

    4.complex 复数类型

    复数: 实数 + 虚数
    j : 如果有一个数,它的平方等于-1,那么这个数就是j
    科学家认为有,属于高精度的类型

    #表示方法一
    complexvar = 4+3j
    print(complexvar,type(complexvar),id(complexvar))
    #表示方法二
    #complex(实数部分,虚数部分)
    complexvar = complex(8,-3)
    print(complexvar,type(complexvar),id(complexvar))

    二:String字符串类型

    定义:用引号引起来的就是字符串

    转义字符:
    1)将有意思的字符变得无意义
    2)将无意义的字符变得有意义
    语法: + 某字符
       : 代表换行
           : 代表一个缩进 水平制表符
           :将后面的字符串拉到当前行首



    #1)单引号引起来的字符串
    strvar = '今天天气很好'
    print(strvar,type(strvar),id(strvar))

    #2)双引号引起了字符串
    starvar =  "小楼昨夜又东风"
    print(starvar,type(starvar),id(starvar))
    starvar1 = "小楼'咋啦'"  #外面是双引号,里面需要单引号,与注释的嵌套注意点相同
    print(starvar1,type(starvar1),id(starvar1))

    #换行用法
    starvar2 = "故国不堪回首 明月中"
    print(starvar2,type(starvar2),id(starvar2))

    #用法
    starvar3 = "故国不堪回""明月中"
    print(starvar3)

    #3)三引号引起来的字符串
    strvar = """
    本来无一''
    何处惹""埃。
    """
    print(strvar)

    strvar1 = '''
    哈哈哈哈
    噢噢噢噢
     '''
    print(strvar1)

    #(4)元字符串 r "字符串" (让字符串里面的转义字符失效)
    starvar5 = r"今天天气真好 哈哈哈"
    print(starvar5)

    #(5)字符串的格式化
    """
    %d :整型占位符
    %f :浮点型占位符
    %s :字符串占位符
    语法: "字符串 占位符"  % (实际值)
    语法: 字符串 % (值1,值2,值3....
    """
    # %d
    starvar6 = "今天买了%d个盆" %(5)
    print(starvar6)

    # %2d 站两个位置 默认居右
    strvar7 = "昨天买了%2d斤水果" % (5)
    print(strvar7)
    # %-2d 站两个位置,默认居左
    strvar8 = "今天买了%-2d个桶" %(6)
    print(strvar8)


    # float 小数点后默认保留6
    strvar9 = "今天付钱多少 %f " %(9.99)
    print(strvar9)
    #设置保留2
    strvar10 = "今天付钱多少 %.2f " %(9.99)
    print(strvar10)
    #设置保留一位,精确位数的时候,有四舍五入的规定
    strvar11 = "今天付钱多少 %.1f " %(9.99)
    print(strvar11)
    # %s
    aa = "ten"
    strvar12 = "%s" %(aa)
    print(strvar12)

    #综合案例
    strvar13 = "谁开工资了,一共%d元,一辆车%d元,心情%s" %(12900,21313,"很好")
    print(strvar13)

    ''' 特征: 可以获取 不可修改 有序'''

    #获取字符串当中的元素 可以使用下标

    tuplevar = "咱们班只有一个美女"
    res  = tuplevar[-2]
    print(res)

    #修改行不行? 不行
    #tuplevar[-2] = "" error

     

    三:List列表类型

    1.定义一个空列表

    特征: 可获取 可修改 有序
    listvar = []
    print(listvar)
    print(type(listvar))

    # 0 1 2 3 4 5 正向下标
    listvar = ["明天",2,3.14,True,False,3-2j]
    # -6 -5 -4 -3 -2 -1 逆向下标
    print(listvar)
    # (1)列表的获取 通过下标获取对应的值
    res = listvar[3]
    print(res)
    #能够通过逆向下标瞬间得到 列表里面的最后一个值
    #res <==>result
    res = listvar[-1]
    print(res)

    #获取列表最后一个值 通过做法
    #len 获取列表的长度(元素的个数)
    lengthvar = len(listvar)
    print(lengthvar)
    res2 = lengthvar - 1
    print(res2)
    print(listvar[res2])
    #简写
    print(listvar[len(listvar)-1])

    #(2)列表的修改
    listvar[3] = "201904251725"
    print(listvar)

    四:Tuple 元组类型

    特征:可获取 不可修改 有序
    1.定义一个空元祖
    tuplevar = ()
    print(tuplevar,type(tuplevar))

    # 见证是不是元组,取决于逗号,但是声明空元组时可以使用()
    tuplevar = ("one",)
    print(tuplevar,type(tuplevar))

    2. 获取元组中的数据
    tuplevar = ("刘德华","周星驰","李宇春","汪洋")
    print(tuplevar)
    print(tuplevar[2])
    print(tuplevar[-1])

    # 是否可以修改元组中的值? 不允许
    #tuplevar[0] = 1 error

    五:Set集合类型

    # 集合 作用:交集 差集 并集 补集 (功能是用来做交叉并补的)
    特征; 自动去重 无限

    1.定义一个空集合

    setvar = set() #set 强制转换成一个空集合的数据类型
    print(setvar,type(setvar))

    setvar = {"刘德华","蔡卓妍","李宇春","汪洋"}
    print(setvar)

    2.集合不能够修改或者获取其中的数据

    #是否可以获取集合当中的值?不行
    #setvar[1] error

    #是否可以修改集合当中的值? 不行
    #setvar = 123 error

    3.集合能够自动去重

    setvar = {"刘德华","蔡卓妍","李宇春","汪洋","李宇春"}
    print(setvar)

    六:Dict 字典类型

     特征:键值对存储的数据 无序
    #字典 3.6版本 看起来有序,本质上无序 ,因为底层使用了哈希算法,它存储的数据是散列。

    1.定义一个空字典

    dictvar = {}
    print(dictvar,type(dictvar))

    # 它是有键值对存储的数据,冒号左边的是键,右边的是值,键值对之间用逗号隔开
    dictvar = {"top":"关羽","middle":"小乔","bottom":"后裔","jungle":"盲僧","support":"机器人"}
    print(dictvar)

    2.获取字典当中的值

    res = dictvar["bottom"]
    print(res)

    3.修改字典当中的值

    dictvar['middle'] = "王昭君"
    print(dictvar)

    """
    可哈希数据:
    可哈希数据 (不可变的数据): Number (int float bool comple ) str tuple
    不可哈希的数据 (可变的数据): list set dict
    """

    dictvar = {1:111,3.14:222,False:232,3+4j:131321,"dada":666}
    print(dictvar)  #字典里包含其他各种数据类型
    #一般在命名字典的键时,推荐使用字符串,按照变量命名的字符串

    字典,集合与哈希算法需要注意

    ```

    哈希算法

    定义:

    把不可变的任意长度值计算成固定长度的唯一值,这个值可正可负,可大可小,但长度固定

    该算法叫哈希算法,这个固定长度值叫哈希值

     

    特点:

    哈希过的数据存储时,是一个随机存放的散列,并不是按照次序依次存放的,

    所以通过哈希算法存储数据的速度较快.

     

    查找:

    字典的键就是按照哈希算法算出来的,可以通过该键找散列中的对应值,形成映射关系

    集合中的值也是通过哈希算法计算后存储的

    所以集合,字典本质上无序

     

    版本:

    3.6版本之前都是无序的

    3.6版本之后,把字典的字面顺序记录下来,当从内存拿数据的时候,

    根据字面顺序重新排序,所以看起来像有序,但本质上无序

     

    可哈希数据:

    可哈希的数据  (不可变的数据)Number(int float bool complex) str tuple

    不可哈希的数据 (可变的数据)list set dict

     

  • 相关阅读:
    multiprocessing模块
    socket&socketserver网络编程
    collections模块
    socket模块
    网络基础知识
    迭代器,生成器,列表推导式,生成器表达式
    logging模块
    Module
    页面中公用的全选按钮,单选按钮组件的编写
    ajax
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/10780919.html
Copyright © 2020-2023  润新知