zoukankan      html  css  js  c++  java
  • json/pickle,time/datatime,random

    模块导入

      解决循环导入的方法:

        1.名字放在倒入之前

        2.将导入放在函数之内

    1.包

      包的导入分为:绝对导入(根式包的顶级目录)和相对导入(只能用在包内部,.代表本层,..代表上层)

      什么是包? 包就是一个含有__init__.py 文件的文件夹

           导包就是导入__init__.py 文件

    2.模块使用

       json和pickle (序列化)

        1.什么是序列化

          将内存中的数据类型转换成另外一种格式

          将字典转换为其他格式存入到硬盘中->>序列化

          从硬盘中读出其他格式反序列化得到字典 ->>反序列化

        2.为什么要序列化

          1.持久保存程序的运行状态

          2.数据跨平台交互

        3.如何序列化

          json   ->>json格式不能识别单引号,全部为双引号

            import json

            #序列化

            dic ={'k1':True,'k2':10,'k3':'egon'}

            dic_json = json.dumps(dic)

            #持久化

            with open('a.json','wt',encoding='utf-8') as f:

              f.write(dic_json) #///json.dump(dic,f)
                    json

            优点:是一种通用格式,所有编程语言都能识别
                      缺点:不能识别所有python类型
                  pickle
                      优点:能识别所有python类型
                      缺点:只能被python语言识别

            import pickle

            #序列化

            dic ={'k1':True,'k2':10,'k3':'egon'}

            dic_pkl = pickle.loads(dic)

            #持久化

            with open('b.pkl','rt',encoding='utf-8') as f:

              f.loads(dic_json) #///pickle.load(f)

         time与datatime模块

           时间分为三个格式

            1.时间戳   time.time()

            2.格式字符串  time.strftime(%Y-%m-%d %H:%M:%S %p)

            3.结构化时间对象  time.localtime().tm_hour   获取本地时间,只取小时

                      time.localtime().tm_wday  获取本地时间,判断是本周第几天,从                  0开始计算

                      time.localtime().tm_yday  一年中的第几天

                      time.getime()  获取gmt+8时间

            #time 模块 时间转换
            # 时间戳---->struct_time------->格式化的字符串
            # struct_time=time.localtime(123123)  
            # print(struct_time)
            # print(time.strftime('%Y-%m-%d',struct_time))

            # 格式化的字符串---->struct_time------->时间戳
            # struct_time=time.strptime('2017-03-11','%Y-%m-%d')
            # print(struct_time)
            # print(time.mktime(struct_time))

          datetime

            获取时间格式   datetime.datetime.now()  %Y-%m-%d'格式

            将时间戳直接转换为 %Y-%m-%d'格式  datetime.datetime.formtimestamp(时间戳)

            时间运算  datetime.datetime.new() + datetime.datetime.timedelta()

         random 随机模块

            random.random()    只能在0,1之间取值,取不到0和1

            random.randint(1,3)   在1和3之间取整数

            random.randrange(1,3) 在1和三之间取值取不到3 但是可以取到1

            random.uniform(1,3)   在1和3之间取小数

            random.choice([1,'a','c'])   多选1

            random.sample([1,'a','c'],2)   多选多

            random.shuffle()   乱序排列

          

    学习,学习,学习! 学习是为了更好的未来,不要让别人瞧不起你,加油!!!
  • 相关阅读:
    JS PopupAlert
    JS Navigator
    JS History
    JS Location
    JS Screen
    JS Window
    PTZView
    使用JmDNS发现设备
    Android开发调用webservice方式之一
    解决webservice发布报错Service Unavailable HTTP Error 503. The service is unavailable.
  • 原文地址:https://www.cnblogs.com/yangyufeng/p/10071296.html
Copyright © 2011-2022 走看看