• Python入门系列(八)日期时间、数学、json


    日期时间

    Python中的日期本身不是数据类型,但我们可以导入一个名为datetime的模块,将日期作为日期对象使用。

    import datetime
    
    x = datetime.datetime.now()
    print(x)
    

    日期输出

    import datetime
    
    x = datetime.datetime.now()
    
    print(x.year)
    print(x.strftime("%A"))
    

    创建日期对象

    import datetime
    
    x = datetime.datetime(2020, 5, 17)
    
    print(x)
    

    strftime()方法

    import datetime
    
    x = datetime.datetime(2018, 6, 1)
    
    print(x.strftime("%B"))
    
    Directive Description Example
    %a Weekday, short version Wed
    %A Weekday, full version Wednesday
    %w Weekday as a number 0-6, 0 is Sunday 3
    %d Day of month 01-31 31
    %b Month name, short version Dec
    %B Month name, full version December
    %m Month as a number 01-12 12
    %y Year, short version, without century 18
    %Y Year, full version 2018
    %H Hour 00-23 17
    %I Hour 00-12 05
    %p AM/PM PM
    %M Minute 00-59 41
    %S Second 00-59 08
    %f Microsecond 000000-999999 548513
    %z UTC offset +0100
    %Z Timezone CST
    %j Day number of year 001-366 365
    %U Week number of year, Sunday as the first day of week, 00-53 52
    %W Week number of year, Monday as the first day of week, 00-53 52
    %c Local version of date and time Mon Dec 31 17:41:00 2018
    %C Century 20
    %x Local version of date 12/31/18
    %X Local version of time 17:41:00
    %% A % character %
    %G ISO 8601 year 2018
    %u ISO 8601 weekday (1-7) 1

    数学

    min()和max()函数可用于查找可迭代中的最低或最高值

    x = min(5, 10, 25)
    y = max(5, 10, 25)
    
    print(x)
    print(y)
    

    函数的作用是:返回指定数字的绝对(正)值

    x = abs(-7.25)
    
    print(x)
    

    pow(x,y)函数将x的值返回到y(xy)的幂。

    # Return the value of 4 to the power of 3 (same as 4 * 4 * 4)
    x = pow(4, 3)
    
    print(x)
    

    数学模块

    import math
    
    x = math.sqrt(64)
    
    print(x)
    

    ceil()方法将一个数字向上舍入到其最接近的整数,然后进行数学运算。floor()方法将数字向下舍入到最接近的整数,并返回结果

    import math
    
    x = math.ceil(1.4)
    y = math.floor(1.4)
    
    print(x) # returns 2
    print(y) # returns 1
    

    pi常量,返回pi的值(3.14…)

    import math
    
    x = math.pi
    
    print(x)
    

    JSON

    从JSON转换为Python

    import json
    
    # some JSON:
    x =  '{ "name":"John", "age":30, "city":"New York"}'
    
    # parse x:
    y = json.loads(x)
    
    # the result is a Python dictionary:
    print(y["age"])
    

    从Python转换为JSON

    import json
    
    # a Python object (dict):
    x = {
      "name": "John",
      "age": 30,
      "city": "New York"
    }
    
    # convert into JSON:
    y = json.dumps(x)
    
    # the result is a JSON string:
    print(y)
    

    您可以将以下类型的Python对象转换为JSON字符串.

    当您从Python转换为JSON时,Python对象将转换成JSON(JavaScript)等价物

    Python JSON
    dict Object
    list Array
    tuple Array
    str String
    int Number
    float Number
    True true
    False false
    None null

    格式化结果

    使用缩进参数定义缩进的数量

    json.dumps(x, indent=4)
    

    您还可以定义分隔符,默认值为(“,”,“:”,这意味着使用逗号和空格分隔每个对象,使用冒号和空格分隔键和值

    json.dumps(x, indent=4, separators=(". ", " = "))
    

    json_dumps()方法有参数来对resu中的键进行排序

    json.dumps(x, indent=4, sort_keys=True)
    

    正则表达式

    Python有一个名为re的内置包,可用于处理正则表达式。

    import re
    

    正则表达式函数

    Function Description
    findall Returns a list containing all matches
    search Returns a Match object if there is a match anywhere in the string
    split Returns a list where the string has been split at each match
    sub Replaces one or many matches with a string

    元字符是具有特殊含义的字符

    Character Description Example
    [] A set of characters "[a-m]"
    \ Signals a special sequence (can also be used to escape special characters) "\d"
    . Any character (except newline character) "he..o"
    ^ Starts with "^hello"
    $ Ends with "planet$"
    * Zero or more occurrences "he.*o"
    + One or more occurrences "he.+o"
    ? Zero or one occurrences "he.?o"
    {} Exactly the specified number of occurrences "he.{2}o"
    | Either or "falls|stays"
    () Capture and group

    特殊序列

    Character Description Example
    \A Returns a match if the specified characters are at the beginning of the string "\AThe"
    \b Returns a match where the specified characters are at the beginning or at the end of a word (the "r" in the beginning is making sure that the string is being treated as a "raw string") r"\bain" r"ain\b"
    \B Returns a match where the specified characters are present, but NOT at the beginning (or at the end) of a word (the "r" in the beginning is making sure that the string is being treated as a "raw string") r"\Bain" r"ain\B"
    \d Returns a match where the string contains digits (numbers from 0-9) "\d"
    \D Returns a match where the string DOES NOT contain digits "\D"
    \s Returns a match where the string contains a white space character "\s"
    \S Returns a match where the string DOES NOT contain a white space character "\S"
    \w Returns a match where the string contains any word characters (characters from a to Z, digits from 0-9, and the underscore _ character) "\w"
    \W Returns a match where the string DOES NOT contain any word characters "\W"
    \Z Returns a match if the specified characters are at the end of the string "Spain\Z"

    集合是一对方括号[]内的一组字符,具有特殊含义

    Set Description
    [arn] Returns a match where one of the specified characters (a, r, or n) is present
    [a-n] Returns a match for any lower case character, alphabetically between a and n
    [^arn] Returns a match for any character EXCEPT a, r, and n
    [0123] Returns a match where any of the specified digits (0, 1, 2, or 3) are present
    [0-9] Returns a match for any digit between 0 and 9
    [0-5][0-9] Returns a match for any two-digit numbers from 00 and 59
    [a-zA-Z] Returns a match for any character alphabetically between a and z, lower case OR upper case
    [+] In sets, +, *, ., `

    findall()函数的作用是:返回一个包含所有匹配项的列表。

    import re
    
    txt = "The rain in Spain"
    x = re.findall("ai", txt)
    print(x)
    

    该列表按找到的顺序包含匹配项。
    如果未找到匹配项,则返回空列表

    import re
    
    txt = "The rain in Spain"
    x = re.findall("Portugal", txt)
    print(x)
    

    search()函数的作用是:在字符串中搜索匹配项,如果存在匹配项,则返回匹配对象。

    import re
    
    txt = "The rain in Spain"
    x = re.search("\s", txt)
    
    print("The first white-space character is located in position:", x.start())
    

    split()函数的作用是:返回一个列表,其中字符串在每次匹配时被拆分

    import re
    
    txt = "The rain in Spain"
    x = re.split("\s", txt)
    print(x)
    

    可以通过指定maxsplit参数来控制出现次数

    import re
    
    txt = "The rain in Spain"
    x = re.split("\s", txt, 1)
    print(x)
    

    sub()函数的作用是:用您选择的文本替换匹配项

    import re
    
    txt = "The rain in Spain"
    x = re.sub("\s", "9", txt)
    print(x) # The9rain9in9Spain
    

    您可以通过指定count参数来控制替换的数量

    import re
    
    txt = "The rain in Spain"
    x = re.sub("\s", "9", txt, 2)
    print(x)
    

    匹配对象是包含有关搜索和结果的信息的对象。

    注意:如果没有匹配,将返回值None,而不是match对象。

    .span()返回包含匹配的开始位置和结束位置的元组。

    import re
    
    txt = "The rain in Spain"
    x = re.search(r"\bS\w+", txt)
    print(x.span()) # (12, 17)
    

    .string 返回传递到函数中的字符串

    import re
    
    txt = "The rain in Spain"
    x = re.search(r"\bS\w+", txt)
    print(x.string) # The rain in Spain
    

    .group() 返回字符串中存在匹配项的部分

    import re
    
    txt = "The rain in Spain"
    x = re.search(r"\bS\w+", txt)
    print(x.group()) # Spain
    

    您的关注,是我的无限动力!

    公众号 @生活处处有BUG

  • 相关阅读:
    华为OD机试真题-整数对最小和-2023年OD统一考试(C卷)-- Python3-开源
    【2023米哈游-2】数组相关
    [ 红队知识库 ] 常见防火墙(WAF)拦截页面
    用小程序组装App,小程序容器技术好比基建
    使用单个mybatis框架进行mysql数据库的连接和操作?
    扩散模型——下一个图像生成热点,快上车!!!
    定时获取每天早盘数据并自动拼接整理存
    Python-Python高阶技巧:闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归
    DIV布局个人介绍网页模板代码 家乡海阳个人简介网页制作 简单个人静态HTML网页设计作品 DW个人网站制作成品 web网页制作与实现
    Python 潮流周刊#21:如何提升及测量 Python 代码的性能?
  • 原文地址:https://www.cnblogs.com/bugs-in-life/p/16651086.html