美文网首页
Python基础-day09

Python基础-day09

作者: 陈small末 | 来源:发表于2019-01-11 08:56 被阅读0次

    list

    模块

    程序主入口

    第三方模块

    自定义包

    sorted

    高阶函数

    日期时间

    模块和程序入口

    ​ 模块(一个.py文件):提供额外功能,可以提高代码复用性 还可以使程序模块化

    ​ 导入时起别名:

    给模块起
    import 模块名 as 别名
    
    给模块内的成员其别名
    from xxx import 成员 as 别名
    
    当from xxx import *的时候 如果我们在xxx里的一些成员不想被外部使用 那么我们可以使用__all__ = ["放你想暴露的成员"]
    

    程序入口

    我们程序运行的开始位置

    __name__ 在主文件 打印结果是__main__
            在非主文件(模块文件) 打印的时候是模块的名字
            
    if __name__ == "__main__":
        
    

    第三方模块

    ​ 系统:time functool keyword

    ​ 自定义模块

    ​ 第三方:其他组织 或个人编写的 开源的python模块

    ​ 管理:pip 是管理python第三方包

    pip命令

    (python -m) pip install 包名==版本号 安装
                   uninstall 包名       卸载
                   list                 查看已经安装的包
                   freeze               查看已经安装的包
                   freeze >> 文件       把已经安装的包写到文件
                   install -r 文件名    根据文件里写的包和对应的版本依次安装
    
    Django Flask web.py pandads numpy PIL(Pillow) pygame itchat ....
    

    uuid 生成唯一标示

    import uuid
    res = uuid.uuid4()
    # print(res)
    res = str(res).replace("-", "")
    print(res[:4])
    

    自定义包

    ​ 常识:同一个文件夹下边 不能有同名的文件

    ​ 包:帮我们完成多文件命名

    ​ 形式:

    在目录下有一个__init__.py的文件  一般用来初始化
    
    

    ​ 包和目录的区别:

    ​ 包里有初始化文件

    ​ python2 不能在目录下导入一个模块 而必须要使用包的形式

    ​ python3是可以再目录下导入模块文件

    ​ 导入包

    ​ from 包名.文件名 import 成员

    from suibian.file_one import add
    或者from suibian import file_one
    

    sorted

    排序(不改变原来的值)会产生新的列表

    参数:iterable 放一个可以迭代对象

    ​ key 指定排序的方式

    ​ reverse 默认是Fasle表示升序,如果设置成True那么是降序

    普通列表排序

    a = ["abd",'ks', 'jeje']
    # a.sort(key=len, reverse=True)
    # print(a)
    res = sorted(a, key=len, reverse=True)
    

    字典

    dict_data = {"语文":59, "数学": 79, "化学":90, "物理":30, "python": 100}
    # if "yu" in dict_data:
    res = sorted(dict_data.items(), key=lambda item:item[1])
    

    列表套字典

    a = [{"name":"dada", "age":18},
         {"name": "tom", "age":16},
         {"name": "old tom", "age":80},
         {"name": "xiaoming", "age":6}
         ]
    
    def key1(item):
        return item['age']
    res = sorted(a, key=lambda item:item["age"], reverse=True)
    

    高阶函数

    map(func, 序列)

    ​ [func(i) for i in 序列]

    ​ 功能:将序列的每一项放入到func这个函数里执行

    reduce(func, 序列)

    ​ 功能:func函数 接收两个参数,将两个数结果累计然后继续与下一个元素结果累计的过程

    res = reduce(add, [1,2, 3, 4, 5])
    相当于:(((1+2)+3)+4)
    

    filter 过滤

    filter(func, 序列)

    func需要一个参数

    如果func返回了True 那就保留 否则剔除掉

    时间

    时间戳:

    ​ 1970年1月1日零时到现在经历的秒数

    time

    时间格式化的占位符

    %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 本地AM.或PM.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %% %号本身
    

    操作

    import time
    
    # 拿时间戳
    res = time.time()
    print(res)
    
    #获得当前时间的元组
    res = time.localtime(1539244193.6709678)
    print(res)
    
    # 休眠函数
    # time.sleep(5)
    # print("睡醒了")
    
    #时间的格式化
    f_str = time.strftime("%Y-%m-%d %p %I:%M:%S", res)
    print(f_str)
    #
    time_str = '2018-10-11 PM 03:49:53'
    # 将字符串变成时间
    my_time = time.strptime(time_str, "%Y-%m-%d %p %I:%M:%S")
    print(my_time)
    # 给出时间元组 获得时间戳
    res = time.mktime(time.localtime())
    

    datetime

    ​ 年份的最大值是9999

    ​ 最小是1

    # 时间的替换
    print(today.replace(minute=0, second=0))
    # 时间的加减
    res = today + datetime.timedelta(days=1,minutes=60)
    print(res)
    # 将时间转字符串格式化
    res = datetime.datetime.now().strftime("%Y/%m/%d")
    print(res)
    # 字符串转时间
    res = datetime.datetime.strptime('2018/10/11', "%Y/%m/%d")
    print(res)
    
    import datetime
    
    res = datetime.datetime.now()
    print(res)
    
    today = datetime.datetime.today()
    print(today)
    
    # 转成时间元组
    print(today.timetuple())
    

    calendar

    日历

    import calendar
    # calendar.
    res = calendar.calendar(2018)
    print(res)
    # 某年某月的日历
    res = calendar.month(2018, 10)
    print(res)
    
    # 某年某月的日期在星期上的表现(二维的列表)
    res = calendar.monthcalendar(2018,10)
    print(res)
    
    # 判断是是闰年
    res = calendar.isleap(2018)
    print(res)
    

    相关文章

      网友评论

          本文标题:Python基础-day09

          本文链接:https://www.haomeiwen.com/subject/vchvrqtx.html