• day10-20180422笔记


    笔记:Python复习及模块(time、datetime)

     一、复习

    1、Python的数据类型

     .strip()  字符串过滤空格,有事没事,你用一下,只能过滤前和尾的空格。

    print(" a1 b 2c3d4".strip())

    .replace(old, new)  方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

    str = "www.baidu.cn"
    print("旧地址:", str)
    print("新地址:", str.replace("baidu.cn","baidu.com"))

    .find(sub)   字符串查找sub字符串的内容,如果找到,返回自字符串的下标,否则返回-1

    str = "www.baidu.cn"
    
    print(str.find('w',1))
    print(str.find('w',3))

    .format()    字符串格式化

    print("hello'{0} {1}".format('s','yangyuanqiang'))

    .split()      切割字符串

    print("a1b1c1d2".split("1"))

    .join()      列表追加

    a = ["a", "b", "c", "d", "e"]
    print("-------".join(a))

    .startswith()    用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False

    print("asdfasjdfas".startswith("asdfas"))

    index 下标

    count 统计

    tuple 强制类型

    a =(1, 2, 3, 1, 5, 6)
    print(a.index(5))
    print(a.count(1))

    list  列表是由一序列特定顺序排列的元素组成的。可以把字符串,数字,字典等都可以任何东西加入到列表中日中的元素之间没有任何关系。列表也是自带下标的,默认也还是从0开始。

    # 列表常用的方法
    # append() 屁股后追加
    # pop() 最后删除,返回值是删除的那个元素
    # index(x) 返回元素的下标
    # remove(value) l.remove("hello"),删除一个指定值的元素
    # sort(self,cmp=None,key=None,reverse=False)  l.sort 排序
    # reverse() l.reverse()  反序,无返回值
    # insert()   l.insert(3,"ling"),插入指定的位置一个元素

    2、dict常用的方法:

    get(k)  返回key所对应的value

    setdefalut(k , v)  如果ke有不存在,设置一个默认值v,并返回v,如果k存在,返回k反对应的value

    keys()  获得所有keys

    valus()  获得所有valuse

    iteritems()  for i,j in d.iteritems():print(i,j)

    注意:python2里有才iteritems()类,而在python3里是items

    update()  m.update(n)  m,n都是dict

    pop(k)  删除k:v对应的元素

    zip(l1 , l2)  高阶函数,dict(zip(l1,l2) 把l1和l2转换成

    mm = dict(a=1,b=10,c=3,d=9)

    print sorted(mm.iteritems(), key = lambda d:d[1], reverse = True)

    二、Python的模块

    ython 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

    模块让你能够有逻辑地组织你的 Python 代码段。

    把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

    模块能定义函数,类和变量,模块里也能包含可执行的代码。

    例子

    下例是个简单的模块 support.py:

    def print_func( par ):
       print "Hello : ", par
       return

    import 语句

    模块的引入

    模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

    import module1[, module2[,... moduleN]

    比如要引用模块 math,就可以在文件最开始的地方用 import math 来引入。在调用 math 模块中的函数时,必须这样引用:

    模块名.函数名

    当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

    搜索路径是一个解释器会先进行搜索的所有目录的列表。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # 导入模块
    import time

    一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。

    from…import 语句

    Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:

    from modname import name1[, name2[, ... nameN]]

    例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:

    from fib import fibonacci

    这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表

    from…import* 语句

    把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

    from modname import *

    这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。

    例如我们想一次性引入 math 模块中所有的东西,语句如下:

    from math import *

    time模块
    time模块是包含各方面对时间操作的函数. 尽管这些常常有效但不是所有方法在任意平台中有效. time用struct_time表示时间

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2018/4/23 21:24
    # @Author  : yangyuanqiang
    # @File    : demon1.py
    
    
    
    
    import time
    print(time.localtime())
    print(time.localtime().tm_year)

    以上实例输出的结果

    time.struct_time(tm_year=2018, tm_mon=4, tm_mday=23, tm_hour=21, tm_min=43, tm_sec=44, tm_wday=0, tm_yday=113, tm_isdst=0)
    2018

    函数

    • time.time(): 返回一个时间戳
    • time.asctime([t]): 转换gmtime()和localtime()返回的元组或struct_time为string.
    • time.clock(): 在第一次调用的时候, 返回程序运行的时间. 第二次之后返回与之前的间隔.
    • time.ctime([secs]): 将时间戳转换为时间字符串, 如没有提供则返回当前的时间字符串,并与asctime(localtime())一样.
    • time.gmtime([secs]): 将时间戳转化为, UTC 时区的struct_time.
    • time.localtime([secs]): 类似gmtime()但会把他转换成本地时区.
    • time.mktime(t): struct_time 转化为时间戳.
    • time.sleep(secs): 线程推迟指定时间, 以秒为单位.
    • time.strftime(format[,t]): 根据参数转换一个sturc_time或元组为字符串.
    • time.strptime(string[, format]): 与strftime相反,返回一个struct_time.
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2018/4/23 21:24
    # @Author  : yangyuanqiang
    # @File    : demon1.py
    
    
    
    
    import time
    # print(time.localtime())
    # print(time.localtime().tm_year)
    
    print(time.asctime(time.gmtime()))
    
    print(time.clock())
    print(time.sleep(1))
    print(time.clock())
    
    print(time.ctime())
    
    print(time.strftime('%Y-%m-%d', time.localtime()))
    print(time.mktime(time.localtime()))

    以上实例输出的结果

    Mon Apr 23 13:46:47 2018
    0.063216
    None
    0.063362      #因计算机而异
    Mon Apr 23 21:46:48 2018
    2018-04-23
    1524491208.0

    time模块中常用的格式化字符串

    • %y 两位数的年份 00 ~ 99.
    • %Y 四位数的年份 0000 ~ 9999
    • %m 月份 01 ~ 12.
    • %d day 01 ~ 31.
    • %H 时 00 ~ 23.
    • %I 时 01 ~ 12.
    • %M 分 00 ~ 59.
    • %S 秒 00 ~ 61.

    datetime模块

    datetime模块中包含如下类:

    类名功能说明
    date 日期对象,常用的属性有year, month, day
    time 时间对象
    datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
    datetime_CAPI 日期时间对象C语言接口
    timedelta 时间间隔,即两个时间点之间的长度
    tzinfo 时区信息对象

    datetime模块中包含的常量

    常量功能说明用法返回值
    MAXYEAR 返回能表示的最大年份 datetime.MAXYEAR 9999
    MINYEAR 返回能表示的最小年份 datetime.MINYEAR 1

    date类

    date类对象构成

    date对象由year年份、month月份及day日期三部分构成:

    date(year,month,day)

    通过yearmonthday三个数据描述符可以进行访问:

    >>> a = datetime.date.today()
    >>> a
    datetime.date(2018, 4, 23)
    >>> a.year
    2018
    >>> a.month
    4
    >>> a.day
    23

    当然,你也可以用__getattribute__(...)方法获得上述值:

    >>> a.__getattribute__('year')
    2018
    >>> a.__getattribute__('month')
    4
    >>> a.__getattribute__('day')
    23

    date对象中包含的方法与属性

    1、用于日期比较大小的方法
    方法名方法说明用法
    __eq__(…) 等于(x==y) x.__eq__(y)
    __ge__(…) 大于等于(x>=y) x.__ge__(y)
    __gt__(…) 大于(x>y) x.__gt__(y)
    __le__(…) 小于等于(x<=y) x.__le__(y)
    __lt__(…) 小于(x x.__lt__(y)
    __ne__(…) 不等于(x!=y) x.__ne__(y)

    以上方法的返回值为TrueFalse 

    2、ISO标准化日期

    如果想要让所使用的日期符合ISO标准,那么使用如下三个方法: 
    1).isocalendar(...)*:返回一个包含三个值的元组,三个值依次为:year年份,week number周数,weekday星期数(周一为1…周日为7): 
    示例如下

    >>> a = datetime.date(2018,4,23)
    >>> a.isocalendar()
    (2018, 17, 1)
    >>> a.isocalendar()[0]
    2018
    >>> a.isocalendar()[1]
    17
    >>> a.isocalendar()[2]
    1

    2). isoformat(...): 返回符合ISO 8601标准 (YYYY-MM-DD) 的日期字符串; 
    示例如下

    >>> a = datetime.date(2017,3,22)
    >>> a.isoformat()
    '2017-03-22'

    3). isoweekday(...): 返回符合ISO标准的指定日期所在的星期数(周一为1…周日为7) 
    示例如下:

    >>> a = datetime.date(2017,3,22)
    >>> a.isoweekday()
    3

    4).与isoweekday(...)相似的还有一个weekday(...)方法,只不过是weekday(...)方法返回的周一为 0, 周日为 6 
    示例如下:

    >>> a = datetime.date(2017,3,22)
    >>> a.weekday()
    2

    日期的字符串输出

    1、如果你想将日期对象转化为字符串对象的话,可以用到__format__(...)方法以指定格式进行日期输出:

    >>> a = datetime.date(2017,3,22)
    >>> a.__format__('%Y-%m-%d')
    '2017-03-22'
    >>> a.__format__('%Y/%m/%d')
    '2017/03/22'
    >>> a.__format__('%y/%m/%d')
    '17/03/22'
    >>> a.__format__('%D')
    '03/22/17'

    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 当前时区的名称
    %% %号本身
  • 相关阅读:
    node js的模块
    前端学习ES6
    产品相关
    linux命令
    【jmeter】对于返回结果中文显示?问题
    MAC 本用pip3命令安装openpyxl插件(或者其他插件)后,在Pycharm依然找不到
    pip3版本已经是最新,安装openxl失败,Could not find a version that satisfies the requirement openxl
    MAC本安装python3.8后,pip3命令无法更新问题
    mac安装python环境
    nodejs安装步骤
  • 原文地址:https://www.cnblogs.com/ivan-yang/p/8921142.html
Copyright © 2020-2023  润新知