• 7.1_python_lx_day2


    一.Number (int float bool complex)

    (1)int 整型

    ①正整数 0  负整数

    例:intvar = 123   print(intvar)

    >type获取值的类型<  

    例:print( type(intvar) )

    >id获取一个值的地址<

    例:print( id(intvar) )

    ②二进制整型

    例:intvar = 0b1111
    print(intvar)
    print( type(intvar) )
    print( id(intvar) )

    ③八进制整型

    intvar = 0o125
    print(intvar)
    print( type(intvar) )
    print( id(intvar) )

    ④十六进制整型

    intvar = 0x1010
    var1 = 4112
    print(intvar)
    print(id(intvar), id(var1))
    print( type(intvar) )

    (2)float 浮点型 小数

    ①表达方法一

    例:floatvar = 4.88

    print(floatvar)
    print( type(floatvar) )

    ②表达方法二  科学技术法

    floatvar = 6.7e4
    print(floatvar)
    print( type(floatvar) )

    (3)bool 布尔型 True 真的 False 假的 只有两个值

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

    (4)complex 复数

    complex  实数 + 虚数

    例:3+4j

    3: 实数
    4j: 虚数
    j: 如果有一个数,他的平方等于-1,那么这个数就是j,表达的是高精度的类型;(科学家认为有)

    ①表达方式一
    complexvar = 56-3j
    complexvar = -3j   # 可以没有实数部分
    print( complexvar )
    print( type(complexvar) )

    ②表达方式二
    语法 : complex(实数,虚数)
    complexvar = complex(56,-3)
    print( complexvar )
    print( type(complexvar) )

    二.容器类型数据 ( str list tuple set dict)

    转义字符 : + 某个字符
    ☆将有意义的字符变得无意义
    ☆将无意义的字符变得有意义
    , : 换行
    : tab缩进(水平制表符)[一般来说,一个锁进是4个空格的距离
    : 将后面的字符直接拉到当前行行首

    (1)str 字符串

    """ 用引号引起来的就是字符串 """

    ①特点:可获取,不可修改,有序

    ②单引号引起来的字符串     strvar = 'aaaaa'

    ③双引号引起来的字符串     strvar = "bbbbb"

    ④三引号引起来的字符串 '''  """(支持跨行的效果)

    例:strvar = """aaaaa,

    bbbbbbbbbb

    """

    ⑤元字符串 r"字符串" 不转义字符,原型化输出字符串

    strvar = r"E: ython31 ay2"
    print(strvar)

    ⑥格式化字符串

    语法 : "字符串" % (值1,值2,值3)
    %d 整型占位符
    %f 浮点型占位符  (存在四舍五入的情况)
    %s 字符串占位符

    <1>%d 整型占位符

    strvar = "刘子豪便秘,买了%d个开塞露,舒服多了" % (5)
    print(strvar)

    *** %2d 占两位 原字符串默认居右

         %-2d 占两位 原字符串默认居左

    strvar = "刘子豪今天%2d岁" % (3)
    print(strvar)

    <2>%f 浮点型占位符

    strvar = "刘子豪给了我%f块钱" % (9.987)
    print(strvar)

    *** %.2f 小数点保留2位
    strvar = "刘子豪给了我%.2f块钱" % (9.987)
    print(strvar)

    <3> %s 字符串占位符

    strvar = "%s" % ("人生如逆旅,我亦是行人")
    print(strvar)

    &综合案例

    strvar = "%s看好了一辆车,特斯拉model x,买了%d辆,花了%.1f元" % ("了刘子豪",10,9.9)

    print(strvar)

    <4>可以全部使用%s占位符进行取代

    strvar = "%s看好了一辆车,特斯拉model x,买了%s辆,花了%s元" % ("刘子豪",10,9.912345)
    print(strvar)

    (2)list 列表

    ①特点:可获取,可修改,有序

    ②定义一个空列表 listvar = []   print(listvar ,  type(listvar) )

    ③定义一个普通列表  

    &正向下标索引    0     1             2     3         4
    listvar =             [100,19.123,True,1+12j,"刘子豪"]
    &逆向下标索引   -5    -4           -3     -2       -1
    print(listvar)

    <1>获取列表当中的值 res = listvar[2]  res = listvar[-3]  print(res) 

    <2>获取列表当中最后一个元素

    ***python 特有          print(listvar[-1])

    ***通用写法

    len 获取容器类型数据的长度(元素的总个数)

    res = len(listvar)     print(res) 

    res = listvar[res - 1]   print(res)

    ***简写  print(listvar[len(listvar) - 1])

    <3>修改列表里面的元素    listvar[-3] = False    print(listvar)

    (3)tuple 元组

    ①特点:可获取,不可修改,有序

    ②定义一个空列表  tuplevar = ()  print(tuplevar , type(tuplevar))

    ③定义一个普通列表

    tuplevar =     ("范小花","胡歌","靳东","刘亦菲")

    <1>获取元组当中的元素res = tuplevar[1]   res = tuplevar[-1]     print(res)

    <2>不可以修改元组当中的值  tuplevar[0] = "一条大路分两旁" error

    <3>判定元组的类型=>逗号才是区分是否是元组的标识符    tuplevar = (123,)     tuplevar = 123,    print(tuplevar , type(tuplevar))

    (4)set 集合 (作用:集合之间的交差并补)

    ①特点:无序,自动去重

    ②定义一个空集合  setvar = set()      print(setvar  , type(setvar))

    ③定义一个集合

    setvar = {"aaa","bbb","ccc","ddd"}

    <1>不可以获取集合中的元素 res = setvar[3] error (集合无序)

          不可以修改集合中的元素 setvar[0] = "123" error (集合无序)

    <2>自动去重  setvar = {"aaa","bbb","ccc","ddd","ddd","ddd","ddd","ddd"}   print(setvar)

    (5)字典 dict

    ①特点:键值对存储的数据,表面上有序,实际上无序

    ②语法: { 键1:值1 , 键2:值2 ..... }

    ③定义一个空字典  dictvar = {}    print(dictvar , type(dictvar))

    ④定义一个字典  dictvar = {"智多星":"吴用","花和尚":"鲁智深","浪里白条":"张顺","母夜叉":"孙二娘","回手掏":"大司马"}

    ⑤获取字典的值    res = dictvar["回手掏"]    print(res)

    ⑥修改字典的值  dictvar["回手掏"] = "范小花儿"  print(dictvar)

    字典的键 和 集合中的值 对数据类型有要求

    字典的键 和 集合中的值 数据类型的要求必须是如下几种:
    如下类型可以: 不可变数据(可哈希的数据类型)
    Number(int , float , bool ,complex) , str , tuple

    不允许的类型: 可变数据(不可哈希的数据类型)
    list , set , dict

    但凡提到哈希算法(hash),都是典型的无序特征
    目的: 为了更加均匀的把数据分配到内存里,底层用的算法类似于取模.

    python3.6版本之后,对字典做了优化,存储数据的时候用哈希算法
    但是在拿出数据的时候,重新按照定义字典时的顺序进行重新排序
    所以看起来有序,实际上无序

  • 相关阅读:
    es6字符串扩展(+模板字符串拼接)
    MySQL-技术专区-mysql数据库权限管理
    MySQL-技术专区-数据库权限管理
    开源软件的盈利模式
    分布式-技术专区-Redis分布式锁实现-第二步
    分布式-技术专区-Redis分布式锁实现-第一步
    分布式-技术专区-Redis分布式锁原理实现
    JPA接口整理归纳方法规则
    备份整理-实用归纳
    Zookeeper-技术专区-运作流程分析介绍
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13221839.html
Copyright © 2020-2023  润新知