• 模块使用及常用模块


    模块

    定义: python中一个.py文件称为一个模块.

    模块划分: 按照功能来进行划分,相同或者相似的我们将其放到一个模块

    优点:

    1.提高代码的可维护性

    2.提高代码的复用性

    3.可以引入其他模块

    4.可以避免函数名与变量名的冲突

     

    模块搜索路径:

    当导入一个模块时,解释器先在当前包中查找模块,若找不到,然后在内置的built-in模块中查找,找不到则按sys.path给定的路径找对应的模块文件(模块名.py)

    自定义模块

    ..........

     

    name属性

    作用:为了解决当该模块被其他模块引入的时候,该模块中执行的函数我们需要进行隔离,这时候就可以使用name属性

    name 每个模块中都有的一个内置模块,当该模块在自身执行的时候,name的值为main, 当该模块被其他模块引入的时候, name 的值为该模块的模块名,因此可以通过name的值来进行区分,文件是否在该模块中执行

    一般大型项目都会使用:

    if __name__ == "__main__":

    作为正常程序入口.

    当不同开发人员同时开发一个项目的时候,项目里面的模块出现重名的时候就会引起冲突,解决冲突的办法:

    就是在模块的外部套一层目录,这个目录叫包,为了区别普通目录与包,这时会在包中创建一个init .py文件. 只要最外面的包名不发生冲突,这个模块就不会冲突

    给模块取名时,避免使用系统内置名

    sys模块

    sys.path 返回python内建规则查找的一个列表

    sys.platform 获取当前执行环境的平台

    sys.argv 获取当前正在执行的命令行参数的参数列表; 可以从外部往内部传递参数

    argv[0]  当前程序名

    argv[1] 第一个参数

    如何安装第三方模块:

    1.file-->

    2.打开终端 pip install 模块名

    升级pip工具 python -m pip install --upgrade pip

    time时间模块

    时间戳: 从1970年1月1日到现在,单位s

    UTC: 格林尼治时间, 世界标准时间 utc+8

    DST: 夏令时

    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=1, tm_hour=7, tm_min=28, tm_sec=25, tm_wday=4, tm_yday=60, tm_isdst=0)
    year:年
    mon :月
    mday:日
    hour:时
    min:分
    sec:秒
    wday:星期码(0~60:周一  6:周日
    yday:今年第多少天
    isdst:1 夏令时  0 utc
    sec = time.time()  #sec 秒 当前时间的时间戳,浮点数形式
    # print(sec)   # 时间戳,1970.1.1到当前时间总秒数

    gt = time.gmtime(sec)  #时间戳转格林尼治时间
    # print(gt) #格林尼治时间元组

    lt=time.localtime(sec)  #时间戳转本地时间
    # print(lt) #本地时间元组

    mt=time.mktime(lt) # lt:为本地时间,将本地时间元组转成时间戳
    # print(mt) #时间戳

    **tstr1=time.asctime(lt) #将时间元组转为时间字符串,无格式
    print(tstr1)  #时间字符串

    **tstr2=time.ctime(sec)  #将时间戳转为时间字符串,无格式
    print(tstr2)  #时间字符串

    tstrf=time.strftime("%Y/%m/%d %H:%M:%S",lt) #将时间元组格式化为时间字符串 %Y/%m/%d等同于%x %H:%M:%S等同于%X
    print(tstrf)  #格式化的时间字符串

    ttuple=time.strptime(tstr1) #将时间字符串转为时间元组
    ttuple=time.strptime(tstrf,"%Y/%m/%d %H:%M:%S") #将指定格式的时间字符串转化为时间元组
    print(ttuple)  #时间元组

    time.sleep(1) #让cpu休眠1秒再执行

    time.clock()
    '''通常情况下,会两个一起连用,计算cpu的用时。
    模块中出现的第一个clock,用来标记,第二个clock会返回从标记开始
    到第二个clock出现的时候cpu的用时。'''
    格式含义备注时间格式化表示法

    time.gmtime(时间戳) 将时间戳转为格林尼治时间元组

    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=1, tm_hour=10, tm_min=58, tm_sec=45, tm_wday=4, tm_yday=60, tm_isdst=0)

    time.localtime(时间戳) 将时间戳转为当前时间元组

    time.struct_time(tm_year=2019, tm_mon=3, tm_mday=1, tm_hour=18, tm_min=58, tm_sec=45, tm_wday=4, tm_yday=60, tm_isdst=0)

     

    datetime模块

    dt=datetime.datetime.now() #返回一个当前的datetime对象
    dt2=datetime.datetime.now()
    # print(dt)

    datetime.datetime(2018,2,25,20,35,36,709216) #获取指定时间的对象

    str1=dt.strftime("%Y/%m/%d %X") #将datetime对象格式化为字符串
    # print(str1)

    dtt=dt2-dt  #两个datetime对象相减,会返回一个时间差对象

    jgday1 = dtt.days  #获取间隔时间的天数部分
    jgday2 = dtt.seconds  #获取间隔时间溢出天数的秒数部分

     

    calendar模块

    import calendar
    year = 2019
    year2=2020
    month = 3
    day = 2
    month_rili = calendar.month(year,month)  #返回指定年月的日历
    print(month_rili)
    year_rili = calendar.calendar(year) #返回指定年份的日历
    # print(year_rili)
    res = calendar.isleap(year) #判断指定年份是否为闰年
    # print(res)
    calendar.leapdays(year,year2) #返回[year到year2)之间闰年的个数

    calendar.monthrange(year,month) #返回某年某月的第一天的星期码和当月总天数

    seq=calendar.monthcalendar(year,month)
    # 返回指定月份的以每一周为元素的序列,若不是本月日期,则用0代替
    # print(seq) #二维列表
    wk=calendar.weekday(year,month,day) #返回指定日期的星期码(0:周一---6:周日)
    # print(wk)
    set=calendar.firstweekday() #返回当前每周起始日期的设置
    # print(set) #周一的码值为0,周日为6

     

    作者: Deaseyy

    出处: http://www.cnblogs.com/Deaseyy/

    新手一枚,请大佬们多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    java集合类散列表
    记北京挤地铁
    是你的努力,吗?
    letswave-脑电数据处理流程总记
    赵丽颖结婚了,分析下网友评论
    自动线性回归
    ggplot2+treemapify了解一下?
    样本方差的性质及其应用
    5 域名
    4 HTTP的“四层”和“七层”
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10859733.html
Copyright © 2020-2023  润新知