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

Python基础知识语法归纳总结(数据类型-1)

Python基础知识&语法归纳总结(数据类型)

一、Python基本数据类型

  尤其注意,Python中的变量不需要特定的去声明,每个变量在使用前都必须对其进行赋值,它没有类型,我们所说的“类型”是变量所指的内存中对象的类型。
  等号(=)用来给变量赋值
  等号(=)左边是一个变量名,而右边是一个存储在变量中的值

1.1 程序演示

  如下面的程序:

a = 30
b = 30.0
c = '小明'
d = True
e = ['小米', '小王', 'Alice', 'Fock']
f = (a, b, c, d)
g = {'1', '2', '3', '4', '5', '6'}
h = {'name': '小米','age': 20,'like': 'Dog',
}print(f"{a},它的数据类型是:{type(a)}。")
print(f"{b},它的数据类型为{type(b)}。")
print(f"{c},它的数据类型为{type(c)}。")
print(f"{d},它的数据类型为{type(d)}。")
print(f"{e},它的数据类型为{type(e)}。")
print(f"{f},它的数据类型为{type(f)}。")
print(f"{g},它的数据类型为{type(g)}。")
print(f"{h},它的数据类型为{type(h)}。")

  输出结果:

30,它的数据类型是:<class ‘int’>。
30.0,它的数据类型为<class ‘float’>。
小明,它的数据类型为<class ‘str’>。
True,它的数据类型为<class ‘bool’>。
[‘小米’, ‘小王’, ‘Alice’, ‘Fock’],它的数据类型为<class ‘list’>。
(30, 30.0, ‘小明’, True),它的数据类型为<class ‘tuple’>。
{‘2’, ‘3’, ‘5’, ‘1’, ‘4’, ‘6’},它的数据类型为<class ‘set’>。
{‘name’: ‘小米’, ‘age’: 20, ‘like’: ‘Dog’},它的数据类型为<class ‘dict’>。

  下面我们来一一解释这些数据类型。

1.2 标准数据类型

  Python中常见的数据类型有:

  • Number(数值类型)
  • String(字符串类型)
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)


  Python的六大数据类型主要可分为两类:

  • 不可变数据:Number(数值类型)、String(字符串)、Tuple(元组)
  • 可变数据:List(列表)、Dictionary(字典)、Set(集合)
    除此之外,还有一些高级的数据类型,比如字节数组类型(bytes)。

1.3 Number(数值类型)

  Python支持的数值类型有:int、float、bool、complex(复数) —— 这些数值类型,主要指Python3;
  那么,还有一种Python2中的long型;
  Python内置的函数type()函数可以用来查询变量所指的对象数据类型;
  除此之外,还可以使用isinstance来判断,如下:

a = 30
print(isinstance(a,float))
# 输出结果:False

  isinstancetype的区别

  • isinstance()会认为子类是一种父类类型;
  • type()不会认为子类是一种父类类型。
class A:"""书写一个父类"""passclass B(A):"""书写一个子类来继承父类"""passprint(isinstance(A(), A))  # True
print(type(A()) == A)      # True
print(isinstance(B(), A))  # True
print(type(B()) == A)      # False

  特别注意:在之前的程序中,可能会出现TrueFalse数字加减的情况,因为True == 1、False == 0会返回True,但可以通过isinstance()来判断类型。

print(isinstance(bool, int))  # False
print(True + 1)               # 2
print(False + 1)              # 1
print(1 is True)              # False
print(0 is False)             # False

使用print(1 is True) 、print(0 is False) 程序出现了一个警告,如下图:
在这里插入图片描述
  为什么会出现SyntaxWarning
  Python检测到你在用is比较一个整型数值,就给你报了一个语法警告,这通常也就是代码错误(因为is比较的是身份,而不是值),而Python也给出了一个建议,Python建议你使用==来代替is,这样效果会好很多。

  • 1、Python可以同时为多个变量赋值,如a,b = 1,2
  • 2、一个变量可以通过赋值指向不同类型的对象;
  • 3、数值的除法包含来个运算符:/返回一个浮点数,//返回一个整数;
  • 4、在混合计算时,Python会把整型转换成为浮点数。

    数值类型实例
intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-124.53e-7j

1.4 String(字符串)

  Python中的字符串用单引号'或者使用"括起来,同时使用反斜杠\转义特殊字符。
  字符串截取的语法格式如下:
在这里插入图片描述
加号 + 是字符串的连接,星号 * 表示复制当前字符串,与之结合的数字为复制的次数。

strings = '小明你是猪吗?'
print(f"打印字符串:{strings}。")
print(f"打印第一个到倒数第二个字符(不包含倒数第一个字符):{strings[0: -1]}")
print(f"打印第一个字符:{strings[0]}")
print(f"打印第三个到第五个字符(不包含第五个字符):{strings[2:5]}")
print(f"打印字符串从第三个开始到最后一个字符:{strings[2:]}")
print(f"打印三次字符串:{strings * 3}")
print(strings + "不,你是蠢猪!!")

  运行结果

打印字符串:小明你是猪吗?。
打印第一个到倒数第二个字符(不包含倒数第一个字符):小明你是猪吗
打印第一个字符:小
打印第三个到第五个字符(不包含第五个字符):你是猪
打印字符串从第三个开始到最后一个字符:你是猪吗?
打印三次字符串:小明你是猪吗?小明你是猪吗?小明你是猪吗?
小明你是猪吗?不,你是蠢猪!!


  Python使用反斜杠\n转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面加一个r,表示原始字符串,如下:

print("你是\n猪")    
print(r'你是\n猪')

  输出结果:

你是

你是\n猪

  特别注意:Python字符串不能被改变,向一个索引位置赋值,会报错误,报错如下:
在这里插入图片描述

注意

  1. 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
  2. 字符串可以用+运算符连接在一起,用*运算符重复。
  3. Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  4. Python中的字符串不能改变。

1.5 bool(布尔类型)

  布尔类型即 TrueFalse
  在 Python 中,TrueFalse 都是关键字,表示布尔值。
  布尔类型可以用来控制程序的流程,比如判断某个条件是否成立,或者在某个条件满足时执行某段代码。
  布尔类型特点

  • 布尔类型只有两个值:TrueFalse
  • bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1
  • 布尔类型可以和其他数据类型进行比较,比如数字、字符串等。在比较时,Python 会将 True 视为 1False 视为 0
  • 布尔类型可以和逻辑运算符一起使用,包括 andornot。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值。
  • 布尔类型也可以被转换成其他数据类型,比如整数、浮点数和字符串。在转换时,True会被转换成 1False 会被转换成 0
  • 可以使用 bool() 函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 False:NoneFalse零 (0、0.0、0j)、空序列(如 ''、()、[])和空映射(如 {})。其他所有值转换为布尔值时均为 True

  

"""bool(布尔类型)实例"""
a = True
b = False
print(a + b)
print(a - b)
print(a * b)
# 进行判断,让程序不因为报错而终止运行,在这里添加了一段异常处理方式,进而让程序继续往下执行
try:print(a / b)
except ZeroDivisionError:print("你是怎么想的,竟然用(零)做除数!!!")
# 看一下变量a、b的数据类型
print(type(a))
print(type(b))
# bool()函数转换
print(bool(a))
print(bool(b))
print(bool(54))
print(bool([]))
print(bool({}))
print(bool('王'))
print(bool(3*5))
# bool判断数值运算
print(4 > 5)
print(4 > -30)
# bool在if- else中的作用
if True:print("你是对的,我相信你!!")
if not False:print("我依然相信你,不用怕!!")
x = 100
if x < 50:print(f"这是{x}。")
else:print("哇哦,还行!")

  运行结果:

1
1
0
你是怎么想的,竟然用(零)做除数!!!
<class ‘bool’>
<class ‘bool’>
True
False
True
False
False
True
True
False
True
你是对的,我相信你!!
我依然相信你,不用怕!!
哇哦,还行!


  注意: 在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0空字符串空列表空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。

1.6 List(列表)

  List(列表)是Python中使用最频繁的数据类型。
  列表可以完成大多数集合类的数据结构,列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表(也就是所谓的嵌套)。列表是写在方括号[]之间,用逗号,隔开的元素列表。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
  列表截取的语法格式如下:

变量[头下标 : 尾下标]

  索引值以0为开始值,-1为末尾的开始位置。
在这里插入图片描述
  同样的,加号+是列表连接运算符,星号*是重复操作

  小试牛刀:将一个色子掷7000次,统计每种点数出现的次数;

import randoma1 = 0
a2 = 0
a3 = 0
a4 = 0
a5 = 0
a6 = 0
for i in range(7000):face = random.randrange(1, 7)if face == 1:a1 += 1elif face == 2:a2 += 1elif face == 3:a3 += 1elif face == 4:a4 += 1elif face == 5:a5 += 1elif face == 6:a6 += 1else:print("你越界了!!")pass
# 打印出现的次数
print(f"点数1出现的次数:{a1}。")
print(f"点数2出现的次数:{a2}。")
print(f"点数3出现的次数:{a3}。")
print(f"点数4出现的次数:{a4}。")
print(f"点数5出现的次数:{a5}。")
print(f"点数6出现的次数:{a6}。")

  运行结果

点数1出现的次数:1151。
点数2出现的次数:1152。
点数3出现的次数:1169。
点数4出现的次数:1183。
点数5出现的次数:1140。
点数6出现的次数:1205。

  上面的代码,看起来,最后的结果也确实实现出来了,但是分支用的太多,麻烦、冗余。我们有一种更好的方法来优化上面的代码,也就是用这里的列表来实现。在Python中,我们可以使用容器型变量来保存和操作多个数据,也就是这里的列表(List):

  Python中的列表,它的长度和列表元素都是可以改变的。


  注意:

  • 访问列表中的值:它与字符串的索引是一样的,即从0开始,第二个索引是1,依此类推;而列表中的最后一个字符串的索引为-1,往前一个是-2,也是依此类推的,如下图:
    在这里插入图片描述
  • 使用索引进行截取列表[],如下图:
    在这里插入图片描述
  • 更新列表:我们可以对列表中的数据项进行修改或者更新,也可以使用append()来添加列表项,如下所示:
"""更新列表"""
lists = ['Google', 'Alice', 'cn.bing.com', 'www.baidu.com', 'www.bilibili.com', 'Stock', '小明']
# 打印这个列表
print(f"这个列表数据项为:{lists}。")
# 打印最后一个列表数据项
print(f"列表lists中,最后一个数据项为{lists[-1]}。")
# 替换列表中,最后一个元素 '小明' 将其替换为 'Yuer'
lists[-1] = 'Yuer'
# 打印替换后的最后一个元素
print(f"列表lists替换后的,最后一个数据项为{lists[-1]}。")
# 截取列表 listss = list[2 : 5]
strList = lists[2:len(lists) - 3]
# 打印出截取到的列表
print(f"截取到的列表数据项为:{strList}。")
# 向列表中添加一个元素 '大明'
lists.append('大明')
# 输出添加的列表数据项
print(f"添加的列表数据项为:{lists[-1]}")
print(f"经过更新后,这个列表中的数据项为{lists}")

  运行结果:

这个列表数据项为:[‘Google’, ‘Alice’, ‘cn.bing.com’, ‘www.baidu.com’, ‘www.bilibili.com’, ‘Stock’, ‘小明’]。
列表lists中,最后一个数据项为小明。
列表lists替换后的,最后一个数据项为Yuer。
截取到的列表数据项为:[‘cn.bing.com’, ‘www.baidu.com’]。
添加的列表数据项为:大明
经过更新后,这个列表中的数据项为[‘Google’, ‘Alice’, ‘cn.bing.com’, ‘www.baidu.com’, ‘www.bilibili.com’, ‘Stock’, ‘Yuer’, ‘大明’]

  • 列表的运算:我们可以使用+运算符来实现两个列表的拼接,拼接运算会将两个列表中的元素连接在一起,放到一个列表中,同理,使用*号也是同样的效果,如下:
"""列表的运算 —— +号"""
aa = [1, 11, 12, 13, 14, 15]
bb = [3, 11, 45, 67, 98, 12]
cc = ['Python', 'Java', 'C++', 'JavaScript']
# 拼接运算
dd = aa + bb + cc
print(f"拼接后的列表为:{dd}。")"""使用 * 号代码重复运算"""
ee = cc * 2
print(f"使用*号的运算结果:{ee}")

  运算结果:

拼接后的列表为:[1, 11, 12, 13, 14, 15, 3, 11, 45, 67, 98, 12, ‘Python’, ‘Java’, ‘C++’, ‘JavaScript’]。

使用*号的运算结果:[‘Python’, ‘Java’, ‘C++’, ‘JavaScript’, ‘Python’, ‘Java’, ‘C++’, ‘JavaScript’]

  • 使用列表切片来提取子列表数据项:列表切片是一种非常强大的功能,它运行你从一个列表中提取一部分元素进而新成新的子列表。切片操作使用方括号[]和冒号:来指定起始索引、结束索引以及步长。
"""列表的运算 —— +号"""
aa = [1, 11, 12, 13, 14, 15]
bb = [3, 11, 45, 67, 98, 12]
cc = ['Python', 'Java', 'C++', 'JavaScript']
# 拼接运算
dd = aa + bb + cc
print(f"拼接后的列表为:{dd}。")"""使用 * 号代码重复运算"""
ee = cc * 2
print(f"使用*号的运算结果:{ee}")"""切片提取列表数据项形成新的子列表"""
# 提取列表dd中的数据项
dd1 = dd[0: len(dd)-3: 3]
# 输出使用切片后得到的子列表
print(f"使用切片后获取到的列表为:{dd1}。")

  输出结果:

拼接后的列表为:[1, 11, 12, 13, 14, 15, 3, 11, 45, 67, 98, 12, ‘Python’, ‘Java’, ‘C++’, ‘JavaScript’]。
使用*号的运算结果:[‘Python’, ‘Java’, ‘C++’, ‘JavaScript’, ‘Python’, ‘Java’, ‘C++’, ‘JavaScript’]
使用切片后获取到的列表为:[1, 13, 3, 67, ‘Python’]。

  语法:

  切片运算是形如[start:end:stride]的运算符,其中start代表访问列表元素的起始位置,end代表访问列表元素的终止位置(终止位置的元素无法访问),而stride则代表了跨度,简单的说就是位置的增量,比如我们访问的第一个元素在start位置,那么第二个元素就在start + stride位置,当然start + stride要小于end

  如果start值等于0,那么在使用切片运算符时可以将其省略;如果end值等于NN代表列表元素的个数,那么在使用切片运算符时可以将其省略;如果stride值等于1,那么在使用切片运算符时也可以将其省略。

  • 通过切片来更改列表数据项:如下
# 操作切片来修改列表中的数据项
# 操作切片来修改列表中的数据项
dd1 = [1, 13, 3, 67, 'Python']
dd1[1: 3: 1] = ['C#', 'C++']
print(f"输出经过使用切片修改后的列表数据项:{dd1}。")

  输出结果:
输出经过使用切片修改后的列表数据项:[1, ‘C#’, ‘C++’, 67, ‘Python’]。

  • 列表之间还可以做关系运算:我们可以比较两个列表是否相等,也可以给两个列表比较大小,如下:
"""列表做关系运算"""
a = [1, 3, 7, 89]
b = [4, 9, 20]
print(a == b)   #False
print(a != b)   #True
print(a > b)    #False

  上面的ab对应的元素完全不相等,索引进行==运算的结果为False;进行!=运算后的结果为True;而进行>运算的结果为False。大小关系通常比较的是第一个元素,所以才会出现,进行a > b的运算后,结果为False

  • 元素的遍历:在Python中,for循环是一种常见的遍历列表的方式,通过for循环,我们可以一次访问列表中的每一个元素,并对其进行操作。
c = ['Python', 'Java', 'C++', 'JavaScript']
for i in c:print(i)

  代码解析:
  1、c = ['Python', 'Java', 'C++', 'JavaScript']:定义了一个包含三个元素的列表c
  2、for i in c::使用for循环遍历列表c,每次循环将列表中的一个数据项赋值给变量i
  3、print(i),在每次循环中,打印当前i的值;

  输出结果

Python
Java
C++
JavaScript

  上面的掷色子就可以优化了,优化如下:

import randomcount = [0] * 6
print(count)
# 循环7000次
for a in range(7000):# face用来记录,出现1到7出现的点数face = random.randrange(1, 7)# 利用索引每次循环就对对应的点数加一,即将循环后的索引对应的列表数据项进行更新count[face - 1] += 1
# 再对1到7生成的点数进行循环,即获取列表count中的列表数据项
for face in range(1, 7):print(f"点数{face}出现的次数为{count[face - 1]}。")

  运行结果

点数1出现的次数为1210。
点数2出现的次数为1175。
点数3出现的次数为1160。
点数4出现的次数为1161。
点数5出现的次数为1179。
点数6出现的次数为1115。

相关文章:

Python基础知识语法归纳总结(数据类型-1)

Python基础知识&语法归纳总结&#xff08;数据类型&#xff09; 一、Python基本数据类型 尤其注意&#xff0c;Python中的变量不需要特定的去声明&#xff0c;每个变量在使用前都必须对其进行赋值&#xff0c;它没有类型&#xff0c;我们所说的“类型”是变量所指的内存中对…...

Spring数据访问全解析:ORM整合与JDBC高效实践

目录 一、Spring ORM集成深度剖析 &#x1f31f; ORM模块架构设计 核心集成特性&#xff1a; 整合MyBatis示例配置&#xff1a; 二、Spring JDBC高效实践指南 &#x1f31f; 传统JDBC vs Spring JDBC对比 &#x1f31f; JdbcTemplate核心操作示例 批量操作优化&#xf…...

哪种电脑更稳定?Mac?Windows?还是云电脑? 实测解密

随着科技的发展进步&#xff0c;电脑已成为当下各类群体的必备产品之一&#xff0c;它的妙用有很多&#xff0c;无论是学生党、打工人还是已经退休的人群或都离不开它的存在。然而&#xff0c;电脑虽好却也差异很大、不同品牌、不同系统、不同配置、不同价位的统统都会有区别。…...

【AI模型学习】关于写论文——论文的审美

文章目录 一、“补丁法”&#xff08;Patching&#xff09;1.1 介绍1.2 方法论1.3 实例 二、判断工作的价值2.1 介绍2.2 详细思路2.3 科研性vs工程性 三、novelty以及误区3.1 介绍3.2 举例 看了李沐老师的读论文系列后&#xff0c;总结三个老师提到的有关课题研究和论文写作的三…...

【面经】杭州产链数字科技一面

1.介绍一下自己 面试官您好&#xff01;我叫***&#xff0c;目前是就读于****计算机科学与技术专业的一名学生。我平时在学校也自学了编程相关的知识&#xff0c;比如Java基础、Springboot、SpringCloud&#xff0c;关系型数据库Mysql&#xff0c;非关系型数据库Redis&#xff…...

微信小程序调用yolo目标检测模型

目录 后端 前端微信小程序 完整代码 后端 利用Flask&#xff0c;调用目标检测模型&#xff0c;后端代码如下。 # flask_yolo.py from flask import Flask, request, jsonify from ultralytics import YOLO from PIL import Imageapp Flask(__name__) model_path best.p…...

vmware17 虚拟机 ubuntu22.04 桥接模式,虚拟机无法接收组播消息

问题描述&#xff1a; 在一个项目中&#xff0c;宿主机win10中&#xff0c;使用的vmware17pro 虚拟机安装的ubuntu22.04&#xff0c;按照网上的教程使用Qt绑定组播消息&#xff0c;在另外一个Ubuntu工控机上发送用wiresahrk抓包的组播消息 sudo tcpreplay -i enp1s0 --loop0 y…...

Kaggle-Bag of Words Meets Bags of Popcorn-(二分类+NLP+Bert模型)

Bag of Words Meets Bags of Popcorn 题意&#xff1a; 有很多条电影评论记录&#xff0c;问你每一条记录是积极性的评论还是消极性的评论。 数据处理&#xff1a; 1.首先这是文件是zip形式&#xff0c;要先解压&#xff0c;注意sep ‘\t’。 2.加载预训练的 BERT 分词器 …...

数字信号处理技术架构与功能演进

数字信号处理&#xff08;DSP&#xff09;是通过数字运算实现信号分析、变换、滤波及调制解调的技术领域&#xff0c;其发展过程与技术应用如下&#xff1a; 一、定义与核心功能 技术定义&#xff1a;通过算法将模拟信号转换为数字形式进行处理&#xff0c;具有高精度、可编程…...

IaaS架构剖析、场景实践

一、什么是 IaaS 1.1 定义 Infrastructure as a Service&#xff08;IaaS&#xff0c;基础设施即服务&#xff09;是一种按需、弹性提供计算、存储、网络和安全等底层 IT 资源的云服务模式。用户通过 API、CLI 或 Web 控制台即可在几分钟内创建、扩容或释放资源&#xff0c;而…...

国产之光DeepSeek架构理解与应用分析02

本专栏 国产之光DeepSeek架构理解与应用分析-CSDN博客 国产之光DeepSeek架构理解与应用分析02-CSDN博客 前置的一些内容理解 GPU TPU NPU的区别&#xff1f; 设计目的 GPU&#xff1a;最初是为了加速图形渲染而设计的&#xff0c;用于处理图像和视频数据&#xff0c;以提供高…...

EDID结构

EDID DDC通讯中传输显示设备数据 VGA , DVI 的EDID由128字节组成&#xff0c;hdmi的EDID增加扩展块128字节。扩展快的内容主要是和音频属性相关的&#xff0c;DVI和vga没有音频&#xff0c;hdmi自带音频&#xff0c;扩展快数据规范按照cea-861x标准。 Edid为了让pc或其他的图像…...

4.黑马学习笔记-SpringMVC(P43-P47)

1.SpringMVC简介 SpringMVC技术&#xff08;更少的代码&#xff0c;简便&#xff09;与servlet技术功能相同&#xff0c;属于web层开发技术。 SpringMVC是一种基于java实现MVC模型的轻量级web框架。 轻量级指的是&#xff08;内存占用比较低&#xff0c;运行效率高&#xff09;…...

CSS 文件格式

A QFrame#andrFrm[status"android_en"] A&#xff1a;表示父类或顶层窗口的类型。如果 A 是一个自定义的类名&#xff0c;确保该类已经正确注册到 Qt 系统中。QFrame&#xff1a;表示具体的控件类型。#andrFrm&#xff1a;表示控件的对象名称&#xff08;通过 setOb…...

java输出HelloWorld

创建一个java格式文件&#xff0c;这里命令为HelloWorld 这里我选择用notepad编译&#xff0c;也可以直接用记事本 #public 访问修饰词&#xff0c;表示这个类可以被其他任何类访问 #class 定义类的关键字 #HelloWorld 类名&#xff0c;遵循驼峰命名法&#xff08;首字母大写…...

【SAP ME 44】在 HANA DB中报废SFC时的SHOP_ORDER表记录锁定

症状 SELECT…FROM SHOP_ORDER FOR UPDATE 在 SFC 报废期间持有锁,当同时调用数量较大时,可能会导致 HANA 数据库出现大量锁积压。这有时会导致因等待 HANA 数据库释放“选择更新”锁而导致报废 SFC 花费数分钟。 HANA 数据库日志中的示例: # begin PreparedStatement_ex…...

《软件设计师》复习笔记(12.1)——范围管理、进度管理

目录 一、范围管理 1. 核心概念 2. 范围管理过程 WBS&#xff08;工作分解结构&#xff09;示例 真题示例&#xff1a; 二、进度管理 1. 核心过程 2. 关键工具与技术 真题示例&#xff1a; 一、范围管理 1. 核心概念 项目范围&#xff1a;为交付产品必须完成的工作…...

Git-使用教程(新手向)

一、基本概念&#xff1a; 1.Git&#xff0c;Github的关系&#xff1a; Git --- 本地用于管理代码的工具&#xff0c;可类比为游戏存档。&#xff08;存档&#xff0c;仓库&#xff0c;项目在Git中是一个东西&#xff09; Github --- 远程仓库平台&#xff0c;可类比为云端。…...

密码学中的盐值是什么?

目录 1. 盐值的基本概念 2. 盐值的作用 (1) 防止彩虹表攻击 (2) 防止相同的密码生成相同的哈希值 (3) 增加暴力破解的难度 3. 如何使用盐值&#xff1f; (1) 生成盐值 (2) 将盐值附加到密码 (3) 存储盐值和哈希值 (4) 验证密码 4. 盐值如何增加暴力破解的难度 在线暴…...

[工具]Java xml 转 Json

[工具]Java xml 转 Json 依赖 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --> <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.37</version> </dependen…...

安全光幕的CE认证

在工业自动化飞速发展的当下&#xff0c;安全光幕作为保障操作人员安全的关键设备&#xff0c;其重要性不言而喻。对于想要进军欧盟市场的安全光幕制造商来说&#xff0c;CE 认证是必须跨越的一道关卡。今天&#xff0c;我们就来深入探讨安全光幕的 CE 认证流程。 什么是安全…...

DNS解析失败怎么解决?

在互联网时代&#xff0c;畅快地浏览网页、使用各类网络服务已成为生活常态。然而&#xff0c;当屏幕突然弹出 “DNS解析失败”的提示&#xff0c;原本顺畅的网络连接戛然而止&#xff0c;让人倍感困扰。DNS即域名系统&#xff0c;它如同互联网的 “电话簿”&#xff0c;负责将…...

亚马逊商品详情API数据接口概述,Amazon API

亚马逊商品详情API数据接口概述 亚马逊商品详情API&#xff08;如Amazon Product Advertising API或Selling Partner API (SP-API)&#xff09;是亚马逊为开发者提供的官方接口&#xff0c;允许通过编程方式获取商品的详细信息&#xff0c;包括商品标题、价格、描述、图片、用…...

TCP/IP和UDP协议的发展历程

TCP/IP和UDP协议的发展历程 引言 互联网的发展史是人类技术创新的辉煌篇章&#xff0c;而在这一发展过程中&#xff0c;通信协议发挥了奠基性的作用。TCP/IP&#xff08;传输控制协议/互联网协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;作为互联网通信的基础…...

LeetCode 259 题全解析:Swift 快速找出“满足条件”的三人组

文章目录 摘要描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a; 题解答案&#xff08;Swift&#xff09;题解代码分析示例测试及结果时间复杂度空间复杂度总结 摘要 本文围绕 LeetCode 259 题“较小的三数之和”&#xff0c;通过 Swift 给出两种解法&#xff0c;并…...

【MySQL】MySQL表的增删改查(CRUD) —— 上篇

目录 MySQL表的增删改查&#xff08;CRUD&#xff09; 1. 新增&#xff08;Create&#xff09;/插入数据 1.1 单行数据 全列插入 insert into 表名 values(值, 值......); 1.2 单行数据 指定列插入 1.3 多行数据 指定列插入 1.4 关于时间日期&#xff08;datetime&am…...

基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告

目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与创新点 二、大模型技术概述 2.1 大模型基本原理 2.2 常用大模型类型及特点 2.3 大模型在医疗领域的应用潜力 三、腹股沟疝诊疗流程分析 3.1 腹股沟疝的发病机制与分类 3.2 传统术前评估方法与局…...

使用nssm将Nginx配置为Windows服务

使用nssm将Nginx配置为Windows服务 下载nssm工具 &#xff1a;使用NSSM创建服务启动并验证服务管理服务&#xff08;启动/停止/重启&#xff09; 下载nssm工具 &#xff1a; nssm下载网址 下载到指定路径下&#xff0c;解压就行。 使用NSSM创建服务 winr打开运行命令框&am…...

(8)VTK C++开发示例 --- 交互式3D部件

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;VTK开发 &#x1f448; 1. 概述 这个例子介绍了3D小部件&#xff08;vtkBoxWidget&#xff09;。3D小部件利用了前面介绍的事件/观察者设计模式。它们…...

ReAct、CoT 和 ToT:大模型提示词推理架构的对比分析

ReAct、CoT 和 ToT&#xff1a;大模型提示词推理架构的对比分析 在大型语言模型&#xff08;LLM&#xff09;的研究与应用中&#xff0c;如何有效提升模型在复杂任务上的推理能力是关键问题之一。目前&#xff0c;ReAct&#xff08;Reasoning and Acting&#xff09;、CoT&…...

Evidential Deep Learning和证据理论教材的区别(主要是概念)

最近终于彻底搞懂了Evidential Deep Learning&#xff0c;之前有很多看不是特别明白的地方&#xff0c;原来是和证据理论教材&#xff08;是的&#xff0c;不只是国内老师写的&#xff0c;和国外的老师写的教材出入也比较大&#xff09;的说法有很多不一样&#xff0c;所以特地…...

golang context源码

解析 context结构 Deadline&#xff1a;返回 context 的过期时间&#xff1b; Done&#xff1a;返回 context 中的 channel&#xff1b; Err&#xff1a;返回错误&#xff1b; Value&#xff1a;返回 context 中的对应 key 的值. type Context interface {Deadline() (deadl…...

VSCODE插值表达式失效问题

GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_-CSDN博客 更换正确的vue域名 GET https://cdn.jsdelivr.net/npm/vue2.6.14/dist/vue.js net::ERR_CONNECTION_ <script src"https://unpkg.com/vue2.6.14/dist/vue.js"></sc…...

6.VTK 颜色

文章目录 概念RGB示例HSV示例 概念 RGB颜色系统&#xff1a;通过红(R)、绿(G)、蓝(B)三个颜色分量的组合来定义颜色。每个分量的取值范围是0到1&#xff0c;其中(0, 0, 0)代表黑色&#xff0c;而(1, 1, 1)代表白色。可以使用vtkProperty::SetColor(r, g, b)方法为Actor设置颜色…...

MQTTClient.c的线程模型与异步事件驱动

MQTTClient.c的线程模型与异步事件驱动 1. 多线程架构设计 MQTTClient.c通过分离网络I/O和用户逻辑线程实现异步通信&#xff0c;核心设计如下&#xff1a; sequenceDiagramparticipant 主线程 as 主线程&#xff08;用户调用&#xff09;participant 发送队列 as 发送队列pa…...

Flutter异常Couldn‘t find dynamic library in default locations

Flutter项目在Windows系统使用ffigen生成代码时报下面的错误&#xff1a; [SEVERE] : Couldnt find dynamic library in default locations. [SEVERE] : Please supply one or more path/to/llvm in ffigens config under the key llvm-path. Unhandled exception: Exception: …...

在PyCharm中部署AI模型的完整指南

引言 随着人工智能技术的快速发展,越来越多的开发者开始将AI模型集成到他们的应用程序中。PyCharm作为一款强大的Python IDE,为AI开发提供了出色的支持。本文将详细介绍如何在PyCharm中部署AI模型,从环境配置到最终部署的完整流程。 第一部分:准备工作 1. 安装PyCharm …...

6.6.图的广度优先遍历(英文缩写BFS)

树是一种特殊的图&#xff0c;树的广度优先遍历即层次遍历&#xff0c;所以会从树的角度入手图的广度优先遍历&#xff1a; BFS与DFS的区别在于&#xff0c;BFS使用了队列&#xff0c;DFS使用了栈 一.广度优先遍历&#xff1a; 1.树的广度优先遍历&#xff1a; 详情见"…...

练习(杨辉三角、字符串旋转)

一、 以下程序执行的结果&#xff1a; int main() {//0~255unsigned char a 200;//00000000000000000000000011001000//11001000 - a 截断unsigned char b 100;//00000000000000000000000001100100//01100100 - b unsigned char c 0;c a b;//11001000 - a//0110010…...

L1-7 矩阵列平移

题目 给定一个 nn 的整数矩阵。对任一给定的正整数 k<n&#xff0c;我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置&#xff0c;平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。 输入格式&#xff1a; 输入第一行给出…...

webgl入门实例-11模型矩阵 (Model Matrix)基本概念

WebGL 模型矩阵 (Model Matrix) 在WebGL和3D图形编程中&#xff0c;模型矩阵(Model Matrix)是将物体从局部坐标系(模型空间)转换到世界坐标系的关键变换矩阵。 什么是模型矩阵&#xff1f; 模型矩阵是一个4x4的矩阵&#xff0c;用于表示物体在世界空间中的位置、旋转和缩放。…...

【漫话机器学习系列】209.均值的标准误差(Standard Error of the Mean)

均值的标准误差&#xff08;Standard Error of the Mean&#xff09;详解 在统计学中&#xff0c;我们经常会遇到“均值的标准误差”这个概念&#xff0c;英文称为 Standard Error of the Mean&#xff08;简称 SEM&#xff09;。它是对样本均值作为总体均值估计的可靠程度的一…...

Multi Agents Collaboration OS:文档合规性及质量检测助手设计及实践

文档审查及质量检测背景 随着企业运营和知识管理的日益复杂&#xff0c;文档的合规性与质量成为确保信息准确、流程顺畅及风险控制的关键环节。传统上&#xff0c;人工进行文档的合规性和质量检测不仅耗时耗力&#xff0c;且易受主观因素影响&#xff0c;难以保证检测的全面性…...

Vue Teleport 及其在 SSR 中的潜在问题

Vue 3 的 Teleport 特性为开发者提供了更灵活的 DOM 结构控制能力&#xff0c;但在服务端渲染&#xff08;SSR&#xff09;场景中&#xff0c;它可能引发一些需要注意的问题。本文将深入探讨 Teleport 的核心机制及其在 SSR 中的使用陷阱。 一、Teleport 核心机制解析 1. 基本…...

Fastapi 日志处理

uvicorn 日志处理总结&#xff1a; 一、日志的结构 日志结构如下&#xff1a; {"version": 1,"disable_existing_loggers": false,"formatters": {},"handlers": {},"loggers": {} }loggers 用于定义日志处理最顶层的标识…...

FME实现矢量建筑面shp拉伸并贴纹理

文章目录 效果2、数据准备3、整理流程图4、操作步骤4.1 打开软件4.2 添加shp数据4.3 添加Extruder转换器4.4 添加AppearanceSetter转换器4.5 添加png纹理数据4.6 添加输出节点4.7 添加Logger节点4.8 执行5、执行结果效果 2、数据准备 (1)建筑面shp (2)纹理 test.png 其中s…...

仿腾讯会议项目实现——设置配置文件

目录 1、初始化配置 2、实现初始化配置的函数 3、修改配置文件内的ip地址 1、初始化配置 Ckernel.h 2、实现初始化配置的函数 3、修改配置文件内的ip地址 首先修改IP 运行出现设置的IP&#xff0c; 找到运行的配置文件&#xff0c;修改成自己当前的ip 将函数运行条件改成非…...

1187. 【动态规划】竞赛总分

题目描述 学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能的多得分。 现在要进行一次竞赛&#xff0c;总时间T固定&#xff0c;有若干类型可选择的题目&#xff0c;每种类型题目可选入的数量不限&#xff0c;每种类型题目有一个si(解答…...

从零开始学Python游戏编程31-类3

2.6 run()方法 run()方法的作用是在while循环中调用以上方法&#xff0c;运行游戏。代码如图11所示。 图11 run()方法代码 其中&#xff0c;第43行控制while循环的是实例属性running&#xff0c;在图7所示的__init__()方法中定义&#xff1b;第44-46行代码分别调用了processI…...

Transformer 架构 - 解码器 (Transformer Architecture - Decoder)

一、解码器整体结构:多层堆叠设计 Transformer解码器由​​N个相同结构的解码器层堆叠而成​​(通常N=6),每层包含三个核心子模块(图1) 1 5 12 : ​​带掩码的多头自注意力层​​(Masked Multi-Head Self-Attention)​​编码器-解码器注意力层​​(Encoder-Deco…...