当前位置: 首页 > news >正文

中文网站的seo怎么做如何搭建一个简单的网站

中文网站的seo怎么做,如何搭建一个简单的网站,哪个网站可以学做包包,怎么制作网站链接一、前言在日常脚本、Web、数据乃至运维开发中,json、datetime、random 是最常被 import 的三大标准库。它们看似简单,却隐藏着大量“坑”与“甜点”。本文用 20 段可直接运行的代码,带你从“能用”到“用好”。二、json:结构化数…

一、前言

在日常脚本、Web、数据乃至运维开发中,json、datetime、random 是最常被 import 的三大标准库。它们看似简单,却隐藏着大量“坑”与“甜点”。本文用 20+ 段可直接运行的代码,带你从“能用”到“用好”。


二、json:结构化数据的高速公路

2.1 最常用 4 个 API

import jsondata = {"name": "Ada", "ts": 1650996631, "vip": True}# 序列化
s = json.dumps(data, ensure_ascii=False, indent=2)  # 中文不乱码,缩进 2
print(s)# 反序列化
obj = json.loads(s)
print(obj["name"])# 直接落盘
with open("user.json", "w", encoding="utf-8") as f:json.dump(data, f, ensure_ascii=False, indent=2)# 从文件读回
with open("user.json") as f:obj2 = json.load(f)

2.2 自定义序列化:让 datetime、Decimal 也听话

from datetime import datetime
from decimal import Decimalclass MyEncoder(json.JSONEncoder):def default(self, o):if isinstance(o, datetime):return o.isoformat(sep=" ", timespec="seconds")if isinstance(o, Decimal):return float(o)return super().default(o)now = datetime.now()
money = Decimal("99.90")
record = {"at": now, "amount": money}print(json.dumps(record, cls=MyEncoder))
# {"at": "2025-07-12 21:30:00", "amount": 99.9}

 2.3 高性能场景:orjson 的极速体验

pip install orjson
import orjson, datetime, decimalorjson.dumps({"at": datetime.datetime.now()},option=orjson.OPT_NAIVE_UTC | orjson.OPT_SERIALIZE_NUMPY
)

单核序列化速度是标准库 4-7 倍,反序列化 2-3 倍;内存零拷贝,适合日志、RPC。

 三、datetime:时间处理的瑞士军刀

3.1 核心对象速记

  • date:只有年月日,常用 date.today() 获取今天。

  • time:只有时分秒微秒,常用 time.isoformat() 转成字符串。

  • datetime:既有日期又有时间,datetime.now() 拿当前时间,timestamp() 转时间戳。

  • timedelta:表示时间差,可用 days=seconds= 构造,再 total_seconds() 取总秒数。

  • timezone:时区对象,timezone.utc 是 UTC 固定实例。

  • tzinfo:抽象基类,第三方库如 pytz 用它来扩展时区信息。

 3.2 本地时间与 UTC 互转

from datetime import datetime, timezone, timedelta# 本地 -> UTC
local = datetime.now()  # naive
utc_time = local.astimezone(timezone.utc)
print(utc_time)# UTC -> 东八区
cn = utc_time.astimezone(timezone(timedelta(hours=8)))
print(cn.strftime("%Y-%m-%d %H:%M:%S %Z"))

3.3 解析字符串:strptime vs dateutil

# 标准库
dt = datetime.strptime("2025-07-12 21:30:00", "%Y-%m-%d %H:%M:%S")# 更智能(pip install python-dateutil)
from dateutil.parser import parse
dt2 = parse("2025-07-12 21:30")  # 自动推断格式

 3.4 时间运算与区间

from datetime import timedeltadeadline = dt + timedelta(days=3, hours=-1)
diff = deadline - datetime.now()
print(f"距离 DDL 还剩 {diff.total_seconds()/3600:.1f} 小时")

 3.5 第三方神器:arrow / pendulum

import arrow
arrow.now().shift(days=-1).format("YYYY-MM-DD HH:mm:ss ZZ")

 四、random:随机数的正确姿势

 4.1 随机值速查表

import randomrandom.random()        # 0.0~1.0 浮点
random.randint(1, 10)  # 1~10 含端点
random.choice("ABCD")  # 单元素
random.choices("ABC", k=3, weights=[1,1,2])  # 带权重
random.sample(range(100), 5)  # 不重复抽样

 4.2 设置种子:复现实验

random.seed(42)
print([random.randint(0, 9) for _ in range(5)])  # 每次运行结果一致

 4.3 生成安全随机数(密码、token)

import secrets, stringalphabet = string.ascii_letters + string.digits
pwd = ''.join(secrets.choice(alphabet) for _ in range(16))
print(pwd)

 secrets 模块基于系统熵源,适合生成密码、重置令牌。

 4.4 随机打乱 & 概率分布

deck = list(range(52))
random.shuffle(deck)# 高斯分布
random.gauss(mu=0, sigma=1)

五、三大模块协作实战:一个抽奖系统

需求:

  1. 从 user.json 读取用户列表(含注册时间)。

  2. 过滤 30 天内注册的新用户。

  3. 随机抽出 3 名幸运用户,发奖券。

  4. 把中奖记录保存为 JSON,带上 UTC 时间戳。

import json, random, datetime as dt
from dateutil import parser as dtparse# 1. 读取用户
with open("user.json", encoding="utf-8") as f:users = json.load(f)# 2. 过滤 30 天内注册
cutoff = dt.datetime.now(dt.timezone.utc) - dt.timedelta(days=30)
new_users = [u for u in users if dtparse.parse(u["reg_time"]) > cutoff]# 3. 随机抽奖
lucky = random.sample(new_users, k=min(3, len(new_users)))# 4. 保存结果
result = {"draw_at": dt.datetime.now(dt.timezone.utc).isoformat(),"winners": lucky
}with open("lottery_result.json", "w", encoding="utf-8") as f:json.dump(result, f, ensure_ascii=False, indent=2)

六、性能 & 工程化 Tips

如果一次性要处理上百兆的 JSON,用 ijson 流式解析,Web 场景直接上 orjson
存时间时永远存 UTC,展示层再做本地化,避免 naive 对象带来的时区灾难。
多进程或协程里不要共享同一个 random.Random() 实例,否则会出现重复随机数;可以给每个进程独立 seed,或改用 NumPy 的 Generator
写单元测试时,用 freezegun 把当前时间冻结到指定时刻,再用 faker 生成大量假数据,既稳定又高效。

七、结语

掌握 json、datetime、random 的“常规 API + 高阶技巧 + 周边生态”,就能覆盖 80% 的脚本需求。把它们组合起来,你可以轻松写出日志收集器、配置中心、抽奖活动、压测脚本……
希望本文能成为你的“小抄”,也欢迎留言分享实战案例!

http://www.dtcms.com/a/566788.html

相关文章:

  • 品牌网站怎么建立做采购 通常在什么网站看
  • wordpress 5编辑器使用教程南宁seo外包要求
  • 潍坊建设局官方网站建众智业公司简介
  • 阿里云网站备份建设银行国管公积金管理中心网站
  • 贵阳网站制作费用普洱做网站的报价
  • Coze-AI智能体开发平台2-Coze资源
  • 代码随想录 Q70.组合总和 Ⅲ
  • 网站设计常用软件网站开发前期方案
  • 【IC】NoC设计入门 -- NoC 核心理论与架构
  • 黄冈市建设局官方网站全面加强基层基础建设
  • 企业网站seo方案网站改版后百度不收录
  • 自助建站平台iis 没有右键网站属性
  • 阿里云域名备案网站建设方案书上海未成年人思想道德建设网站
  • 站长工具一区拍卖网站模版
  • 县城网站怎样做经验中国114建材网
  • 婚介所网站开发费用电脑网页游戏平台
  • 优秀网站设计案例分析室内设计专用软件
  • html网站的设计做网站项目实例
  • 设计网站建设公司厦门网站建设厦门
  • IIC 通讯详解——以 OSI 模型分析 物理层、数据链路层和应用层
  • 如何在百度云上建设网站thinkphp集成wordpress
  • 济南正规的网站制作wordpress文章省略
  • 链表类力扣刷题总结
  • 网站建设工作室怎么开茂名网站开发公司
  • 衡阳建设学校官方网站广东省住房和城乡建设厅证件查询
  • 厦门做网站seo的网站应该如何进行优化
  • 白山商城网站建设wordpress默认原始图片
  • 做质量计量的网站有哪些博乐建设工程信息网站
  • 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
  • 东莞网站建设推广方案网站主题设计特色