Python入门0基础学习笔记
1.编程之前
在编写代码之前,还有两件事需要做:
- 安装 Python 解释器:计算机是没法直接读懂 Python 代码的,需要一个解释器作为中间的翻译,把代码转换成字节码之后再执行。
Python 是翻译一行执行一行。一般说的安装 Python 本质上就是安装 Python 的解释器。
- 安装代码编辑器:就像写文本、表格、PPT 等用 WPSOffice、MSOffice 等一样。这里用 pycharm
.
2.在 Windows 上安装 Python 和 pycharm
Python的安装
- 下载Python


- 安装Python
下载完后打开安装包

注意最底下的"Add Python 3.8 to Path"(将Python加入环境变量)一定要勾选!!!这样就可以免去之后环境配置的烦恼。
①第一个框指的是默认安装,也就是一切都按默认的来,点击Install Now之后程序就会开始安装,并且安装路径为C盘(可以在Install Now下面一行看到安装路径),不需要进行选择,但是不推荐。
②第二个框指的是自定义安装,建议选择,毕竟可以更改路径嘛。
(1)点击Customize Installation之后,来到这个界面,这里默认全选,直接点next即可。

(2)在这一步,要注意的是要勾选上第一个框Install for all users,勾选上之后第五个框也会跟着自动选中。然后我们可以更改一下安装路径,我选择了E盘的Python3.12.1文件夹,可以根据自己的习惯进行选择。

(3)点击Install之后,等待安装完成即可

(4)安装完成,点击close关闭即可,安装结束

3、验证安装是否成功
(1)打开cmd(Win+R呼出运行,并输入cmd,回车打开cmd,或者在桌面空白处右键选择“在此处打开命令窗口”)

(2)输入python或python -V以及pip -V(注意有个空格,且V大写),看到如下图信息,即代表安装成功,并且环境变量添加成功。如果提示’python’不是内部或外部命令,也不是可运行程序或批处理文件,说明你的环境变量没有自动配置,需要手动进行配置。

这两种方法都可以测试是否安装成功
Python的卸载
卸载其实很简单,再次运行刚才的安装程序(“python-3.12.1-amd64.exe”),会发现界面跟之前不同了![]()

直接选择第三个,Uninstall即可卸载
卸载完成之后就如图所示,这样Python就彻底删除完成啦!
pycharm的安装
在浏览器搜索“pycharm官网”:

进去之后,点击右上角的“DOWMLOAD”:
下载即可!
下载完打开![]()
1. 点击下一步

2. 自定义安装目录、下一步

3. 在这里,直接全部勾选就行

4. 点击安装即可

5. 安装完成

6. 打开并激活后如图:

3.pycharm设置
设置中文

点击restartIDE
4.创建第一个Python项目
创建项目
点击新建项目

设置创建项目的名称和位置

创建好了项目如下:

pycharm创建了一个venv文件夹,表示这个项目独立的虚拟环境,让不同的项目可以用不同的解释器版本还有安装的第三方库等等(这个文件夹不要动、不要删、也不要往里面塞东西)

编写文件



5.输出helloworld
创建好第一个Python项目后,在Python文件中,开始编写代码

Python中,想要输出打印什么内容,直接print()即可,Python不区分大小写。
但是,因为代码中的字符串或字符是用英文引号来包含的,如果一堆英文双引号(英文单引号)里面还包含了其他的英文双引号(英文单引号),语法会错误,解释器会认为是字符串里面有一个字符串。
这时候可以用转义字符来解决。或者用中文的引号代替也可以。
6.四种基本操作
- 字符串连接
- 多个字符串之间需要用+进行连接
-
print("我是一"+'个中国'+"人"+'!') # 我是一个中国人!
- 单双引号转义
- 代码中的字符串或字符是用英文引号来包含的,如果一堆英文双引号(英文单引号)里面还包含了其他的英文双引号(英文单引号),语法会错误
- 外双内单、外单内双都不会报错,外单内单、外双内双都会报错
- 可以使用转义字符来进行解决
-
print("he said:\"hello\"") # he said:"hello"
- 换行
- Python中,不能随便换行,因为Python解释器读一行解释一行
- python中,使用换行转义字符\n进行换行

-
print("我是一个\n中国人!")
- 三引号换行字符串
如果用以上方法打印一首诗,会很麻烦,可以使用三引号(三个单引号或双引号)
print('''静夜思
唐·李白
床前明月光
疑是地上霜
举头望明月
低头思故乡''')

7.变量
使用
在Python中,变量的定义和赋值是同时进行的。你不需要预先声明变量的类型,只需要直接为其分配一个值即可。Python会自动推断变量的类型。
例如:
x = 5 # x 现在是一个整数
y = "Hello" # y 现在是一个字符串
z = 3.14 # z 现在是一个浮点数
使用:

命名规范
Python变量命名规则如下:
- 变量名只能包含字母、数字和下划线。不能包含其他特殊字符,如空格、连字符或其他标点符号。
- 变量名必须以字母(大写或小写)或下划线开头。数字不能作为变量名的开头字符。
- 变量名对大小写敏感。例如,变量名myVariable和myvariable被视为两个不同的变量。
- 变量名要有意义,不要用汉字和拼音去命名。
- 推荐使用驼峰型(GuessAge或guessAge)和下划线(guess_age)来命名。
- 常量通常使用大写来定义。
- 不能以Python中的关键字命名。
- 变量命名不能使用关键字
关键字平时常见常记,不需要特别去背
8.导入函数库

Python中的基本数学运算和大多数编程语言以及数学中的运算规则一样。
另外,Python和大多数编程语言一样可以运算sin()、cos()、tan()、平方、立方、根号……
这些特殊运算需要使用函数库里的函数(库函数)。
Python中的函数分为内置函数和非内置函数。printf()就是一个函数,它太常用了,所以Python默认导入了,就是内置函数。非内置函数则需要导入函数库才能使用(相当于Java中的导包)。
# 案例:使用math函数进行数学运算
import math
a=math.sin(12)
print('sin(12)=',a)
b=math.log(123)
print('log(123)=',b)

导入其他函数库类似于这个math,其他的可以用到的时候再进行积累
9.注释
在Python中,注释是用于为代码添加说明或暂时禁用某些代码行的机制。注释对于阅读代码的人来说是非常有用的,可以帮助理解代码的意图和功能。
在Python中有两种类型的注释:单行注释和多行注释。
1. 单行注释:使用井号(#)开头。从#开始直到该行结束的部分都被视为注释。例如:
# 这是一个单行注释
print("Hello, World!") # 这也是一个单行注释
2. 多行注释:也称为块注释,通常用于临时禁用一段代码或为代码块提供更多详细的说明。多行注释以三个单引号或三个双引号开头和结尾。例如:
'''
这是一个多行注释块。
你可以在这里写下多行文字来解释代码的功能或意图。
'''
"""
这也是一个多行注释块。
你可以使用三个双引号来创建多行注释。
"""
使用注释是一种很好的编程习惯,它可以帮助你和其他人更好地理解代码的功能和工作方式。在编写代码时,适当地添加注释可以帮助提高代码的可读性和可维护性。
10.数据类型

字符串
- 被引号包裹
- 使用len()函数得到字符串的长度
- "hello"[3]提取字符串中第4个字符

整型和浮点型

在Python中,浮点数类型是使用float表示的,而不是double。Python中的浮点数默认使用双精度格式,这意味着它们具有较高的精度和范围。
如果你需要声明一个单精度浮点数,可以在数字后面添加字母f
single_precision_num = 1.23456789f
布尔类型

空值类型

11.Python的两种模式
Python有两种模式,命令行模式和交互模式
- 命令行模式:之前使用的都是命令行模式,也就是写好命令后,保存并运行整个文件,Python解释器会对文件一行一行的进行解析和执行
- 交互模式:可以不读完整个文件,而是输入完一行就执行一行,并立刻显示该行执行结果出来
如何使用交互模式?

当系统中安装后Python后,打开命令提示符,输入python并回车
即可输入一行执行一行
12.键盘录入input()

input()函数的括号里可以写东西也可以不写。
input接收键盘录的数据并返回,但是,input()返回的都是字符串,即使你输入的事数字,返回的也是字符串,因此就需要用到类型转换
13.类型转换
int()可以将其他类型转换为整数类型
float()…………………………浮点数
str()……………………………字符串
等等
14.逻辑语句
if
age = int(input("Enter your age: "))
if 0 < age < 18:print("你未成年")print("因为你还不到18岁")
elif 18 < age < 65:print("你是中年人")
else:print("你是老年人")


if嵌套
age = int(input("Enter your age: "))
if 0 < age < 18:print("你未成年")if age < 10:print("你太小了,还不到十岁")
elif 18 < age < 65:if age > 35:print("你都过了三十五了,结婚了吗")print("你是中年人")
else:if age>100:print("祝你身体健康")print("你是老年人")
逻辑运算符and/or/not

- and相当于&&而不是&
- or相当于||而不是|
- not相当于!
for
示例:for循环,从1循环到5打印输出
for i in range(1, 6): print(i)
range用法
range() 是 Python 中内置的一个函数,用于生成一个整数序列。这个函数在很多场合都非常有用,特别是在需要循环遍历一系列数字时。以下是 range() 函数的详细用法说明:
基础用法
当你只需要生成一个从 0 开始的序列时,可以只传递一个参数给 range(),这个参数表示序列的结束值
for i in range(5): print(i)
步长参数
第三个参数表示序列中每个数字之间的步长。例如,range(1, 6, 2) 会生成从 1 到 5 的奇数序列。
for i in range(1, 6, 2): # 等价于 range(1, 6, 2) print(i)
输出:
1 3 5
负数步长参数
如果步长参数是负数,则序列将从结束值开始递减到第一个值。例如,range(5, 0, -1) 会生成从 5 到 1 的递减序列。
for i in range(5, 0, -1): # 等价于 range(5, -1, -1) 和 range(5, -1, -1) 的结果相同,因为结束值小于开始值。但不建议使用这种用法,因为它可能导致混淆。在实践中,应始终确保结束值大于或等于开始值。 print(i)
range()函数返回的是一个“迭代器”,这意味着它不会一次性计算整个序列,而是每次只返回一个数字,直到序列结束。这使得它在处理大量数据时更加高效。range()函数也可以与len()函数结合使用,以在指定次数内重复执行某个操作。例如,for i in range(len(some_list)):可以遍历列表的索引。
while
语法
while condition: # code block to be executed
示例
i = 0
while i < 5: print(i) i += 1
15.列表
Python列表是一种可变的数据类型,可以存储多个值,并且可以随时修改和更新。下面我们将从定义、创建、使用、修改和查询等方面详细讲解Python列表。
尽管Python中的列表和Java中的集合在实现方式和功能上存在一些差异,但它们的用法确实非常相似。在Python中,列表是一种可变序列类型,可以包含不同类型的元素,并且可以随时修改和更新。在Java中,集合是一个接口,它提供了多种实现方式,包括List、Set和Queue等。
无论是Python中的列表还是Java中的集合,它们都提供了类似的操作,如添加、删除和查找元素等。因此,在用法上,Python的列表和Java的集合非常相似。
当然,由于Python和Java是两种不同的编程语言,它们的语法和规范也存在一定的差异。因此,在使用Python的列表和Java的集合时,需要注意它们之间的差异,以便更好地理解和使用它们。
list1 = [1, 'hello', "我是人", True]
print(list1) # [1, 'hello', '我是人', True]
list1.append(123) # 添加一个整数123
print(list1) # [1, 'hello', '我是人', True, 123]
list1.remove('我是人') # 删除字符串‘我是人’
print(list1) # [1, 'hello', True, 123]# 在索引为1的位置插入2
list1.insert(1, 2)
print(list1) # [1, 2, 'hello', True, 123]
这里只是示例了一部分,其他用法需要在实际应用中进行积累
16.字典
字典相当于JAVA中的map集合
字典是有键值对的数据结构,一个键对应一个值,键是用来查找值的。


# 在字典里放置键值对
contact = {"小明": "123","小花": "1232","小黄": "12345"}
# 获取某个键的值
print(contact["小明"]) # 123
'''
需要注意的是,键的类型是不可变的
列表是可变的,整数、布尔、浮点数是不可变的
Python中有不可变但又很像列表的数据结构:元组tuple'''# 判断某个键的值是否存在:
print("小明" in contact) # True
# 删除一个字典的键值对
del contact["小花"]
# 打印字典
print(contact)# 查看字典中有多少个键值对
print(len(contact))
这里只是示例了一部分,其他用法需要在实际应用中进行积累

17.格式化字符串
Python的格式化字符串是一种非常方便的方法,用于在字符串中插入变量和表达式。以下是Python格式化字符串的一些基本概念和示例。
- 字符串格式化操作符(%):
这是Python中最古老的字符串格式化方法。使用%操作符将值插入字符串中。
示例:
name = "Alice"
age = 30
print("My name is %s and I'm %d years old." % (name, age))
输出:
My name is Alice and I'm 30 years old.
- str.format()方法:
这是Python 2.6及以后版本中引入的另一种字符串格式化方法。使用str.format()方法,可以在字符串中插入变量和表达式。
name = "Bob"
age = 25
print("My name is {} and I'm {} years old.".format(name, age))
输出
My name is Bob and I'm 25 years old.
- f-string(Python 3.6及更高版本):
从Python 3.6开始,可以使用f-string进行字符串格式化。在字符串前加上字母"f",然后在字符串中直接使用大括号{}来插入变量和表达式。
name = "Charlie"
age = 40
print(f"My name is {name} and I'm {age} years old.")
My name is Charlie and I'm 40 years old.
18.函数
Python函数的定义、声明、使用和调用是编程中非常重要的概念。下面我将详细讲解这些概念,并配合代码示例进行说明。
- 函数的定义:
在Python中,函数的定义使用def关键字,后面跟着函数名和参数列表,然后是冒号(:)和缩进块。
示例:
def greet(name): print(f"Hello, {name}!")
这个函数定义了一个名为greet的函数,它接受一个参数name,然后打印出一个问候语。
2. 函数的声明:
在Python中,函数的声明就是函数的定义。当你定义一个函数时,你已经声明了它的存在。函数一旦被定义,就可以被调用。
3. 函数的使用(调用):
要使用(调用)一个函数,只需要在函数名后面加上括号,并根据需要传递参数。
示例:
greet("Alice") # 输出: Hello, Alice!
在这个例子中,我们调用了greet函数,并传递了字符串"Alice"作为参数。函数接收到参数后,会执行定义的代码块,打印出问候语。
4. 可选参数:
你可以在函数的参数列表中指定可选参数,以便在调用函数时为其提供默认值。
示例:
def greet(name, greeting="Hello"): print(f"{greeting}, {name}!")
这个版本的greet函数接受两个参数:name和greeting。如果调用函数时没有提供greeting参数的值,那么它的默认值将是"Hello"。
5. 关键字参数:
当调用函数时,可以使用关键字参数来指定参数的值。关键字参数允许你明确指定每个参数的名称和值。
示例:
greet(greeting="Hi", name="Bob") # 输出: Hi, Bob!
在这个例子中,我们调用了greet函数,并使用了关键字参数来指定greeting和name的值。
6. 默认参数值:
在函数定义中,可以为参数指定默认值。这样,在调用函数时可以不提供该参数的值,此时将使用默认值。
示例:
def greet(name, greeting="Hello"): print(f"{greeting}, {name}!")
在这个例子中,greeting参数有一个默认值"Hello"。因此,在调用函数时可以不提供greeting参数的值。例如:greet("Alice")将输出:Hello, Alice!,因为默认的greeting值被使用。
7. 可变数量的位置参数:
可以使用三个点(...)来表示可变数量的位置参数。这些参数允许你传递任意数量的位置参数给函数。这些参数在函数内部被收集到一个元组中。
8. 可变数量的关键字参数:
使用两个星号(**)来表示可变数量的关键字参数。这些参数允许你传递任意数量的关键字参数给函数。这些参数在函数内部被收集到一个字典中
19.创建类

# 创建一个类
class Cat:def __init__(self): # 无参构造方法,self是必须要有的,是对自身的调用,相当于JAVA中的thisself.name = '黑猫'# ------------------------------
# 使用一个类
cat1 = Cat()
print(cat1.name) # 黑猫# 创建一个类并使用
class Dog:def __init__(self, dagName):self.dagName = dagName# 使用一个类
dog1 = Dog("白狗")
print(dog1.dagName) # 白狗# 定义方法
class Person:def __init__(self, pName, pAge):self.pName = pNameself.pAge = pAgedef eat(self):print("人吃饭了")# 调用
p1 = Person("小明", 12)
print(p1.pName) # 小明
print(p1.pAge) # 12
p1.eat() # 人吃饭了
20.继承


21.对文件进行操作

不写r或w默认为只读模式



当第一次对文件读取完之后,程序会停留在文末
如果再进行读取,会返回一个空字符串,因为此时程序已经读到了文末
- 在文件很大的情况下,尽量不要用read(),引文读取的文件会占用内存甚至将内存给爆掉


关闭文件


22.异常处理

# 其他
代码后面分号的使用
在Python中,每行代码后面通常不需要分号。分号在Python中主要用于在一行中分隔多个语句。如果一行中只有一条语句,那么通常不需要分号。
例如,以下是一些Python代码示例,其中每条语句后面都没有分号:
x = 5
y = 10
z = x + y
print(z)
然而,如果需要在同一行中编写多个语句,可以使用分号将它们分隔开。例如:
x = 5; y = 10; z = x + y; print(z)
b的某某次方的表示
b的平方(b的2次方):
- b*b
- b**2
b的立方:
- b*b*b
- b**3
根号b:
- 库函数
- b**(1/2)
- b**0.5
相关文章:
Python入门0基础学习笔记
1.编程之前 在编写代码之前,还有两件事需要做: 安装 Python 解释器:计算机是没法直接读懂 Python 代码的,需要一个解释器作为中间的翻译,把代码转换成字节码之后再执行。 Python 是翻译一行执行一行。一般说的安装 …...
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
前言 当你需要统计训练数据中每个类别标签有多少,并且想知道坐标中心分布在图像的位置信息时,你可以利用一下脚本进行计算! 步骤 要绘制热力图来分析VOC数据的分布统计,可以按照以下步骤进行: 数据处理࿱…...
【回顾2023,展望2024】砥砺前行
2023年总结 转眼间,迎来了新的一年2024年,回顾2023,对于我来说是一个充满平凡但又充实又幸运的一年。这一年经历了很多的事情,包括博客创作、技术学习、出书、买房等,基本上每件事情都是一个前所未有的挑战和机遇、使…...
Stable Diffusion初体验
体验了下 Stable Diffusion 2.0 的图片生成,效果还是挺惊艳的,没有细调prompt输入,直接输入了下面的内容: generate a Elimination Game image of burnning tree, Cyberpunk style 然后点击生成,经过了10多秒的等待就输…...
缓存解析:从架构设计到Redis应用及最佳实践
典型架构设计中缓存的存储位置 在现代软件架构中,缓存是优化数据检索、提高应用性能的关键组件。缓存的存储位置多种多样,每个位置针对特定的优化目标和需求。理解这些层级对于设计高效的系统至关重要。 浏览器缓存:这是最接近用户端的缓存层…...
【C#】使用 LINQ 中的 Skip() 和 Take()进行分页,为什么要分页,分页作用是什么
欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…...
2024云服务器哪家好?阿里云、腾讯云、华为云
作为多年站长使市面上大多数的云厂商的云服务器都使用过,很多特价云服务器都是新用户专享的,本文有老用户特价云服务器,阿腾云atengyun.com有多个网站、小程序等,国内头部云厂商阿里云、腾讯云、华为云、UCloud、京东云都有用过&a…...
docker compose安装gitlab
环境 查看GitLab镜像 docker search gitlab 拉取GitLab镜像 docker pull gitlab/gitlab-ce 准备gitlab-docker.yml文件 version: 3.1 services:gitlab:image: gitlab/gitlab-ce:latestcontainer_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url…...
Nginx——基础配置
和大多数软件一样,Nginx也有自己的配置文件,但它又有很多与众不同的地方,本帖就来揭开Nginx基础配置的面纱。 1、Nginx指令和指令块 了解指令和指令块有助于大家了解配置的上下文,下面是一个配置模板示例: 在这个配…...
计算机基础(存储单位)
1. 计算机中的存储单位有哪些 1.1 常见的计算机存储单位 计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB……来表示,如下所示: bit位、比特byte(B)字节、字Kill Byte(KB)千字…...
Leetcode 494 目标和
题意理解: 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ,在 1 之前添…...
Windows常用命令(文件相关、进程相关、网络相关、用户相关、特殊符号)
Windows常用命令 Windows常用命令 Windows常用命令0x01 基础操作0x02 文件操作0x03 进程操作0x04 网络相关0x05 用户相关0x06 特殊符号 0x01 基础操作 清屏:cls 关机:shutdown -s(关机)-r(重启) -f(强制)…...
摘:国六排放法规下的重型车车载终端的革新
系列文章目录 文章目录 系列文章目录一、国六排放法规下的重型车车载终端的革新二、使用步骤1.引入库2.读入数据 一、国六排放法规下的重型车车载终端的革新 添加链接描述 ascii码 二、使用步骤 1.引入库 代码如下(示例): import numpy a…...
java读取json文件并解析并修改
要在Java中读取和解析JSON文件,可以使用Java提供的JSON库,例如Jackson、Gson或JSON.simple。以下是使用Jackson库的示例代码: 首先,你需要添加Jackson库的依赖到你的项目中。如果你正在使用Maven,可以在pom.xml文件中…...
2024年前端面试中JavaScript的30个高频面试题之基础知识
中级 高级知识 充分准备你的下一个JavaScript面试,增强信心! 无论你是老手还是刚进入技术行业,这份2024年必备资源都将帮助你复习核心概念,从基本语言特性到高级主题。 在本文中,我汇总了30个最关键的JavaScript面试题以及详细的答案和代码示例。 深入探索这宝贵的收藏,以确…...
鸿蒙设备-开发板基础学习(BearPi-HM Micro)
theme: minimalism 每当学习一门新的编程语言或者上手一款新的开发板,在学习鸿蒙设备开发过程中,带大家写的第一个程序,通过这个程序,我们可以对鸿蒙设备开发的整个流程有一个初步的体验。BearPi-HM Micro开发板为例:…...
Oracle导入导出dump
创建目录: create directory *** as /bak; #***名称可以随便命名 需要手工创建/bak,并且此目录oracle用户有读取,目录地址空间要够用。 查看所有目录 select * from DBA_DIRECTORIES;---查询导入导出的目录 导入 impdp ****/**** direc…...
判断vector、string是否存在某个元素
1、string字符串中是否存在某个字符(char) string中find()返回值是字母在母串中的位置(下标索引),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数) …...
C语言--结构体详解
C语言--结构体详解 1.结构体产生原因2.结构体声明2.1 结构体的声明2.2 结构体的初始化2.3结构体自引用 3.结构体内存对齐3.1 对齐规则3.2 为什么存在内存对齐3.3 修改默认对⻬数 4. 结构体传参 1.结构体产生原因 C语言将数据类型分为了两种,一种是内置类型…...
外卖骑手与行人之间的非零和博弈
一、背景 自2013年成立以来,美团外卖一直保持着高速增长,通过提供便捷、高效的外卖服务,满足了大量消费者的需求。美团外卖的服务不仅限于基础的送餐服务,还涵盖了多种生活服务,如超市便利、药品配送等,满…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
Python实现简单音频数据压缩与解压算法
Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...
中国政务数据安全建设细化及市场需求分析
(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...
使用VMware克隆功能快速搭建集群
自己搭建的虚拟机,后续不管是学习java还是大数据,都需要集群,java需要分布式的微服务,大数据Hadoop的计算集群,如果从头开始搭建虚拟机会比较费时费力,这里分享一下如何使用克隆功能快速搭建一个集群 先把…...
