• 模块


    一.什么是模块:

        模块就是别人写好的代码,放在一个py文件里,给你使用

    二.模块有三种:

        内置模块 / 第三方模块 / 自定义模块

    三.内置函数:  

        是每一个py程序在启动的时候都会加载到内存空间中的

    四.内置模块:

        以文件的形式存储在硬盘中,你用到 / 导入的时候才开始加载到内存

    五.你的py文件名永远不准和模块的名字一样

    一.time 时间模块

    时间在程序中有什么用:

          计算代码执行用时,测试效率

          日志:程序执行(用户的行为)的记录

           定时器:记录用户的重要时间:出生日期/注册日期/入职日期

    python程序中,时间一共有三种格式:

          时间戳时间,float时间 :1542072130.3895912 : 给计算机用的
                                     英国伦敦 1970-1-1 0:0:0  0时区
                                 北京时间 1970-1-1 8:0:0
          构化时间(tuple时间)
             格式化时间,str时间 : '2018-11-13 9:21:50':给用户看的

    s=time.time() 时间戳 (系统时间)

    s = time.strftime("%Y / %m / %d  %H : %M: %S") 格式化时间

    s = time.localtime() 结构化时间

    时间戳转换成格式化时间
    
    import time
     t = time.localtime(188888) #结构化
     s = time.strftime("%Y / %m / %d  %H : %M : %S" , t) #格式化
     print(s) 
    格式化转成时间戳
    import time
    s="2020-10-01 12:18:12" t=time.strptime(s,"%Y / %m / %d / %H : %M : %S") 结构化时间 print(time.mktime(t)) 转化时间戳

      ⽇期格式化的标准:

    %y 两位数的年份表示(00-99) 
    %Y 四位数的年份表示(000-9999) 
    %m 月份(01-12) %d 月内中的⼀天(0-31) 
    %H 24小时制小时数(0-23) 
    %I 12小时制小时数(01-12)
    %M 分钟数(00=59)
    %S 秒(00-59) 
    %a 本地简化星期名称 
    %A 本地完整星期名称
    %b 本地简化的⽉月份名称 
    %B 本地完整的⽉月份名称
    %c 本地相应的⽇日期表示和时间表示 
    %j 年年内的⼀一天(001-366) 
    %p 本地A.M.或P.M.的等价符
    %U ⼀一年年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始 
    %W ⼀一年年中的星期数(00-53)星期⼀一为星期的开始 
    %x 本地相应的⽇日期表示 
    %X 本地相应的时间表示 
    %Z 当前时区的名称 
    %% %号本

    计算时间差练习: 

        练习一

    1.显示当前时间24小时之前的 年月日 时分秒
    
    方法一 :
    import time
    time_now = time.time()    print(time_now)     print(60*60*24) div_time = time_now - 86400     print(div_time) struct_t = time.localtime(div_time) print(time.strftime("%Y-%m-%d %H:%M:%S",struct_t))

    方法二:
    st_now = time.localtime()
    print('%s-%s-%s %s:%s:%s'%(st_now.tm_year,st_now.tm_mon,
                                st_now.tm_mday - 1,
                                st_now.tm_hour,st_now.tm_min,
                                st_now.tm_sec
                                ))

        练习二  

    2.显示当前月的第一天的0:0:0的时间戳时间
     import time 
     st_now = time.localtime()
     str_t1 = time.strftime('%Y-%m',st_now)
     time_tu = time.strptime(str_t1,'%Y-%m')
     print(time.mktime(time_tu))
    
     str_t2 = time.strftime('%Y-%m-1 0:0:0',st_now)
     time_tu = time.strptime(str_t2,'%Y-%m-%d %H:%M:%S')
     print(time.mktime(time_tu))
    

     二.random 随机模块 

    取随机小数:

    import random
    print(random.random())      # (0,1) 0到1之间的小数
    print(random.uniform(1,10)) # (n,m) n到m之间的小数
    

    取随机整数:*****

     import random 
    print(random.randint(0,1)) # [n,m] 包即含n又包含m print(random.randrange(0,5)) # [n,m) 顾头不顾尾 print(random.randrange(0,5,2)) # [n,m) 还可以取步长 0到5每俩个取一个

    随机抽取:

     import random 
    l = [1,2,'abc',{'k':'v'},(1,2,3)]
    print(random.choice(l)) 可以抽取任意一个值 print(random.sample([1,2,'abc',{'k':'v'},(1,2,3)],3))随机抽取三个,参数给几个就随机抽取几个
    从列表里面 choice 3次 和 sample(l,3) 概率不一样

    打乱顺序:

     import random 
    l = [1,2,'abc',{'k':'v'},(1,2,3)] random.shuffle(l) print(l)

    六位纯数字验证码:

    import random
    def get_code(n=6):
        s = ''
        for i in range(n):
            num = random.randint(0,9)
            s+=str(num)
        return s
    
    print(get_code(6))
    

    4位字母+数字的验证码:  

    import random
    def code(n=4):
        end = ''
        for i in range(n):
            num = str(random.randint(0,9))
            alpha_up = chr(random.randint(65,90))
            alpha_low = chr(random.randint(97,122))
            aim = random.choice([num,alpha_up,alpha_low])
            end += aim
        return end
    print(code())
    

    四位字母加数字和六位字母加数字:

     import random
     def code(n=4,alpha = True):
         end = ''
         for i in range(n):
             aim = str(random.randint(0,9))
             if alpha:
                 alpha_up = chr(random.randint(65,90))
                 alpha_low = chr(random.randint(97,122))
                 aim = random.choice([aim,alpha_up,alpha_low])
             end += aim
         return end
     print(code(n=6,alpha=False)) #六位数字
     print(code()) #不写默认四位数字+字母
    
    抢红包,用户输入红包金额和个数,可以生成n个随机金额的红包:
    import random
    def red_box(money,n):
        lst = []
        for i in range(n):
            num = random.randint(1,10000)
            lst.append(num)
        sum_m = sum(lst)
        percent_lst = [num/sum_m for num in lst]
        for per in percent_lst:
            print(round(per*money,2))
    red_box(200,10)

    三. os 操作系统交互的模块

    open 操作系统提供给你的机制 能够在python中操作文件

    文件和文件夹相关:

    os.remove()  删除一个文件
    os.rename("oldname","newname") 重命名文件/目录
    os.listdir("dirname") 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.rmdir("dirname") 删除单级空目录,若目录不为空则无法删除,报错
    os.mkdir("dirname") 生成单级目录
    os.removedirs("dirname")若目录为空,则删除,并递归到上一级目录,一次类推
    os.makedirs("dir1 /dir2") 可生成多层递归目录
    os.stat("path / filename")   获取文件 / 目录信息
       print(os.stat(r'E:s17day171.今日内容.py'))  r转义

    stst 结构:
    st_size: 普通文件以字节为单位的大小,包含等待某些特殊文件的数据
    st_atime:上次访问的时间
    st_mtime:最后一次修改的时间

    操作系统,python工作目录相关的:

    os.system("dir") 运行shell命令,直接显示
    os.popen("dir").read() 运行shell命令,获取执行结果
      ret=os.popen("dir")
      print(ret.read())
    os.getcwd()当前python的工作目录
           这个程序是在那个路径下运行的,当前工作目录就是哪个路径
            open("test","w").close()
           工作目录:你创建文件/创建文件夹实际上都是跟着工作目录走的
           和你当前执行的这个文件并没有关系  
    os.chdir("dirname")改变当前脚本工作目录,相当于shell下cd

     

    在python中执行操作系统的命令:

    os.path.join("绝对路径","文件名/文件夹")  拼接目录
    os.path.abspath 获取当前文件的规范的绝对路径
    os.path.split 将path分割成目录和文件名二元组返回
    os.path.exists 如果path存在,返回True,如果path不存在,返回False
    os.path.isfile 如果path是⼀一个存在的⽂文件,返回True。否则返回False
    os.path.isdir  如果path是⼀一个存在的⽬目录,则返回True。否则返回False
    os.path.getsize 返回past的大小

      

     

  • 相关阅读:
    java的构造方法 this 重载
    容器,组件,面板
    首先定义一个5X8的二维数组,然后使用随机数填充满。借助Arrays的方法对二维数组进行排序。
    首先创建一个长度是5的数组,并填充随机数。首先用选择法正排序,然后再对其使用冒泡法倒排序
    创建一个长度是5的数组,并填充随机数。使用for循环或者while循环,对这个数组实现反转效果
    寻找某两个数相除,其结果 离黄金分割点 0.618最近,分母和分子不能同时为偶数 * 分母和分子 取值范围在[1-20]
    密码的自动生成器:密码由大写字母/小写字母/数字组成,生成12位随机密码
    vue倒计时:天时分秒
    tbody设置超出固定的高度出现滚动条,没超出不显示。
    获取某个日期的当前周一的时间
  • 原文地址:https://www.cnblogs.com/baoshuang0205/p/10051719.html
Copyright © 2020-2023  润新知