1.Python 引入(字面量、注释、变量、数据类型、数据类型转换、标识符、运算符、字符串扩展)
一、字面量
1、基本介绍
- 在代码中,被写直接下来的、不需要通过变量存储的值,称之为字面量
2、常用值类型
类型 | 说明 |
---|---|
数字(Number) | 整数(int),例如:10、-10 浮点数(float),例如: 12.34、-12.34 复数(complex),例如: 4 + 3j ,以 j 结尾表示复数布尔(bool),True 表示真,数字记作 1,False 表示假,数字记作 0 |
字符串(String) | 描述文本的一种数据类型,由任意数量的字符组成,例如,中文、英文、符号、数字等 注:在 Python 中,字符串需要用双引号 "" 包围起来,即被双引号包围起来的,都是字符串 |
列表(List) | 有序的可变序列,Python 中使用最频繁的数据类型,可以有序记录一堆数据 |
元组(Tuple) | 有序的不可变序列,可以有序记录一堆不可变的数据 |
集合(Set) | 无序不重复集合,可以无序记录一堆不重复的数据 |
字典(Dictionary) | 无序 Key - Value 集合,可以无序记录一堆 Key - Value 型数据 |
3、基本使用
类型 | 程序中编写 | 说明 |
---|---|---|
整数 | 10,-10 | 和现实中的写法一致 |
浮点数 | 12.34、-12.34 | 和现实中的写法一致 |
字符串 | "Hello World" | 程需要加上双引号 |
10
12.34
"Hello World"print(10)
print(12.34)
print("Hello World")
- 输出结果
10
12.34
Hello World
二、注释
1、基本介绍
-
注释是在程序代码中对程序代码进行解释说明的文字
-
注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性
2、注释的分类
- 单行注释:以井号
#
开头
# 我是单行注释
- 多行注释:以一对三个双引号
"""
引起来,也可以以一对三个单引号'''
引起来
"""我是多行注释我是多行注释
"""
'''我是多行注释我是多行注释
'''
- 注:多行注释一般对 Python 文件、类或方法进行解释
3、基本使用
"""1.演示各类字面量的写法2.通过 print 语句输出各类字面量
"""# 编写一个整数字面量
10# 编写一个浮点数字面量
12.34# 编写一个字符串字面量
"Hello World"# 通过 print 语句输出各类字面量
print(10)
print(12.34)
print("Hello World")
4、注释问题
编号 | 问题 | 回答 |
---|---|---|
1 | 单行注释中能否使用多行注释? | 不能 |
2 | 多行注释中能否使用单行注释? | 能 |
3 | 多行注释中能否使用多行注释? | 不能 |
三、变量
1、基本介绍
-
变量是在程序中用于存储数据,且变量的值可以发生改变
-
变量的值可以发生改变
2、变量定义
【变量名称】 = 【变量值】
3、基本使用
# 定义一个变量,用来记录钱包的余额
money = 60# 输出变量记录的内容
# print 语句通过使用逗号(,)分隔来输出多份内容
print("钱包余额:", money)# 买了一个冰淇淋,花费 10 元
money = money - 10# 输出变量记录的内容
print("买了一个冰淇淋,花费 10 元,钱包余额:", money)
- 输出结果
钱包余额: 60
买了一个冰淇淋,花费 10 元,钱包余额: 50
四、数据类型
1、基本介绍
- 在入门阶段,主要接触如下三类数据类型
类型 | 描述 | 说明 |
---|---|---|
string | 字符串类型 | 用引号引起来的数据都是字符串 |
int | 整型(有符号),数字类型 | 存放整数,如 -1,10,0 等 |
float | 浮点型(有符号),数字类型 | 存放小数,如 -2.33, 6.66 等 |
2、type() 语句
(1)基本介绍
- 可以通过 type() 语句来得到数据的类型
type(【数据】)
(2)基本使用
- 在 print 语句中,直接输出类型信息
print(type(10)) # <class 'int'>
print(type(1.23)) # <class 'float'>
print(type("Hello World")) # <class 'str'>
- 用变量存储 type() 的结果
int_type = type(10)
float_type = type(1.23)
string_type = type("Hello World")print(int_type) # <class 'int'>
print(float_type) # <class 'float'>
print(string_type) # <class 'str'>
- 查看变量存储的数据的类型
name = "jack"
age = 20
score = 95.5print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(score)) # <class 'float'>
- 数据类型的判断
data1 = 10
data2 = "Hello"print(type(data1) == int) # True
print(type(data1) == str) # False
print(type(data2) == int) # False
print(type(data2) == str) # True
- 注:变量没有类型,它存储的数据有类型
五、数据类型转换
1、为什么要类型转换
-
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
-
数据类型转换,将会是以后经常使用的功能,如:
-
从文件中读取的数字,默认是字符串,需要转换成数字类型
-
input() 语句,默认结果是字符串,若需要数字也需要转换
-
将数字转换成字符串用以写出到外部系统
2、常见的转换语句
语句(函数) | 说明 |
---|---|
int(x) | 将 x 转换为一个整数 |
float(x) | 将 x 转换为一个浮点数 |
str(x) | 将对象 x 转换为字符串 |
- 注:字符串不可以随意转换成数字,字符串内必须只有数字才可以
3、基本使用
# 将字符串类型转换为数字
int_num = int("10")
print(type(int_num), int_num)float_num = float("1.23")
print(type(float_num), float_num)print("------------------------------")# 将数字类型转换为字符串
int_str = str(123)
print(type(int_str), int_str)float_str = str(123.456)
print(type(float_str), float_str)print("------------------------------")# 整数转换为浮点数
num1 = float(20)
print(type(num1), num1)print("------------------------------")# 浮点数转转换为
num2 = int(6.66)
print(type(num2), num2)
- 输出结果
<class 'int'> 10
<class 'float'> 1.23
------------------------------
<class 'str'> 123
<class 'str'> 123.456
------------------------------
<class 'float'> 20.0
------------------------------
<class 'int'> 6
六、标识符
1、什么是标识符
-
在 Python 中,我们可以给很多东西起名字,比如:变量的名字、方法的名字、类的名字等等,这些名字,我们把它统一的称之为标识符,用来做内容的标识
-
所以,标识符是在编程的时候所使用的一系列名字,用于给变量、类、方法等命名
2、标识符命名规则
(1)内容限定
-
标识符命名中,只允许出现:英文、中文、数字和下划线(_)这四类元素,其余任何内容都不被允许
-
不推荐使用中文
-
数字不可以开头
(2)大小写敏感
- 大写和小写,是完全能够区分的
name = "jack"
Name = "smith"print(name) # jack
print(Name) # smith
(3)不可使用关键字
- Python 中有一系列单词,称之为关键字,关键字在 Python 中都有特定用途,不可以使用它们作为标识符

3、标识符命名规范
- 目前只接触到了变量,所以,目前介绍变量的命名规范
(1)见名知意
-
明了:尽量做到,看到名字,就知道是什么意思
-
简洁:尽量在确保“明了”的前提下,减少名字的长度
(2)下划线命名法
- 多个单词组合变量名,要使用下划线做分隔,如 student_nickname
(3)英文字母全小写
- 命名变量中的英文字母,应全部小写
七、运算符
1、算术运算符
(1)基本介绍
运算符 | 描述 | 实例 |
---|---|---|
+ | 两数相加 | 10 + 20 输出结果为 30 |
- | 得到负数或两数相减 | 10 - 20 输出结果为 -10 |
* | 两数相乘或是返回一个被重复若干次的字符串 | 10 * 20 输出结果为 200 |
/ | 两数相除 | 10 / 20 输出结果为 0.5 |
// | 两数相除并返回商的整数部分 | 9 // 2 输出结果为 4 |
% | 两数相除并余数 | 10 % 5 输出结果为 0 |
** | 幂运算 | 10 ** 2 表示 10 的 2 次方, 输出结果为 100 |
(2)基本使用
print("10 + 20 输出结果为", 10 + 20)
print("10 - 20 输出结果为", 10 - 20)
print("10 * 20 输出结果为", 10 * 20)
print("10 / 20 输出结果为", 10 / 20)
print("9 // 2 输出结果为", 9 // 2)
print("10 % 5 输出结果为", 10 % 2)
print("10 ** 2 输出结果为", 10 ** 2)
- 输出结果
10 + 20 输出结果为 30
10 - 20 输出结果为 -10
10 * 20 输出结果为 200
10 / 20 输出结果为 0.5
9 // 2 输出结果为 4
10 % 5 输出结果为 0
10 ** 2 输出结果为 100
2、赋值运算符
(1)基本介绍
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符,把等号右边的结果赋给左边的变量 | num = 1 + 2 * 3,num = 7 |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
(2)基本使用
num = 10
num += 5
print("num += 1 输出结果为", num)num = 10
num -= 5
print("num -= 5 输出结果为", num)num = 10
num *= 5
print("num *= 5 输出结果为", num)num = 10
num /= 5
print("num /= 5 输出结果为", num)num = 10
num %= 4
print("num %= 4 输出结果为", num)num = 10
num //= 3
print("num //= 3 输出结果为", num)num = 10
num **= 2
print("num **= 2 输出结果为", num)
- 输出结果
num += 1 输出结果为 15
num -= 5 输出结果为 5
num *= 5 输出结果为 50
num /= 5 输出结果为 2.0
num %= 4 输出结果为 2
num //= 3 输出结果为 3
num **= 2 输出结果为 100
八、字符串扩展
1、字符串定义
(1)定义格式
- 双引号定义法
"【字符串】"
- 单引号定义法
'【字符串】'
- 三个双引号定义法
"""【字符串】"""
- 注:三个双引号定义法,在三个双引号范围内,均是字符串
text = """【字符串】【字符串】
"""
- 三个单引号定义法
'''【字符串】'''
- 注:三个单引号定义法,在三个双引号范围内,均是字符串
text = '''【字符串】【字符串】
'''
(2)基本使用
text1 = "Hello World1"
text2 = 'Hello World2'
text3 = """Hello World3-1Hello World3-2
"""
text4 = '''Hello World4-1Hello World4-2
'''print(text1)
print(text2)
print(text3)
print(text4)
- 输出结果
Hello World1
Hello World2
Hello World3-1Hello World3-2Hello World4-1Hello World4-2
2、字符串的引号嵌套
(1)基本介绍
-
单引号定义法,可以内含双引号
-
双引号定义法,可以内含单引号
-
可以使用转移字符(\)来将引号解除效用,变成普通字符串
(2)基本使用
# 在字符串内包含双引号
str1 = '"Hello World1"'
print(str1)# 在字符串内包含单引号
str2 = "'Hello World2'"
print(str2)# 使用转移字符(\)来将引号解除效用
str3 = "\"Hello World3\""
print(str3)str4 = '\'Hello World4\''
print(str4)
- 输出结果
"Hello World1"
'Hello World2'
"Hello World3"
'Hello World4'
3、字符串拼接
- 字符串字面量之间的拼接
print("Hello " + "World") # Hello World
- 字符串字面量和字符串变量的拼接
name = "jack"
print("Hello " + name) # Hello jack
- 注:无法和非字符串类型进行拼接
4、字符串格式化
(1)字符串拼接的缺点
-
变量过多,拼接起来太麻烦
-
字符串无法和数字或其它类型完成拼接
(2)字符串格式化使用
name = "jack"
age = 20
print("我的名字是 %s" % name) # 我的名字是 jack
print("我的名字是 %s,我今年 %s 岁" % (name, age)) # 我的名字是 jack,我今年 20 岁
符号 | 说明 |
---|---|
% | 表示占位 |
s | 表示将变量变成字符串放入占位位置 |
- 注:多个变量占位,变量要用括号括起来,并按照占位的顺序填入,使用逗号分隔
(3)常用数据类型占位
格式符号 | 说明 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点数,放入占位位置 |
- 基本使用
name = "smith"
age = 15
score = 90.5
print("我的名字是 %s,我今年 %d 岁,我的成绩是 %f" % (name, age, score)) # 我的名字是 smith,我今年 15 岁,我的成绩是 90.500000
5、字符串格式化数字精度控制
(1)基本介绍
- 使用辅助符号“m.n”来控制数据的宽度和精度
符号 | 说明 |
---|---|
m | 控制宽度,要求是数字(很少使用),当设置的宽度小于数字自身时,不生效 |
.n | 控制小数点精度,要求是数字,会进行小数的四舍五入 |
示例 | 说明 |
---|---|
%5d | 表示将宽度设置为 5 位 如,对数字 11 设置 %5d,结果是:【空格】【空格】【空格】11,3 个空格补足宽度 |
%5.2f | 表示将宽度设置为 5 位,将小数点精度设置为 2 位,小数点和小数部分也加入宽度计算 如,对数字 11.345 设置 %7.2f,结果是:【空格】【空格】11.35,2 个空格补足宽度,小数部分四舍五入为 .35 |
%.2f | 表示不限制宽度,只将小数点精度设置为 2 位 如,对数字 11.345 设置 %.2f,结果是:11.35 |
(2)基本使用
num1 = 11
num2 = 12.345print("数字 11 宽度设置为 5,结果是:%5d" % num1)
print("数字 11 宽度设置为 1,结果是:%1d" % num1)
print("数字 12.345 宽度设置为 7,小数精度设置为 2,结果是:%7.2f" % num2)
print("数字 12.345 不限制宽度,小数精度设置为 2,结果是:%0.2f" % num2)
- 输出结果
数字 11 宽度设置为 5,结果是: 11
数字 11 宽度设置为 1,结果是:11
数字 12.345 宽度设置为 7,小数精度设置为 2,结果是: 12.35
数字 12.345 不限制宽度,小数精度设置为 2,结果是:12.35
6、字符串快速格式化
(1)基本介绍
f"{【变量】}"
- 注:这种写法不做精度控制,也不理会类型,适用于快速格式化字符串
(2)基本使用
name = "tom"
age = 15
score = 90.5
print(f"我的名字是 {name},我今年 {age} 岁,我的成绩是 {score}")
- 输出结果
我的名字是 tom,我今年 15 岁,我的成绩是 90.5
7、表达式格式化
(1)什么是表达式
-
表达式是一条具有明确执行结果的代码语句
-
如:1 + 1、5 * 2 就是表达式,因为有具体的结果,结果是一个数字
-
又或者,常见的变量定义:name = “张三”、age = 11 + 11,等号右侧的都是表达式,因为它们有具体的结果,结果赋值给了等号左侧的变量
(2)表达式格式化使用
print("2 * 3 的结果是:%d" % (2 * 3))
print(f"3 * 4 的结果是:{3 * 4}")
print("'Hello World' 在 Python 中的类型是:%s" % type('Hello World'))
- 输出结果
2 * 3 的结果是:6
3 * 4 的结果是:12
'Hello World' 在 Python 中的类型是:<class 'str'>
九、键盘输入
1、input() 语句
-
print() 语句可以完成将内容(字面量、变量等)输出到屏幕上,在 Python 中,与之对应的还有一个 input() 语句,用来获取键盘输入
-
使用 input() 语句可以从键盘获取输入,使用一个变量接收 input() 语句获取的键盘输入数据即可
-
可以通过使用 input(【提示信息】) 用以在使用者输入内容之前显示提示信息
-
无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型
2、基本使用
# 输入字符串类型
print("请告诉我你的名字:")
name = input()
print("你的名字是", name)print("------------------------------")# 输入数字类型
age_str = input("请告诉我你的年龄:")
print(f"你输入的年龄是:{age_str},类型是:{type(age_str)}")
age = int(age_str)
print("你的年龄现在类型是:", type(age))
- 输出结果
请告诉我你的名字:
jack
你的名字是 jack
------------------------------
请告诉我你的年龄:20
你输入的年龄是:20,类型是:<class 'str'>
你的年龄现在类型是: <class 'int'>
相关文章:

1.Python 引入(字面量、注释、变量、数据类型、数据类型转换、标识符、运算符、字符串扩展)
一、字面量 1、基本介绍 在代码中,被写直接下来的、不需要通过变量存储的值,称之为字面量 2、常用值类型 类型说明数字(Number)整数(int),例如:10、-10浮点数(float&…...

【AI知识点】梯度消失(Vanishing Gradient)和梯度爆炸(Exploding Gradient)
梯度消失(Vanishing Gradient) 和梯度爆炸(Exploding Gradient) 是神经网络训练中的常见问题,特别是在深层神经网络(DNN)或递归神经网络(RNN)中。这两者主要与反向传播算…...

在 ArkTS 网络请求中,重新封装一下 http 模块
在ArkTS中,重新封装http模块可以提供一个更简洁、更易于使用的API,同时隐藏底层细节,使开发者能够更专注于业务逻辑。以下是一个简单的示例,展示了如何重新封装鸿蒙系统的kit.NetworkKit中的http模块: // 创建一个新的…...

Microsoft 更新 Copilot AI,未來將能使用語音並看到你瀏覽的網頁
不過受到 Recall 事件的影響,更新的推出將更緩慢謹慎。 Microsoft 也同步對其網頁版及行動版的 Copilot AI 進行大改版。這主要是為網頁版換上了一個較為簡單乾淨的介面,並增加了一些新的功能,像是 Copilot Voice 能讓你與 AI 助手進行對話式…...

系统架构设计师-论文题(2021年下半年)
1.试题一 论面向方面的编程技术及其应用针对应用开发所面临的规模不断扩大、复杂度不断提升的问题,面向方面的编程Aspect Oriented Programming,AOP技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序,通常要把程序进行功能划分和封装。一…...

selenium的webdriver常用方法和属性介绍(2)
selenium的webdriver介绍 从selenium导入webdriver模块,在pycharm中跳转webdriver模块的__init__.py文件,内容如图所示:从selenium包的子目录中导入了很多模块并做了重命名,用于支持如下 Chrome/Edge/Ie/Firefox/Safari浏览器。 使…...

73.【C语言】C/C++的内存区域划分
目录 1.内存里的几个区域 2.示意图 3.解释 1.内存里的几个区域 除了耳熟能详的栈区,堆区,静态区,还有内核空间,内存映射段,数据段,代码段 2.示意图 3.解释 栈区(stack area):局部变量,函数参数,返回数据,返回地址 内存映射段:将文件映射到内存 映射的含义: 如果看过李忠…...

k8s 中存储之 hostPath 卷
目录 1 hostPath 卷介绍 2 hostPath 卷实际应用操作 2.1 创建 pod 资源类型 2.2 修改清单文件增加 hostPath 对应的参数配置 2.3 查看是否创建 卷 和 pod 2.4 创建发布文件测试是否正常访问 1 hostPath 卷介绍 EmptyDir中数据不会被持久化,它会随着Pod的结束而销…...

Cherno游戏引擎笔记(73~90)
------- scene viewport ---------- 》》》》做了两件事:设置视口和设置相机比例 》》》》为什么要设置 m_ViewportSize 为 glm::vec2 而不是 ImVec2 ? 因为后面需要进行 ! 运算,而 ImVec2 没有这个运算符的定义,只有 glm::vec2 有这个运算…...

helm 测试卸载或删除(redis)
作者:程序那点事儿 日期:2024/02/07 18:30 查看redis 集群实例 kubectl get all -n redis 卸载集群实例 helm uninstall redis -n redis 删除pvc kubectl get pvc -n redis kubectl delete pvc redis-data-redis-master-0 redis-data-redis-replicas…...

关于Qt音乐播放器进度条拖拽无用的问题解决方案
在使用Qt编写音乐播放器的时候,进度条关联播放音乐基本是必须的。那么在设计的过程中你可能会碰到一个奇怪的问题就是拖拽进度条的时候,可能会报错如下: 然后音乐就卡着不动了。。。 connect(ui->volume_toolButton,&VolumeToolBtn::…...

Redis:初识Redis
Redis:初识Redis Redis 介绍分布式架构Redis特性安装Redis Redis 介绍 在官网中,是如下介绍Redis的: in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and messag…...

【React】增量传输与渲染
增量传输 增量传输是一种高效的文件传输方式,其核心原理在于只传输文件中发生变化的部分,而不是整个文件。以下是增量传输的详细解析: 定义与原理: 增量传输通过比对原始文件和目标文件,找出两者之间的差异部分&#…...

【回眸】Tessy 单元测试软件使用指南(四)常见报错及解决方案与批量初始化的经验
前言 分析时Tessy的报错 1.fatal error: Tricore/Compilers/Compilers.h: No such file or directory 2.error: #error "Compiler unsupported" 3.warning: invalid suffix on literal;C11 requires a space between literal and string macro 4.error: unknown…...

2024 - 10 :生物药学: 如何获取对应核心靶点基因的激酶
如何获取对应核心靶点基因的激酶 步骤 1:收集蛋白质信息 获取 UniProt ID: 对于每个基因,使用 UniProt 数据库获取其对应的蛋白质信息,包括 UniProt ID、序列和功能注释。UniProt 网站:https://www.uniprot.org/ 示…...

STM32 HAL库UART查询方式实例
本文中介绍USART编程涵盖了三种主要方法,详细介绍STM32F407微控制器结合HAL库,通过UART的查询方式来实现一个实用的密码验证程序。提示用户键入一个字符作为密码。只有当用户精准地输入字符6时,系统才会反馈“密码正确”的确认信息。反之&…...

数据结构--线性表双向链表的实现
目录 思路设计 总体思维导图 插入部分 头插法尾插法 任意位置插入 删除部分 头结点 尾节点 中间节点 只有头结点且删除的就是头结点 编辑 清空链表部分 遍历清空链表的所有节点 不遍历清空 各部分代码 Main部分 MyListedList部分 IndexOutOfException部分 …...

第一个Flutter应用(一)
1、创建项目 1.1 新建 1.2 选择Flutter SDK的位置 1.3 项目名称 英文单词加下划线起名规范,其他默认即可。 1.4 点击运行 发生报错显示我们的JAVA版本不符合 1.5 更改版本设置 1.6 再次启动项目 2、分析页面代码 以下是lib/main.dart的源代码(为了阅…...

批量查询快递单号物流信息:高效掌握最后更新动态
在电商和物流行业蓬勃发展的今天,快递单号的物流信息追踪显得尤为重要。对于商家和客户来说,了解包裹的最后更新物流状态是确保货物安全、及时送达的关键。本文将介绍如何批量查询快递单号的物流信息,帮助您高效掌握每个包裹的最新动态。 1运…...

随着硬件水平的提升,LabVIEW有哪些过去的编程方法被淘汰掉了
随着硬件水平的不断提升,尤其是处理器性能、存储能力、通信速度等方面的飞跃,LabVIEW的一些早期编程方法逐渐被更高效、现代的编程技术所取代。以下是一些随着硬件升级而逐步淘汰的LabVIEW编程方法和技术: 1. 低效的数据流传输方式 过去由于…...

Leetcode 206.反转链表
题目链接:206. 反转链表 - 力扣(LeetCode) 题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 解题思路…...

基于springboot和vue.js 养老院管理系统设计与实现
博主介绍:专注于Java(springboot ssm springcloud等开发框架) vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆…...

高效数据处理:MapReduce与Hive的实战应用
文章目录 hive分析汇总互联网日志分析1.项目需求2.数据说明3.算法思路 用户电影推荐1.项目需求2.数据说明3.算法思路4.解题步骤 简单数据统计WordCount数据说明 疫情数据分析1.项目需求2.数据说明step1:创建ods层数据表step2:创建dwd层数据表step3:创建d…...

【含开题报告+文档+PPT+源码】基于springboot的迎新系统
开题报告 大学迎新系统是为了满足大学在新生入学时的信息化处理需求而开发的系统。在传统方式下,我们新生接待工作是需要新生报名表,就使得我们需要耗费大量的纸张,这将造成资源浪费。在接待新生的时候需要让新生勾选、填写大量的表格&#…...

C#-委托delegate
C#-委托delegate 通常情况下,函数内部需要调用其他函数来实现代码的重用,但这样有一个问题: 如果需要更换所调用的函数则需要对该函数的定义再次修改, 事实上,在程序运行过程中,函数也是作为一个存储在堆中…...

编译Thingsboard3.7.0的过程记录
1、首先去掉test测试,否则会有一堆问题,pom.xml修改如下: <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>${surefire.version}</ve…...

vulnhub-THE PLANETS-EARTH靶机
下载并导入靶机至VMWare,设置网络模式为NAT,开机 开启攻击机(kali),也设置为Nat模式,与靶机处于同一网段 扫描靶机ip Nmap 192.168.114.0/24 扫描网段内活跃的主机 可以推断靶机ip为192.168.114.129 扫描…...

【C语言】分支和循环(2)
🤔个人主页: 起名字真南 😙个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 关系操作符2 条件操作符3 逻辑操作符 :|| ,&& ,!3.1 逻辑取反运算符3.2 与运算符3.3 或运算符3.4 练习闰年判断3.5 短…...

Python数据分析-远程办公与心理健康分析
一、研究背景 随着信息技术的飞速发展和全球化的推进,远程工作(Remote Work)成为越来越多企业和员工的选择。尤其是在2020年新冠疫情(COVID-19)爆发后,全球范围内的封锁措施使得远程工作模式迅速普及。根据…...

LabVIEW提高开发效率技巧----使用动态事件
在LabVIEW开发过程中,用户交互行为可能是多样且不可预知的。为应对这些变化,使用动态事件是一种有效的策略。本文将从多个角度详细介绍动态事件的概念及其在LabVIEW开发中的应用技巧,并结合实际案例,说明如何通过动态事件提高程序…...