Python3 基础语法
编码
默认情况下,Python3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
当然你也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*- 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语。
标识符
- 第一个字符必须以字母(a-z, A-Z)或下划线 _ 。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感,count 和 Count 是不同的标识符。
- 标识符对长度无硬性限制,但建议保持简洁(一般不超过 20 个字符)。
- 禁止使用保留关键字,如 if、for、class 等不能作为标识符。
Python 3 允许使用 Unicode 字符作为标识符,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
python保留字
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] >>>
类别 | 关键字 | 说明 |
---|---|---|
逻辑值 | True | 布尔真值 |
False | 布尔假值 | |
None | 表示空值或无值 | |
逻辑运算 | and | 逻辑与运算 |
or | 逻辑或运算 | |
not | 逻辑非运算 | |
条件控制 | if | 条件判断语句 |
elif | 否则如果(else if 的缩写) | |
else | 否则分支 | |
循环控制 | for | 迭代循环 |
while | 条件循环 | |
break | 跳出循环 | |
continue | 跳过当前循环的剩余部分,进入下一次迭代 | |
异常处理 | try | 尝试执行代码块 |
except | 捕获异常 | |
finally | 无论是否发生异常都会执行的代码块 | |
raise | 抛出异常 | |
函数定义 | def | 定义函数 |
return | 从函数返回值 | |
lambda | 创建匿名函数 | |
类与对象 | class | 定义类 |
del | 删除对象引用 | |
模块导入 | import | 导入模块 |
from | 从模块导入特定部分 | |
as | 为导入的模块或对象创建别名 | |
作用域 | global | 声明全局变量 |
nonlocal | 声明非局部变量(用于嵌套函数) | |
异步编程 | async | 声明异步函数 |
await | 等待异步操作完成 | |
其他 | assert | 断言,用于测试条件是否为真 |
in | 检查成员关系 | |
is | 检查对象身份(是否是同一个对象) | |
pass | 空语句,用于占位 | |
with | 上下文管理器,用于资源管理 | |
yield | 从生成器函数返回值 |
注释
Python中单行注释以 # 开头,实例如下:
实例(Python 3.0+)
#!/usr/bin/python3 # 第一个注释 print ("Hello, Python!") # 第二个注释
执行以上代码,输出结果为:
Hello, Python!
多行注释可以用多个 # 号,还有 ''' 和 """:
实例(Python 3.0+)
#!/usr/bin/python3 # 第一个注释 # 第二个注释 ''' 第三注释 第四注释 ''' """ 第五注释 第六注释 """ print ("Hello, Python!")
执行以上代码,输出结果为:
Hello, Python!
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
实例(Python 3.0+)
if True: print ("True") else: print ("False")
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
实例
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
以上程序由于缩进不一致,执行后会出现类似以下错误:
File "test.py", line 6print ("False") # 缩进不一致,会导致运行错误^ IndentationError: unindent does not match any outer indentation level
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:
total = item_one + \item_two + \item_three
实例
item_one = 1
item_two = 2
item_three = 3
total = item_one + \
item_two + \
item_three
print(total) # 输出为 6
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:
total = ['item_one', 'item_two', 'item_three','item_four', 'item_five']
数字(Number)类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
- int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
- bool (布尔), 如 True。
- float (浮点数), 如 1.23、3E-2
- complex (复数) - 复数由实部和虚部组成,形式为 a + bj,其中 a 是实部,b 是虚部,j 表示虚数单位。如 1 + 2j、 1.1 + 2.2j
字符串(String)
- Python 中单引号 ' 和双引号 " 使用完全相同。
- 使用三引号(''' 或 """)可以指定一个多行字符串。
- 转义符 \。
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行。
- 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python 中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串切片 str[start:end],其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引。
- 字符串的切片可以加上步长参数 step,语法格式如下:str[start:end:step]
word = '字符串' sentence = "这是一个句子。" paragraph = """这是一个段落, 可以由多行组成"""
实例(Python 3.0+)
#!/usr/bin/python3 str='123456789' print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第六个的字符(不包含) print(str[2:]) # 输出从第三个开始后的所有字符 print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2) print(str * 2) # 输出字符串两次 print(str + '你好') # 连接字符串 print('------------------------------') print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符 print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
这里的 r 指 raw,即 raw string,会自动将反斜杠转义,例如:
>>> print('\n') # 输出空行>>> print(r'\n') # 输出 \n \n >>>
以上实例输出结果:
123456789 12345678 1 345 3456789 24 123456789123456789 123456789你好 ------------------------------ hello runoob hello\nrunoob
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
等待用户输入
执行下面的程序在按回车键后就会等待用户输入:
实例(Python 3.0+)
#!/usr/bin/python3 input("\n\n按下 enter 键后退出。")
以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
同一行显示多条语句
Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割,以下是一个简单的实例:
实例(Python 3.0+)
#!/usr/bin/python3 import sys; x = 'runoob'; sys.stdout.write(x + '\n')
使用脚本执行以上代码,输出结果为:
runoob
使用交互式命令行执行,输出结果为:
>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n') runoob 7
此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符。
>>> import sys >>> sys.stdout.write(" hi ") # hi 前后各有 1 个空格hi 4
多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
如下实例:
if expression : suite elif expression : suite else : suite
print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
实例(Python 3.0+)
#!/usr/bin/python3 x="a" y="b" # 换行输出 print( x ) print( y ) print('---------') # 不换行输出 print( x, end=" " ) print( y, end=" " ) print()
以上实例执行结果为:
a b --------- a b
更多内容参考:Python2 与 Python3 print 不换行
import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
导入 sys 模块
import sys print('================Python import mode==========================') print ('命令行参数为:') for i in sys.argv: print (i) print ('\n python 路径为',sys.path)
导入 sys 模块的 argv,path 成员
from sys import argv,path # 导入特定的成员 print('================python from import===================================') print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
更多内容可以参考:Python import 和 from … import 的主要区别
命令行参数
很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit[ etc. ]
相关文章:
Python3 基础语法
编码 默认情况下,Python3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合…...
基于Lucene的多场景检索系统开发指南
基于Lucene的多场景检索系统开发指南 官网 https://lucene.apache.org/ 一、项目构建配置 (pom.xml) <dependencies><!-- Lucene核心库 --><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId&g…...
SDC命令详解:使用get_nets命令进行查询
相关阅读 SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 get_nets命令用于创建一个线网对象集合,关于设计对象和集合的更详细介绍,可以参考下面的博客。需要注意的是,在有些工具中还存…...
MATLAB长方体磁体3D磁力线生成
代码说明: 磁体参数设置:对磁体的尺寸、磁化强度以及真空磁导率进行定义。计算网格生成:构建一个 3D 网格,同时排除磁体内部的点。磁场计算:采用等效面磁荷法来计算每个网格点的磁场。可视化: 绘制磁体的框…...
东土科技NewPre系列智能控制器的创新之旅
物流行业,作为支撑现代供应链的核心环节,正在面临效率瓶颈、人工成本上升、设备协同难等多重挑战。如何实现从自动化向智能化的转型,成为行业亟须解决的关键问题。东土科技基于NewPre3102智能控制器打造的工业AI智能机器人控制系统࿰…...
2025年燃气从业人员考试题库及答案
一、单选题 83.城镇燃气输配管道严密性试验稳压的持续时间应为24h,每小时记录不应少于1次,当修正压力降小于_____Pa为合格。() A.100 B.133 C.150 D.200 答案:B 84.室外钢管敷设描述错误的是_____。(…...
小结: 接口类型和路由优先级
网络接口类型 1. Bridge-if(桥接接口) 作用:用于桥接网络,将多个接口或VLAN连接为一个广播域,实现二层数据转发。 常用指令: interface bridge-if <number> bridge <bridge-id> # 将接口加入…...
【XR空间传送】深入理解Unity中 XR Interaction Toolkit 的 MatchOrientation 用法与使用场景(空间传送、视角切换)
一、前言 在 Unity 进行 VR/AR 开发,尤其是在展示、环境体验、导览交互等场景中,“传送(Teleport)”是一项非常核心的操作。它不仅决定了玩家的位置,还直接影响玩家的站姿、视角与空间感知。 在 Unity 官方提供的 XR…...
PPT/WORD如何实现Shift键加鼠标滚轮实现左右滑动
方法:使用【AutoHotKey】软件 1. 什么是AutoHotKey? AutoHotKey (AHK),是一款类似于按键精灵的软件,用于自动化控制键盘和鼠标,提高工作效率。 官网下载:https://www.autohotkey.com/ 2. 需求背景 在编…...
C++函数模板基础
1 函数模板 1.1 基础介绍 函数模板是一种特殊的函数定义,它允许你创建通用的函数,这些函数可以处理多种不同的数据类型,而不需要为每种数据类型都编写一个单独的函数。 在 C++ 里,函数模板的格式包含模板声明与函数定义两部分,其基本格式如下: template <typename…...
Java实现使用EasyExcel按模板导出文件
需求:导出excel文件要求头部标题内容过于复杂,在代码层面不好实现,直接提供模板,只需要将数据写入即可。 一、代码实现示例 实现数据写入模板代码如下: public void export(HttpServletResponse response) throws E…...
【AI】OrinNX上安装RIVA-2.19.0,实现文本转语音
1、注册NGC账户 1)登录官网注册, https://ngc.nvidia.com/signin 2)生成key 3)拷贝生成的key到文本中,下面会使用 2、安装NGC工具 目前最新版本为3.64.2 1)下载 wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/ngc-apps/ngc_cli/vers…...
Ansible安装配置
一、前提 服务器操作系统均为centos7.9 主机ipmaster(Ansible管理端)172.25.192.2node1172.25.192.10node2172.25.192.3 更新/etc/hosts文件 二、安装 master节点: 1. 安装epel源 yum install -y epel-release 2. 安装Ansible yum install -y ansible A…...
认识Linux基本操作、命令
目录 一、了解一下用户目录、linux根目录 二、常见的linux命令 (1)目录切换 cd【与windows通用】 (2) 查看文件列 ls (3)打开文件权限-chmod ux *.sh (4)查看当前所在路径 pwd…...
Android学习总结之Bitmap篇
一、质量压缩(面试高频:原理与适用场景) 1. 核心原理(面试官必问) 质量压缩针对有损压缩格式(如 JPEG),通过丢弃图像中人类视觉不敏感的高频信息(如色彩过渡细节&#…...
MySQL--数据引擎详解
存储引擎 MySQL体系结构 连接层: 主要接收客户端的连接,然后完成一些链接的处理,以及认证授权的相关操作和安全方案,还要去检查是否超过最大连接数等等,比如在连接MySQL服务器时需要输入用户名,密码&#…...
高瓴资本张磊的顶级价值投资之道
高瓴资本张磊的顶级价值投资之道 一、核心理念:长期主义与动态价值创造 张磊的价值投资体系以“长期主义”为基石,结合中国产业升级特点,形成了独特的投资哲学: 时间维度重构 • 主张跨越经济周期,关注企业10年以上的价…...
JAVA使用Apache POI导出Word,支持向表格动态添加多行数据
JAVA使用Apache POI动态导出Word文档_java导出word文档-CSDN博客...
外部存储器接口:EMIF总线
作为嵌入式系统中的关键接口之一,EMIF(External Memory Interface,外部存储器接口) 是处理器与外部存储器或外设进行高速数据交换的核心总线。以下从工作原理、信号定义、配置方式到设计要点进行系统化解析: 一、EMIF的…...
四.割草机技术总结--4.基站发送给流动站的差分数据传输标准RTCM
四.割草机技术总结–4.基站发送给流动站的差分数据传输标准RTCM 文章目录 四.割草机技术总结--4.基站发送给流动站的差分数据传输标准RTCM4.0 RTCM差分标准4.1 **什么是RTCM?**4.1.1**>版本1**4.1.2**>版本2**4.1.3**>版本3**4.2**为什么RTK的固件升级很重要?**4.3参…...
openssl_error_string() 不要依赖错误信息作为逻辑判断
不应该将 OpenSSL 错误信息直接用于程序的逻辑控制,而是应该将其作为调试和记录的辅助手段。这是因为 OpenSSL 错误信息的格式和内容可能会因 OpenSSL 版本、操作系统环境等因素而发生变化,直接依赖这些信息可能会导致代码的不稳定和难以维护。 为什么不…...
AbortController 取消请求
AbortController是JavaScript中的一个全局类,主要用于中止各种异步操作,包括网络请求、事件监听器、可写流和数据库事务等。通过提供一个AbortSignal对象,AbortController允许开发者在需要时自由地终止这些操作,避免不必要的开…...
【论文阅读】PEEKABOO: Interactive Video Generation via Masked-Diffusion
PEEKABOO: Interactive Video Generation via Masked-Diffusion 原文摘要 研究背景与问题 现状:现代视频生成模型(如 Sora)已能生成高质量视频,但缺乏用户交互控制能力。 问题:交互控制是未来应用和创意表达的关键功能…...
Java 多线程基础:Thread 类详解
在 Java 中,多线程编程离不开 Thread 类。本文将介绍 Thread 的常用属性和方法,并结合实际使用场景进行讲解。 一、线程的创建与基本操作 Java 提供了两种主要方式来创建线程: 继承 Thread 类 class MyThread extends Thread {public void r…...
论文阅读:2024 arxiv FlipAttack: Jailbreak LLMs via Flipping
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 https://www.doubao.com/chat/4001481281518594 FlipAttack: Jailbreak LLMs via Flipping https://arxiv.org/pdf/2410.02832 速览 这篇论文主要介绍了一种针对大语言模…...
《数据结构之美--二叉树oj题练习》
引言: 上次我们学习了二叉树这一数据结构,这次我们就针对二叉树来做一些oj题来巩固一下 1. 单值二叉树 题目: 思路分析: 代码实现: 题目传送门: 力扣–965.单值二叉树 2. 相同的树 题目: 思路分析&am…...
大模型——使用coze搭建基于DeepSeek大模型的智能体实现智能客服问答
大模型——使用coze搭建基于DeepSeek大模型的智能体实现智能客服问答 本章实验完全依托于coze在线平台,不需要本地部署任何应用。 实验介绍 1.coze介绍 扣子(coze)是新一代 AI 应用开发平台。无论你是否有编程基础,都可以在扣子上快速搭建基于大模型的各类 AI 应用,并…...
React Navigation 使用指南
React Navigation 使用指南 React Navigation 介绍 React Navigation 是 React Native 中推荐的路由管理方案。 1. 开箱即用,快速上手(Easy to Use) 提供 内置导航器(Built-in Navigators),如栈导航&…...
双系统,bios默认设置启动ubuntu+ubuntu改启动grub设置
设置默认启动ubuntu 装windows后就默认启动windows了 按f6上移动 -------------底下不用看 设了没用 sudo update-grub...
Vue 中的过渡效果与响应式数据:transition、transitiongroup、reactive 和 ref 详解
在 Vue 开发过程中,为应用添加过渡效果和处理响应式数据是提升用户体验和实现动态交互的关键。 一、transition:元素的单元素过渡效果 transition是 Vue 提供的内置组件,专门用于为单个元素或组件添加过渡动画。它会在元素插入、更新或移除…...
Gitea windows服务注册,服务启动、停止、重启脚本
修改配置文件 查看COMPUTERNAME echo %COMPUTERNAME%进入配置文件D:\gitea\custom\conf\app.ini,将 Gitea 设置为以本地系统用户运行 如果结果是 USER-PC,那么 RUN_USER USER-PC$ RUN_USER COMPUTERNAME$SQLite3 PATH配置,更改为包含完整…...
SpringBoot、微服务与AI场景题深度解析
SpringBoot、微服务与AI场景题深度解析 在互联网大厂Java求职者的面试中,经常会被问到关于SpringBoot、微服务以及AI技术的应用场景和解决方案。本文通过一个故事场景来展示这些问题的实际解决方案。 第一轮提问 面试官:马架构,欢迎来到我…...
实验六 文件操作实验
一、实验目的 1、了解文件系统功能及实现原理。 2、掌握LINUX下文件操作的有关系统调用。 3、熟悉main函数带参数运行的有关操作过程。 4、通过模拟程序实现简单的一级文件系统或二级文件系统。 二、实验内容 1、编程显示文件自身。(1分) #includ…...
scratch代码——游戏开发 【弹簧与反弹】
添加角色——绘制 1,level 平台 2, ball 球 3,terk 坦克 开始编程——ball 函数 其余代码 开始编程——terk 代码 完结撒花 ——————————————————THE—END————————————————————...
C++入门(缺省参数/函数/引用)
C入门 一.前言二.缺省参数什么是缺省参数? 三.函数重载一.传参类型不同2. 传参个数不同3.传参顺序不同注意点 四.引用1.引⽤的概念和定义2.引⽤的特性3.引⽤的使⽤4. const引⽤5.指针和引⽤的关系 五.inline(内联)一、什么是inline函数&#…...
ACTF2025 - WEB Excellent-Site
#flask框架 #互联网 #利用CRLF进行头控制 #通过CRLF注入伪造 #利用sql注入进行回显控制 #Jinja2模板 #注意sql语句的相关转义可以控制查询结果 [[IMAP协议简介]] [[SMTP协议简介]] app.py import smtplib import imaplib import email import sqlite3 from urllib.pa…...
通过 Node.js 搭配 Nodemailer 实现邮箱验证码发送
目录 一、整体思路 二、环境准备 三、代码详细步骤 1. 引入模块并初始化 2. 配置 Nodemailer 邮件服务 3. 定义发送验证码接口 4. 定义校验验证码接口 5. 启动服务器 四、补充说明 一、整体思路 接收邮箱地址请求 → 用户在前端填写邮箱,发送到后端接口&…...
Java后端程序员学习前端之html
什么是html Hyper Text Markup Language(超文本标记语言) 超文本包括:文字、图片、音频、视频、动画等 组织:W3C World Wide Web Consortium(万维网联盟)。 成立子1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构 http://www.w3.org! …...
[密码学实战]SDF之非对称运算类函数(三)
[密码学实战]SDF之非对称运算类函数(三) 一、标准解读:GM/T 0018-2023核心要求 1.1 SDF接口定位 安全边界:硬件密码设备与应用系统间的标准交互层 功能范畴: #mermaid-svg-4fs0ed6OYQs5fXlc {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:…...
MCP 架构全解析:Host、Client 与 Server 的协同机制
目录 🏗️ MCP 架构全解析:Host、Client 与 Server 的协同机制 📌 引言 🧩 核心架构组件 1. Host(主机) 2. Client(客户端) 3. Server(服务器) &#…...
第三部分:赋予网页灵魂 —— JavaScript(下)
目录 7 DOM 操作:控制网页的"智能面板7.1 小例子:点击按钮时改变段落文字,根据用户输入改变图片7.2 练习:实现一个简单的 Tab 切换效果 8 事件处理:响应用户的"指令"8.1 小例子:实现点击按钮…...
(02)Redis 的订阅发布Pub/Sub
我们为了自己实现一个MQ功能,就要深入底层挖掘现有开源产品的实现过程。 Redis 发布订阅底层结构解析 Redis 不存储消息,仅作为“实时中转”;只有订阅者在线时才能收到消息;消息是广播给所有订阅此频道的客户端。 1. 核心数据结…...
JavaScript性能优化实战:从基础到高级的全面指南
作为前端开发者,掌握JavaScript性能优化是提升用户体验和职业竞争力的关键。本文将系统性地介绍JavaScript性能优化的各个方面,从基础概念到高级技巧,帮助你编写更高效的代码。 一、JavaScript性能优化基础概念 1.1 什么是JavaScript性能优…...
CertiK创始人顾荣辉出席Unchained Summit,探讨Web3.0安全与合规路径
4月28日,CertiK联合创始人、哥伦比亚大学教授顾荣辉出席迪拜Unchained Summit峰会并发表主题演讲,探讨Web3.0在创新与安全间的平衡,引发网易科技、中国财经时报、腾讯网、新浪财经等多家知名媒体的关注和报道。 作为迪拜最重要的峰会之一&am…...
企业出海降本:如何将应用从 AWS EC2 快速无缝迁移至DigitalOcean Droplet
企业出海已经成为目前最热门的趋势。然而不论你是做跨境电商,还是短剧出海,或处于最热门的AI 赛道,你都需要使用海外的云主机或GPU云服务。海外一线的云服务平台尽管覆盖区域广泛,但是往往费用成本较高。所以降本始终是企业出海关…...
java练习2
package a01_第一次练习.a02_计算输入天数;import java.text.ParseException; import java.time.Duration; import java.time.LocalDateTime; import java.util.Scanner;public class Test {public static void main(String[] args) throws ParseException {//当前时间LocalDat…...
PDM是什么?PDM有什么用?怎么选PDM?2025制造PDM/PLM系统盘点(4000字)
(文章来自CRDE PDM研究中心) 摘要 PDM是制造企业产品数据管理的核心工具,并逐渐发展出了PLM、云PLM等新形态,在功能增加的同时成本也有大幅降低,已经成为企业研发管理的最优选择,并逐渐被有产品创新需求的…...
TiDB 可观测性最佳实践
TiDB 介绍 TiDB,由 PingCAP 公司自主研发的开源分布式关系型数据库,是一款创新的 HTAP 数据库产品,它融合了在线事务处理(OLTP)和在线分析处理(OLAP)的能力,支持水平扩容和缩容&…...
8.idea创建maven项目(使用Log4j日志记录框架+Log4j 介绍)
8.idea创建maven项目(使用Log4j日志记录框架Log4j 介绍) 在 IntelliJ IDEA 的 Maven 项目中引入了 Log4j,并配置了日志同时输出到控制台和文件。 Log4j 提供了灵活的日志配置选项,可以根据项目需求调整日志级别、输出目标和格式。 1. 创建 Maven 项目 …...
Linux 命名管道+日志
一、命名管道 1.1 进程通信的前提:先让不同进程看到同一份资源; 1.2 如何确保两个进程打开的是同一个文件:同路径下同一文件名; 1.3 命名管道:通过路径文件名确保这个份资源的唯一性; 1.4 接口…...