Python学习Day16

一、包的使用
    1.什么是包
        包就是一个含有__init__.py文件的文件夹
        
    2.为何要用包
    
    3.如何用包
    
    import sys
    sys.path.append(r'D:\脱产5期内容\day16\dir')
    
    import aaa # aaa——————》__init__.py
    
    print(aaa.xxx)

    aaa.func1()
    aaa.func2()
    aaa.func3()
    aaa.func4()
    aaa.f1()
    aaa.f2()
    aaa.f3()
    aaa.f4()
    aaa.fff()
    
    
二、json与pickle模块
    1.什么是序列化
        序列化就是将内存中的数据类型转成另外一种格式
        即:
            字典———————————序列化———————————————》其他的格式———————————————————————》存到硬盘
            硬盘————————————读取————————————————》其他的格式————————反序列化———————》字典
        
    2.为什么要序列化
        1.持久保存程序的运行状态
        2.数据的跨平台交互
        
    3.如何序列化
        json:
            优点:这种格式是一种通用的格式,所有编程语言都能识别
            缺点:不能识别所有python类型
            强调:json格式不能识别单引号
            
        pickle:
            优点:能识别所有python类型
            缺点:只能被python这门编程语言识别
            
    ====================================json
    import json
    
    dic={'k1':True,'k2':10,'k3':'egon','k4':'你好啊'}
    
        序列化
    dic_json=json.dumps(dic)
    print(dic_json,type(dic_json))
    
        持久化
    with open('a.json',mode='wt',encoding='utf-8') as f:
        f.write(dic_json)
        
        序列化+持久化
    with open('a.json',mode='wt',encoding='utf-8') as f:
        json.dump(dic,f)
        
    
    import json
        从文件中读取json格式化的字符
    with open('a.json',mode='rt',encoding='utf-8') as f:
        dic_json=f.read()
        
        反序列化
    dic=json.loads(dic_json)
    print(dic,dic['k1'])
    
        读取文件内容+反序列化
    with open('a.json',mode='rt',encoding='utf-8') as f:
        dic=json.load(f)
        print(dic['k1'])
        
        
    ===========================pickle
    import pickle
    
    dic={'k1':True,'k2':10,'k3':'egon','k4':'你好啊'}
    
    
    ==========>1 pickle.dumps与pickle.loads
    
    dic_pkl=pickle.dumps({1,2,3,4})
        print(dic_pkl)
        
    with open('b.pkl',mode='wb') as f:
        f.write(dic_pkl)
        
        
        
        
        
    with open('b.pkl',mode='rb') as f:
        s_pkl=f.read()
        s=pickle.loads(s_pkl)
        print(type(s))
        
        
    ============>2 pickle.dump与pickle.load
    with open('c.pkl',mode='wb') as f:
        pickle.dump(dic,f)
        
    with open('c.pkl',mode='rb') as f:
        dic=pickle.load(f)
        print(dic,type(dic))
        
        
三、time与datatime模块
    时间分为三种格式:
    import time
    """
    1.时间戳
    print(time.time())
    
    2.格式化的字符
    print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
    
    3.结构化的时间对象
    print(time.localtime())
    print(time.localtime().tm_hour)
    print(time.localtime().tm_wday)
    print(time.localtime().tm_yday)
    print(time.gmtime())
    
    时间转换
    时间戳————>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))
    """
    
    格式化的字符串时间(format string)———strptime———>结构化的时间(struct_time)———mktime—————————————>时间戳(timetamp)
    格式化的字符串时间(format string)<——strftime————结构化的时间(struct_time)<——gmtime\localtime————时间戳(timetamp)
    
    
    import datetime
    print(datatime.datetime.now())
    
    print(datatime.datatime.fromtimestamp(1231231))
    
    print(datatime.datatime.now()+datatime.timedelta(days=3))
    print(datatime.datatime.now()-datatime.timedelta(days=3))
    print(datatime.datatime.now()+datatime.timedelta(days=-3))


四、random模块
    import random
    
    print(random.random())==================取值范围(0,1)----float大于0且小于1之间的小数
    print(random.randint(1,3))==============取值范围[1,3]---------大于等于1且小于等于3之间的整数
    print(random.randrange(1,3))============取值范围[1,3)---------大于等于1且小于3之间的整数
    print(random.uniform(1,3))==============取值范围(1,3)----float大于1小于3的小数
    
    print(random.choice([1,'a','c']))=======1或者23或者[4,5]
    print(random.sample([1,'a','c'],2))=====列表元素任意2个组合
    
    
    打乱item的顺序,相当于“洗牌”
    item=[1,3,5,7,9]
    random.shuffle(item)
    print(item)
    
    
    生成随机验证码:
    def make_code(max_size=5):
        res=''
        for i in range(max_size):
            num=str(random.randint(0,9))
            alp=chr(random.randint(65,90))

            res+=random.choice([num,alp])
    
        return res
    
    print(make_code(10))
    
        
    

 

转载于:https://www.cnblogs.com/Nayami-L/p/10072933.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值