• python之路 --- python模块初认识&数据类型


    一、模块初识

    首先,文件名不能和导入的模块名称一样。因为系统默认先从当前文件寻找模块名,如果文件名和导入的模块名称一样的话,就相当于自己调用自己,会找不到相应的方法的。

    sys模块

    sys.path   # 打印环境变量

    sys.argv   # 实现从程序外部向程序传递参数。

    os模块

    os.system('dir')  # 执行系统命令,不保存结果

    cmd_res = os.popen('dir').read()  # 可以读取结果

    os.mkdir('new_dir')  # 创建一个目录

    二、数据类型

    1、数字

    int(整型)

      在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
      在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    long(长整型)
      跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
      注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    float(浮点型)
          先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
      浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
    complex(复数)
      复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
    注:Python中存在小数字池:-5 ~ 257
    2、布尔值
      真或假
      1 或 0

    3、索引:

      左都是从0开始,末尾-1
    4、list:(list中可以有不同的数据类型)
      追加:append
      插入:insert(索引,元素)
      删除:pop(索引)
      替换:赋值
      排序:sort()
      倒序:reverse

    注意:copy和copy.deepcopy(深层copy)的区别

    5、tuple:

      元组(元素不可变)

    6、dict:

      key--value

      对于字典的遍历:

      1. for i in info:  推荐用这种,可以更高效率的遍历字典中信息比较多的情况

        print(i,info[i])

      2. for k,v in info.items():

        print(k,v)

    7、String:
      左边从0开始,右边是从-1开始

    8. set:

      > 去重:

      list_1 = [1,2,3,4,5,2,3]

      list_1 = set(list_1)

      > 关系测试:

      交集\差集\并集\对称差集

    list_1 = [1,4,5,7,3,6,7,9]
    # 去重
    list_1 = set(list_1)
    print(list_1)
    
    list_2 = set([2,6,0,66,22,8,4])
    print(list_1,list_2)
    
    # 交集
    print(list_1.intersection(list_2))
    print(list_1 & list_2)              #  ‘&’ 运算符
    
    # 并集
    print(list_1.union(list_2))
    print(list_1 | list_2)        # ‘|’ 运算符
    
    # 差集
    print(list_1.difference(list_2))
    print(list_1 - list_2)      # in list_1 not in list_2
    
    list_3 = set([1,4,7])
    # 子集
    print(list_3.issubset(list_1))
    
    # 父集
    print(list_1.issuperset(list_3))
    
    # 对称差集
    print(list_1.symmetric_difference(list_2))
    print(list_1 ^ list_2)
    
    
    # 判断两个集合是否有交集
    print('-'*20)
    print(list_2.isdisjoint(list_1))
    list_4 = set([1,2,8])
    print(list_3.isdisjoint(list_4))
    
    list_4.add(20)
    print(list_4)

    补充:

    *   匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于o{0,}
    +  匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
    ?  匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}。

     
  • 相关阅读:
    .Net Core自动化部署系列(一):Jenkins + GitLab
    经典案例复盘——运维专家讲述如何实现K8S落地(摘抄)
    Quartz系列(一):基础介绍
    生产环境项目问题记录系列(二):同步方法调用异步方法
    微服务理论系列(一):服务发现四问四答(摘抄)
    Java中的继承、封装、多态的理解
    Java三大主流框架概述
    面试的技巧
    myBaits持久性框架
    MyBaits框架入门总结
  • 原文地址:https://www.cnblogs.com/petrolero/p/8987321.html
Copyright © 2020-2023  润新知