zoukankan      html  css  js  c++  java
  • 神奇语言 python 模块一

    在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。

    为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

    自定义模块:

    为什么要使用模块?

    1、从文件级别组织程序,更方便管理
    随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用

    2、拿来主义,提升开发效率
    同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用,这种拿来主义,可以极大地提升我们的开发效率,避免重复造轮子。

    ps:
    如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python meet.py方式去执行,此时meet.py被称为脚本script。

    1 import 翻译过来是一个导入的意思

    代码示列
    import meet
    import meet
    import meet
    import meet
    import meet
    
    执行结果: 只打印一次
    from the meet.py
    import :
    (1)模块名 把这个模块下所有东西全部导入
    (2)多个模块名 不建意写在一行
    (3) 模块名 as 起个小名
    importtttt.py as f 
    f.read1()

    (4)模块名多次导入的时候 实际只导入一次
    import os,sys,json   这样写可以但是不推荐
    推荐写法
    
    import os
    import sys
    import json
    (5)导入过来的功能都需要使用模块点的方法去执行
    2 from:翻译
    from 模块名 import 指定导入内容
    from 模块名 import 多个功能
    form 导入多个模块的时候要一行一行的导入
    from 模块 import* 不建议使用
    from 模块 import 功能1as 小名功能2 as 起个小名
     from导入的时候,一行导入多个内容
    
    from meet import read1,read2,name

    3 from import 与 import对比
    from .....import...
    好处 :使用起来方便
    坏处:容易与当前文件中执行的名字起冲突

    4 time模块
    time : 翻译过来就是时间的意思
    常用访法
    1.time.sleep(secs) 推迟指定时间运行 单位为秒
    time.time 获取当前时间戳

    (1)时间戳: 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型

    (2).格式化字符串时间: 格式化的时间字符串(Format String): ‘1999-12-06’

    python中时间日期格式化符号:
    %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 当前时区的名称
    %% %号本身

    (3).结构化时间:元组(struct_time) struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)

    img



    把时间戳转化成字符串时间:
    print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
    首先转换成结构时间 ,然后在转换成字符串时间
    print(time.strftime("%Y-%m-%d",time.localtime()))
    自己指定要转换的时间

    print(time.strftime("2019-1-15","%Y-%m-%d %H:%M"))
    # 第一个参数是字符串的时间,要输入格式
    t=time.strftime("2019-1-15","%Y-%m-%d %H:%M")
    print(time.mktime(t))
    mktime 把一个结构化转成一个时间戳
    结构化时间
    把时间戳转化成结构时间
    print(time.gmtime()) #英国伦敦 gmtime (时间戳不写使用默认使用当前的时间)
    print(time.localtime())# 本地计算机时间本地时间localtime(时间戳不写使用默认使用当前的时间)
    (5)datetime
    获取当前日期和时间
    from datetime import datetime
    
    print(datetime.now())
    
    '''
    结果:2018-12-04 21:07:48.734886
    '''
    datetime.now()获取当前时间
     print(datetime.fromtimestamp(time.time()))  # 将时间戳转换成时间类型
    
    print(datetime.strptime('2018-10-1 13:14','%Y-%m-%d %H:%M'))  # 字符串转换成一个时间类型
    
    datetime.now()
    s = datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')  # 把一个时间类型转换成字符串

    (6)

    timedelta 修改的时间
    print(datetime.now() + timedelta(hours=1))
    print(datetime.now() + timedelta(days=1))

    t = datetime.now() + timedelta(weeks=3)
    print(t - timedelta(days=2,hours=13))
     




  • 相关阅读:
    poj 2728 Desert King
    uva 439 Knight Moves
    hdu 1875 畅通工程再续
    scau实验题 8600 骑士周游问题(有障碍物)
    scau实验题 8596 Longest Ordered Subsequence
    poj 1679 The Unique MST
    uva 527 Oil Deposits
    poj 2533 Longest Ordered Subsequence
    .net 程序员 java 开发入门
    Collation conflict occur at operation on User define funtion & table's column
  • 原文地址:https://www.cnblogs.com/zhangguangpei/p/10272479.html
Copyright © 2011-2022 走看看