前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python入门系列(八)日期时间、数学、json

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

作者头像
用户10002156
发布2022-09-05 10:02:25
5440
发布2022-09-05 10:02:25
举报
文章被收录于专栏:生活处处有BUG

日期时间

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

代码语言:javascript
复制
import datetime

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

日期输出

代码语言:javascript
复制
import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

创建日期对象

代码语言:javascript
复制
import datetime

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

print(x)

strftime()方法

代码语言:javascript
复制
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()函数可用于查找可迭代中的最低或最高值

代码语言:javascript
复制
x = min(5, 10, 25)
y = max(5, 10, 25)

print(x)
print(y)

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

代码语言:javascript
复制
x = abs(-7.25)

print(x)

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

代码语言:javascript
复制
# Return the value of 4 to the power of 3 (same as 4 * 4 * 4)
x = pow(4, 3)

print(x)

数学模块

代码语言:javascript
复制
import math

x = math.sqrt(64)

print(x)

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

代码语言:javascript
复制
import math

x = math.ceil(1.4)
y = math.floor(1.4)

print(x) # returns 2
print(y) # returns 1

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

代码语言:javascript
复制
import math

x = math.pi

print(x)

JSON

从JSON转换为Python

代码语言:javascript
复制
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

代码语言:javascript
复制
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

格式化结果

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

代码语言:javascript
复制
json.dumps(x, indent=4)

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

代码语言:javascript
复制
json.dumps(x, indent=4, separators=(". ", " = "))

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

代码语言:javascript
复制
json.dumps(x, indent=4, sort_keys=True)

正则表达式

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

代码语言:javascript
复制
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"

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

代码语言:javascript
复制
Returns a match where one of the specified characters (a
, r
, or n
) is present

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
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()函数的作用是:返回一个列表,其中字符串在每次匹配时被拆分

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

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

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

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

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

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

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

代码语言:javascript
复制
import re

txt = "The rain in Spain"
x = re.search(r"\bS\w+", txt)
print(x.group()) # Spain
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生活处处有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 日期时间
  • 数学
  • JSON
  • 正则表达式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档