• python进阶(2)python最常用的模块


    math

    • math.ceil(a): 用来返回≥a的最小整数
    • math.floor(a):用来返回≤a的最大整数
       

    round(a [,b])

    • 如果没有参数b,只有a,round()作用是四舍五入
    • 如果有参数b,round()作用是对a保留b位小数
    print(round(100.1234))  # 四舍五入为100
    print(round(100.1234, 2))  # 对100.1234保留2位小数,结果100.12
    >>> 100
    >>> 100.12
    

    random

    • random.random():返回在范围大于或等于0.0,且小于1.0内的随机浮点数
    • random.randrange(stop): 返回在范围大于或等于0,且小于stop内,步长为1的随机整数
    • random.randrange(start, stop[, step]): 返回在范围大于或等于start,且小于stop内,步长为step的随机整数
    • random.randint(a, b): 返回在范围大于或等于a,且小于或等于b之间的随机整数
       

    datatime

    Python官方提供的日期和时间模块主要有time和datetime模块。time偏重于底层平台,模块中大多数函数会调用本地平台上的C链接库,因此有些函数运行的结果,在不同的平台上会有所不同。datetime模块对time模块进行了封装,提供了高级API
    datetime模块的核心类是datetime、date、time类
     

    datetime类

    一个datetime对象可以表示日期和时间等信息,创建datetime对象可以使用如下构造方法:

    datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
    

    其中year、month、day是不可以省略的;tzinfo是时区参数,默认值是None,表示不指定时区;除了tzinfo外,其他的参数全部为合理范围的整数,具体取值范围就跟生活中的时间一样,比如1月没有32号,这里说明一下microsecond的取值范围为:0≤microsecond<1000000
    datetime类提供了一下方法

    • datetime.today(): 返回当前本地日期和时间
    • datetime.now(tz=None): 返回本地当前的日期和时间,如果参数tz=None或未指定,则等同于today()
    • datetime.utcnow(): 返回当前UTC日期和时间
    • datetime.fromtimestamp(timestamp, tz=None): 返回与UNIX时间戳对应的本地日期和时间
    • Datetime.utcfromtimestamp(timestamp): 返回与UNIX时间戳对应的UTC日期和时间
    import time
    from datetime import datetime
    
    # timestamp转datetmine
    timestamp = time.time()
    print(timestamp)
    dt = datetime.fromtimestamp(timestamp)
    print(dt)dt = datetime.now()
    >>> 1609041543.103592
    >>> 2020-12-27 11:59:03.103592
    
    # datetime转timestamp
    dt = datetime.now()
    print(dt)
    timestamp = datetime.timestamp(dt)
    print(timestamp)
    >>> 2020-12-27 11:57:22.330620
    >>> 1609041442.33062
    

    注意:在Python语言中时间戳单位是"秒",所以它会有小数部分。而其他语言如Java单位是"毫秒",当跨平台计算时间需要注意这个差别
     

    实战例子

    # 需求:将python生成的时间戳转换为java的格式来匹配你们公司的java后端
    timestamp = str(int(round(time.time(), 3) * 1000))  # 一行代码轻松解决
    ”“”
    解析过程:
    1.执行time.time()获取当前时间戳
    2.执行round(time.time(), 3)python默认是保留6位小数,这里保留3位小数,因为python时间戳单位是秒,java是毫秒,
    3.将第2步得到的结果int(),确保是int类型,再乘以1000,将时间戳单位转换为毫秒
    4.最后用str(),确保timestamp的类型是字符串类型
    “”“
    

    date类

    • date.today(): 返回当前本地日期
    • date.fromtimestamp(timestamp): 返回与UNIX时间戳对应的本地日期
       

    time类

    datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)
    

    日期时间格式化

    • str转换为datetime
      很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:
    from datetime import datetime
    t = datetime.strptime('2018-4-1 00:00','%Y-%m-%d %H:%M')
    print(t)
    >>> 2018-04-01 00:00:00
    
    • datetime转换为str
      如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:
    from datetime import datetime
    now = datetime.now()
    print(now.strftime('%a, %b %d %H:%M'))
    >>> Mon, May 05 16:28
    
  • 相关阅读:
    驱动02.按键
    驱动01.LED
    更换编译器(转载)
    2.使用线程方式获取标准输入
    1.使用非阻塞方式获取标准输入
    编写一个通用的Makefile文件
    layui 中 表单 会自动刷新的问题
    layui 中弹窗的时候关闭当前页面并刷新
    ssm框架中解决 sqlserver数据库的分页问题(用的是mybatis插件)
    关于 @SuppressWarnings 的注解
  • 原文地址:https://www.cnblogs.com/jiakecong/p/14442303.html
Copyright © 2020-2023  润新知