萌新学 Python 之字符串及字符串相关函数
字符串:单引号、双引号、三个单引号、三个双引号
字符串属于不可变的数据类型,一旦被定义,内存地址不变
name = '张三' # 字符串赋值给name后,内存地址存储张三,地址不变
username = '张三' # 张三去内存中找,username指向内存地址与name的地址一致
print(name is username) # Truename = '李四' # 修改name的值为李四,二者地址不同
print(name is username) # False
每个字符串在 python 中,都有两个索引值(下标)
1.从左到右:索引值从 0 开始,依次递增, 0 1 2 3 4 5 6 7 8 9
2.从右到左:索引值从 -1 开始,依次递减,-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符串的运算:
+ 连接字符
* 连续输出多次字符串
str1 = 'a'
str2 = 'b'
print(str1 * 2 + str2 * 2) # aabb
len(字符串) 获取字符串长度
str1 = 'aabb'
print(len(str1)) # 4
字符串的索引:通过在字符串后面添加一对中括号和索引值,查找指定位置的字符
格式:字符串[索引值]
# 01234
str1 = 'a bcd'
# -5...-1
print(str1[0], str1[2], str1[-1]) # a b d
字符串的切片:截取一段字符
格式:字符串[起始位置: 结束位置: 步长]
切片至少有一个冒号,默认从左到右,截取的范围左闭右开(左边包含,右边不包含)
步长默认为 1,起始默认为 0,结束默认 len
步长为负数,从右边开始截取
# 012345678910
str1 = 'I love you.'
# 字符串切片至少一个冒号,默认步长为1
print(str1[:], str1[::]) # I love you. I love you.
# 左闭右开,包含2,不包含8,从下标2开始,到下标7结束
print(str1[2:8]) # love y
# 步长正数,每隔1位2位3位截取一个
print(str1[::1], str1[::2], str1[::3]) # I love you. Ilv o. Io u
# 步长负数,从右截取
print(str1[::-1]) # .uoy evol I
print(str1[::-2], str1[::-3]) # .o vlI .yv
字符串相关函数:
find:查找指定字符出现的索引值,返回索引值
格式:'字符串'.find('子字符', '起始位置', '结束位置')
# 012345678910
str1 = 'I love you.'
# '字符串'.find('子字符', '起始位置', '结束位置')
print(str1.find('o'), str1.find('e', 2, 9)) # 3 5
点进 find 查看详细信息
sub 子字符、start 起始位置、end 结束位置
如果范围内没有查找的内容,返回 -1
def find(self, sub, start=None, end=None): # real signature unknown; restored from __doc__"""S.find(sub[, start[, end]]) -> intReturn the lowest index in S where substring sub is found,such that sub is contained within S[start:end]. Optionalarguments start and end are interpreted as in slice notation.Return -1 on failure."""return 0
同理,rfind 从右边查找
find 与 index 的区别:
find 找不到字符会返回 -1,index 找不到字符报错
split:指定分隔符分隔原字符串,返回列表 [ ],默认分隔符为空格
格式:'字符串'.split('分隔符', 最大分隔的次数)
str1 = 'I love you.'
# '字符串'.split('分隔符',最大分隔次数) 返回列表[]
print(str1.split()) # ['I', 'love', 'you.']
print(str1.split(' ', 1)) # ['I', 'love you.'] 分隔一次
print(str1.split('o')) # ['I l', 've y', 'u.'] 以o为分隔符
可以看到 split 方法中,sep 表示分隔符,maxsplit 表示最大分隔的次数
splitline 按换行符进行分隔:\n \r \n\r
expandtabs(空格数) 按制表符 \t 进行分隔,默认 8 个空格
# expandtabs(空格数) 按制表符 \t 进行分隔,默认8个空格
print('1\t2\t3\t4'.expandtabs()) # 1 2 3 4
print('1\t2\t3\t4'.expandtabs(4)) # 1 2 3 4
rpartition 从右边开始分隔,分隔为 3 个元素的元组(分隔符之前的部分,分隔符,分隔符之后的部分)可用于文件
# rpartition 从右边开始分隔,(分隔符之前的部分,分隔符,分隔符之后的部分)
print('www.baidu.com'.rpartition('.')) # ('www.baidu', '.', 'com')
print('www.baidu.com'.rpartition(',')) # ('', '', 'www.baidu.com')
replace 替换字符,返回替换后的字符串
格式:字符串.replace('旧字符', '新字符', '替换次数')
# 字符串.replace('旧字符', '新字符', '替换次数')
str1 = 'www.baidu.com'
str2 = 'aaaaaaaaaaaaaa'
print(str1.replace('.', '-')) # www-baidu-com
print(str2.replace('a', 'b', 2)) # bbaaaaaaaaaaaa
strip:去除字符串两边指定的字符,默认去除空格
格式:字符串.strip('指定字符')
如果指定的字符串为多个字符,逐个去除,直到出现不同的停止
''' strip 去除字符串两边指定的字符,默认去除空格格式:字符串.strip('指定字符') '''
str1 = ' www.baidu.com '
print(str1.strip()) # www.baidu.com
print(str1.strip('w .bm')) # aidu.co
(这里尝试了下去除中间的任意字符,但没法去除,只有字符串两边的才行,
而且原字符串有两个点只去除了前面,因为 w 和空格都去除了,前面的点成了字符串的头,
后面是完整的字符串 baidu.com 所以无法再去除点)
同理,rstrip 表示从右边去除,lstrip 表示从左边去除
print(str1.rstrip()) # www.baidu.com
print(str1.lstrip()) # www.baidu.com
join:指定连接符连接字符串的字符
格式:'连接符'.join('可迭代对象')
''' join 指定连接符连接字符串的字符格式:'连接符'.join('可迭代对象') '''
print('-'.join('1234')) # 1-2-3-4
print('abcd'.join('1234')) # 1abcd2abcd3abcd4
print('+'.join(['a', 'b', 'c'])) # a+b+c
元组 () 和列表 [ ] 稳定,集合 { } 不稳定,会将字符串重新排序
encode 字符串编码、decode 字符串解码
编码和解码的字符集必须相同
str1 = 'a咩c'
# encode 编码
print(str1.encode(encoding='utf-8')) # b'a\xe5\x92\xa9c' b开头表示字节,utf-8汉字3个字节
print(str1.encode(encoding='gbk')) # b'a\xdf\xe3c' b开头表示字节,gbk汉字2个字节
# decode 解码
print(b'a\xe5\x92\xa9c'.decode(encoding='utf-8')) # a咩c
count 统计子字符在原字符串中出现的次数,不存在则返回 0
格式:字符串.count('子字符', 起始位置, 结束位置)
''' count 统计子字符在原字符串中出现的次数格式:字符串.count('子字符', 起始位置, 结束位置) '''
# 0123456789
str1 = 'abbcccdddd'
print(str1.count('d', 5)) # 4 从下标5开始
点进 count 查看详细信息
def count(self, sub, start=None, end=None): # real signature unknown; restored from __doc__"""S.count(sub[, start[, end]]) -> intReturn the number of non-overlapping occurrences of substring sub instring S[start:end]. Optional arguments start and end areinterpreted as in slice notation."""return 0
可以看到 count 函数中,sub 表示子字符,start 和 end 表示起始和结束位置
字符串大小写转换:
常用的有 upper(全部转大写)、lower(全部转小写)、title(单词首字母大写)、swapcase(大小写互换)、
capitalize(字符首字母大写)、casefold(转小写,会对特殊语言进行标准化处理,国际化)
str1 = 'wWW.bAidU.COm'
# upper 转大写
print(str1.upper()) # WWW.BAIDU.COM
# lower 转小写
print(str1.lower()) # www.baidu.com
# title 单词首字母大写
print(str1.title()) # Www.Baidu.Com
# swapcase 大小写互换
print(str1.swapcase()) # Www.BaIDu.coM
# capitalize 字符首字母大写
print(str1.capitalize()) # Www.baidu.com
# casefold 转小写,国际化
print(str1.casefold()) # www.baidu.com
字符串对齐方式:
center 居中、ljust 左对齐、rjust 右对齐、zfill 零补位
以 center 为例,width 表示字符串的总宽度,fillchar 表示填充字符
其他原理一致
str1 = 'a b c'
# center 居中
print(str1.center(10, '*')) # **a b c***
# ljust 左对齐
print(str1.ljust(10, '.')) # a b c.....
# rjust 右对齐
print(str1.rjust(10, '+')) # +++++a b c
# zfill 零补位
print(str1.zfill(10)) # 00000a b c
is 开头的函数通常是用来做一些判断:
比如 isdecimal(是否是数字)、isdigit(是否是数字,包含字节 b 开头)、isnumeric(是否是数字,包含汉字和数字)、
isalpha(是否是字母)、isupper(是否大写)、islower(是否小写)、isalnum(是否字母和数字)、
isascil(是否是 ascil 码)、isidentifier(是否是标识符)等
format 字符串格式化输出:
格式:字符串.format(*args, **kwargs)
*args 和 **kwargs 都是 python 中的可变参数
*args 允许函数接受任意数量的位置参数,这些参数会以元组的形式传入函数内部
**kwargs 允许函数接受任意数量的关键字参数,这些参数会以字典的形式传入函数内部
''' format 字符串格式化输出格式:字符串.format(*args, **kwargs) '''
# 按位置传参,顺序取值
print('{},{}'.format('abc', '123')) # abc,123
# 按关键字传参,与顺序无关
print('{k},{v}'.format(v='abc', k=123)) # 123,abc
import string 模块:
使用方法:直接 string 后面加点
# Some strings for ctype-style character classification
whitespace = ' \t\n\r\v\f'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_letters = ascii_lowercase + ascii_uppercase
digits = '0123456789'
hexdigits = digits + 'abcdef' + 'ABCDEF'
octdigits = '01234567'
punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""
printable = digits + ascii_letters + punctuation + whitespace
相关文章:
萌新学 Python 之字符串及字符串相关函数
字符串:单引号、双引号、三个单引号、三个双引号 字符串属于不可变的数据类型,一旦被定义,内存地址不变 name 张三 # 字符串赋值给name后,内存地址存储张三,地址不变 username 张三 # 张三去内存中找…...
【鸿蒙开发】第二十四章 AI - Core Speech Kit(基础语音服务)
目录 1 简介 1.1 场景介绍 1.2 约束与限制 2 文本转语音 2.1 场景介绍 2.2 约束与限制 2.3 开发步骤 2.4 设置播报策略 2.4.1 设置单词播报方式 2.4.2 设置数字播报策略 2.4.3 插入静音停顿 2.4.4 指定汉字发音 2.5 开发实例 3 语音识别 3.1 场景介绍 3.2 约束…...
Java | RESTful 接口规范
关注:CodingTechWork 引言 作为一名程序员,制定清晰、一致且高效的 RESTful 接口规范对于团队的开发效率和项目的长期维护至关重要。本文将详细介绍 RESTful 接口的设计理念、请求方法分类、核心规范,以及正确和错误的示例,帮助团…...
shell脚本控制——处理信号
Linux利用信号与系统中的进程进行通信。你可以通过对脚本进行编程,使其在收到特定信号时执行某些命令,从而控制shell脚本的操作。 1.重温Linux信号 Linux系统和应用程序可以产生超过30个信号。下表列出了在shell脚本编程时会遇到的最常见的Linux系统信…...
OpenGL学习笔记(十二):初级光照:投光物/多光源(平行光、点光源、聚光)
文章目录 平行光点光源聚光多光源 现实世界中,我们有很多种类的光照,每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light Caster)。 平行光/定向光(Directional Light)点光源(Point Light)聚光(Spotlight) 平行光 当一个光源处于很远的地…...
redis底层数据结构——整数集合
文章目录 定义内部实现升级升级的好处提升灵活性节约内存 降级总结 定义 整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层…...
w198基于Springboot的智能家居系统
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter2-HTML 中的 JavaScript
二、HTML 中的 JavaScript 将 JavaScript 插入 HTML 的主要方法是使用<script>元素。 <script>元素有下列 8 个属性。 async:可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部…...
【5】阿里面试题整理
[1]. 介绍一下ZooKeeper ZooKeeper是一个开源的分布式协调服务,核心功能是通过树形数据模型(ZNode)和Watch机制,解决分布式系统的一致性问题。 它使用ZAB协议保障数据一致性,典型场景包括分布式锁、配置管理和服务注…...
系统思考—自我超越
“人们往往认为是个人的能力限制了他们,但事实上,是组织的结构和惯性思维限制了他们的潜力。”—彼得圣吉 最近和一家行业隐形冠军交流,他们已经是领域第一,老板却依然要求:核心团队都要自我超越,攻坚克难…...
大模型-ALIGN 详细介绍
ALIGN模型(A Large-scale ImaGe and Noisy-text embedding)是一种大规模图像和噪声文本嵌入模型,它通过对比学习的方式将图像和文本嵌入到同一个向量空间中,使得匹配的图像-文本对的嵌入向量接近,不匹配的则远离。这种…...
【C++高并发服务器WebServer】-15:poll、epoll详解及实现
本文目录 一、poll二、epoll2.1 相对poll和select的优点2.2 epoll的api2.3 epoll的demo实现2.5 epoll的工作模式 一、poll poll是对select的一个改进,我们先来看看select的缺点。 我们来看看poll的实现。 struct pollfd {int fd; /* 委托内核检测的文件描述符 */s…...
【算法】动态规划专题⑩ —— 混合背包问题 python
目录 前置知识进入正题总结 前置知识 【算法】动态规划专题⑤ —— 0-1背包问题 滚动数组优化 【算法】动态规划专题⑥ —— 完全背包问题 python 【算法】动态规划专题⑦ —— 多重背包问题 二进制分解优化 python 混合背包结合了三种不同类型的背包问题:0/1背包…...
Java高频面试之SE-20
hello啊,各位观众姥爷们!!!本baby今天又来了!哈哈哈哈哈嗝🐶 Java的泛型是什么? Java 泛型(Generics) 是 Java 5 引入的一项重要特性,用于增强代码的类型安…...
springboot 事务管理
在Spring Boot中,事务管理是通过Spring框架的事务管理模块来实现的。Spring提供了声明式事务管理和编程式事务管理两种方式。通常,我们使用声明式事务管理,因为它更简洁且易于维护。 1. 声明式事务管理 声明式事务管理是通过注解来实现的。…...
opentelemetry-collector 配置elasticsearch
一、修改otelcol-config.yaml receivers:otlp:protocols:grpc:endpoint: 0.0.0.0:4317http:endpoint: 0.0.0.0:4318 exporters:debug:verbosity: detailedotlp/jaeger: # Jaeger supports OTLP directlyendpoint: 192.168.31.161:4317tls:insecure: trueotlphttp/prometheus: …...
IDEA关联Tomcat,部署JavaWeb项目
将IDEA与Tomcat关联 创建JavaWeb项目 创建Demo项目 将Tomcat作为依赖引入到Demo中 添加 Web Application 编写前端和后端代码 配置Tomcat server,并运行...
位图与位运算的深度联系:从图像处理到高效数据结构的C++实现与优化
在学习优选算法课程的时候,博主学习位运算了解到位运算的这个概念,之前没有接触过,就查找了相关的资料,丰富一下自身,当作课外知识来了解一下。 位图(Bitmap): 在计算机科学中有两种…...
运维_Mac环境单体服务Docker部署实战手册
Docker部署 本小节,讲解如何将前端 后端项目,使用 Docker 容器,部署到 dev 开发环境下的一台 Mac 电脑上。 1 环境准备 需要安装如下环境: Docker:容器MySQL:数据库Redis:缓存Nginx&#x…...
DeepSeek-V3 论文解读:大语言模型领域的创新先锋与性能强者
论文链接:DeepSeek-V3 Technical Report 目录 一、引言二、模型架构:创新驱动性能提升(一)基本架构(Basic Architecture)(二)多令牌预测(Multi-Token Prediction…...
react使用if判断
1、第一种 function Dade(req:any){console.log(req)if(req.data.id 1){return <span>66666</span>}return <span style{{color:"red"}}>8888</span>}2、使用 {win.map((req,index) > ( <> <Dade data{req}/>{req.id 1 ?…...
opencv:基于暗通道先验(DCP)的内窥镜图像去雾
目录 项目大体情况 暗通道先验(Dark Channel Prior, DCP)原理 项目代码解析 该项目是由我和我导师与舟山某医院合作开发的一个基于暗通道先验(Dark Channel Prior,DCP)的内窥镜图像去雾方法。具体来说,…...
2025年物联网相关专业毕业论文选题参考,文末联系,选题相关资料提供
一、智能穿戴解决方案研究方向 序号解决方案论文选题论文研究方向1智能腰带健康监测基于SpringBoot和Vue的智能腰带健康监测数据可视化平台开发研究如何利用SpringBoot和Vue技术栈开发一个数据可视化平台,用于展示智能腰带健康监测采集的数据,如心率、血…...
npm无法加载文件 因为此系统禁止运行脚本
安装nodejs后遇到问题: 在项目里【node -v】可以打印出来,【npm -v】打印不出来,显示npm无法加载文件 因为此系统禁止运行脚本。 但是在winr,cmd里【node -v】,【npm -v】都也可打印出来。 解决方法: cmd里可以打印出…...
使用PyCharm创建项目以及如何注释代码
创建好项目后会出现如下图所示的画面,我们可以通过在项目文件夹上点击鼠标右键,选择“New”菜单下的“Python File”来创建一个 Python 文件,在给文件命名时建议使用英文字母和下划线的组合,创建好的 Python 文件会自动打开&#…...
Qt中QFile文件读写操作和QFileInfo文件信息读取方法(详细图文教程)
💪 图像算法工程师,专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 &a…...
CF998A Balloons 构造
Balloons 算法:构造 rating : 1000 思路: 分情况讨论: 1. 当只有一个气球包时,肯定不行 2.当有两个气球包时,若两个气球包的气球个数相同则不行 3.其余的情况都是可以的,题目问给格里高利的气球包数…...
python基础入门:3.5实战:词频统计工具
Python词频统计终极指南:字典与排序的完美结合 import re from collections import defaultdictdef word_frequency_analysis(file_path, top_n10):"""完整的词频统计解决方案:param file_path: 文本文件路径:param top_n: 显示前N个高频词:return:…...
面试准备——Java理论高级【笔试,面试的核心重点】
集合框架 Java集合框架是面试中的重中之重,尤其是对List、Set、Map的实现类及其底层原理的考察。 1. List ArrayList: 底层是动态数组,支持随机访问(通过索引),时间复杂度为O(1)。插入和删除元素时&#…...
Docker 部署 verdaccio 搭建 npm 私服
一、镜像获取 # 获取 verdaccio 镜像 docker pull verdaccio/verdaccio 二、修改配置文件 cd /wwwroot/opt/docker/verdaccio/conf vim config.yaml config.yaml 配置文件如下,可以根据自己的需要进行修改 # # This is the default configuration file. It all…...
每日一题--数组中只出现一次的两个数字
数组中只出现一次的两个数字 题目描述数据范围提示 示例示例1示例2 题解解题思路位运算方法步骤: 代码实现代码解析时间与空间复杂度按位与操作获取最小位1的原理为什么选择最低有效的 1 位而不是其他位? 题目描述 一个整型数组里除了两个数字只出现一次…...
蓝耘智算平台与DeepSeek R1模型:推动深度学习发展
公主请阅 前言何为DeepSeek R1DeepSeek R1 的特点DeepSeek R1 的应用领域DeepSeek R1 与其他模型的对比 何为蓝耘智算平台使用蓝耘智算平台深度使用DeepSeek R1代码解释:处理示例输入:输出结果: 前言 在深度学习领域,创新迭代日新…...
数据中台是什么?:架构演进、业务整合、方向演进
文章目录 1. 引言2. 数据中台的概念与沿革2.1 概念定义2.2 历史沿革 3. 数据中台的架构组成与关键技术要素解析3.1 架构组成3.2 关键技术要素 4. 数据中台与其他平台的对比详细解析 5. 综合案例:金融行业数据中台落地实践5.1 背景5.2 解决方案5.3 成果与价值 6. 方向…...
告别2023~2024
时间过得真快,距离上次写作2年多了。2023年~2024年的这两年时光里经历太多人生大事: 房贷,提前还贷买车,全款拿下租房搬家媳妇怀孕,独自照顾,……老人离世开盲盒喜提千金,百岁宴&am…...
PMO项目管理规范标准
这份文档是一份关于 PMO 项目管理规范标准的 V3.0 版本。以下是该文档的主要内容: 1. 立项管理 - 立项标准、级别划分和管理:定义了立项管理的标准、级别划分和管理,包括立项的审批流程、产品可行性分析、立项建议书、产品需求文档等。 - 立项…...
通过类加载和初始化的一些题目理解Java类加载过程
通过题目重点理解:Class加载流程和运行时区域 目录 子类和父类static变量父子类加载顺序2class.forName初始化 子类和父类static变量 class Parent {static int a 1;static int b 2;static int c;static {c 3;System.out.println("parent static block&quo…...
【人工智能】解码语言之谜:使用Python构建神经机器翻译系统
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 神经机器翻译(NMT)是近年来机器翻译领域的一项重大突破。它利用深度学习模型,特别是循环神经网络(RNN)和Transformer网络,以端到端的…...
瑞芯微 Rockchip 系列 RK3588 主流深度学习框架模型转成 rknn 模型教程
前言 在瑞芯微 Rockchip 芯片上进行 NPU 推理,需要先将模型文件转换成 rknn 模型文件,才能执行各种推理任务。本文将介绍如何安装各种工具,并最终实现将各种深度学习框架的模型文件转换成 rknn 文件。 本教程不仅适合 RK3588 平台ÿ…...
51单片机俄罗斯方块计分函数
/************************************************************************************************************** * 名称:scoring * 功能:计分 * 参数:NULL * 返回:NULL * 备注:采用非阻塞延时 ****************…...
C++线程池
使用线程情况比较频繁的地方,由于线程的创建及销毁都会产生对资源的占用及性能的损耗。为了优化性能,提升效率,在这种场景中,就应该使用线程池来处理任务。 线程池创建的关键点: 装载线程的容器,在C中使用…...
Golang GORM系列:定义GORM模型及关系指南
使用GORM进行数据库管理的核心是定义模型的技能。模型是程序的面向对象结构和数据库的关系世界之间的纽带。本文深入研究了在GORM中创建成功模型的艺术,研究了如何设计结构化的Go结构,用标记注释字段,以及开发跨模型的链接,以便最…...
ssm校园二手交易平台小程序
博主介绍:✌程序猿徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
【虚幻引擎UE】AOI算法介绍与实现案例
【虚幻引擎UE】AOI算法介绍与实现 一、AOI算法介绍AOI算法的典型应用场景二、AOI相关算法1. 边界框法(Bounding Box Method)2. 动态AOI算法3. 布尔运算(Boolean Operations)4. 四叉树(Quadtree)5. R树(R-Tree)6. 圆形AOI算法7. 网格分割(Grid Partitioning)8. 多边形…...
JavaScript 基础语法:变量、数据类型、运算符、条件语句、循环
JavaScript 是一种动态类型的脚本语言,广泛用于前端开发。以下是 JavaScript 基础语法的核心内容,包括变量、数据类型、运算符、条件语句和循环。 --- ### 1. 变量 变量用于存储数据。JavaScript 中有三种声明变量的方式: - **var**&…...
ASP.NET Core 如何使用 C# 从端点发出 GET 请求
使用 C#,从 REST API 端点获取 JSON;如何从 REST API 接收 JSON 数据。 本文需要 ASP .NET Core,并兼容 .NET Core 3.1、.NET 6和.NET 8。 要将数据发布到端点,请参阅本文。 使用 . 从端点发布 GET 数据非常容易HttpClient&…...
Docker 部署 MinIO | 国内阿里镜像
一、导读 Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。 二、…...
量化交易数据获取:xtquant库的高效应用
量化交易数据获取:xtquant库的高效应用 在量化交易领域,历史行情数据的重要性不言而喻。它不仅为策略回测提供基础,也是实时交易决策的重要参考。本文将介绍如何使用xtquant库来高效获取和处理历史行情数据。 技术背景与应用场景 对于量化…...
Mysql中存储引擎各种介绍以及应用场景、优缺点
概述 MySQL 提供了多种存储引擎,每种引擎有不同的特点和适用场景。以下是几种常见的 MySQL 存储引擎的详细介绍,包括它们的底层工作原理、优缺点,以及为什么 MySQL 默认选择某种引擎。 1. InnoDB 底层工作原理: 事务支持&#…...
面试题整理:Java虚拟机 JVM 内存区域、垃圾回收、类加载器
文章目录 JVM虚拟机内存区域1. ⭐JVM的内存区域有哪些?每个区域的作用是什么?2. 堆和栈的区别是什么?3. 堆内存是如何划分的?4. 永久代和元空间是什么关系?5. 对JVM常量池的理解?6. ⭐Java 对象的创建过程&…...
ASP.NET Core 使用 WebClient 从 URL 下载
本文使用 ASP .NET Core 3.1,但它在.NET 5、 .NET 6和.NET 8上也同样适用。如果使用较旧的.NET Framework,请参阅本文,不过,变化不大。 如果想要从 URL 下载任何数据类型,请参阅本文:HttpClient 使用WebC…...