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

Python基础教程(一)

1.编程基础

1.1标识符

标识符是变量、函数、模块和其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命名规则,比如说:

        1、标识符是由字母 (A~Z 和 a~z) 、下划线和数字组成,但第一个字符不
能是数字。
        2、标识符不能和 Python 中的保留字(关键字)相同。
        3、Python 中的标识符中,不能包含空格、@、% 以及 $等特殊字符。
        4、在 Python 中,标识符中的字母是严格区分大小写的。
        5、Python 语言中,以下划线开头的标识符有特殊含义,例如:_width、__add、__init__

1.2 关键字

False    class    from    def    if    raise    in    True    try
assert    else    with    await  finally    or    None    and    del   
is    while    nonlocal    continue    global    pass    import    as    
elif    return    lambda    async    except    yield    break    for not

1.3变量

>>> greet="hahaha"
>>> greet
'hahaha'
>>> score=95.5
>>> score
95.5
>>> x=10
>>> x
10
>>> x=30
>>> x
30
>>> x=True
>>> x
True
>>>

1.4 语句

Python代码是由关键字、标识符、表达式和语句等构成的,语句是代码的重要组成部分。语句结尾的逗号加不加都可以。

>>> greet="Holle world"
>>> score=95.5
>>> a=b=c=10
>>> b
10
>>> score
95.5
>>>

1.5代码注释

#这是一个整形变量
score=95
print(score)#打印score变量
'''
zzz
bbfdf
hahahah
'''"""
gesgs
....
sdvss
"""

#表示单行注释

'''

'''表示多行注释

"""

"""表示多行注释

1.6模块

模块就是一个包含了Python定义和声明的“.py”文件。
import<模块名>
from<模块名> import<代码元素>
from<模块名> import <代码元素> as<代码元素别名>

2.数字类型的数据

2.1 数据类型

Python中有6种主要的内置数据类型:数字、字符串、列表、元组、集合和字典
Python中有4种数字类型整数类型、浮点类型、复数类型和布尔类型

2.2 整数类型

Python中整数类型为int类

>>> 10
10
>>> 0o10  #八进制
8
>>> 0x0A  #十六进制
10
>>> 0b1010  #二进制
10
>>> type(0x0a)
<class 'int'>
>>> 

2.3 浮点类型

Python中浮点类型为float类

>>> type(1.11)
<class 'float'>
>>> 

2.4 复数类型

复数在数学中被表示为: a+bi,其中a为实部,b为虚部,i为虚数单位。
在Python中虚数单位为j或者J。

>>> c=3+2j
>>> c
(3+2j)
>>> type(c)
<class 'complex'>
>>> a=complex(3,2)
>>> a
(3+2j)
>>> 

2.5 布尔类型

Python中的布尔类型为bool类,它只有两个值: True和False。

>>> bool(None)
False
>>> bool(0)
False
>>> bool([])
False
>>> bool(2)
True
>>> bool("")
False
>>> bool(" ")
True

2.6 数字类型相互转换

2.6.1 隐式类型的转换

数字之间可以进行数学计算,在进行数学计算时若数字类型不同,则会发
生隐式类型的转换。

>>> a=1+True
>>> a
2
>>> a=1.0+1
>>> a
2.0
>>> a=1.0+False
>>> a
1.0

2.6.2 显式类型的转换(强制转换)

>>> a=int(1.0)+1
>>> a
2
>>> int(False)
0
>>> int(True)
1
>>> int(0.3)
0
>>> float(3)
3.0
>>> float(True)
1.0
>>> 

3.运算符

3.1 算术运算符

3.2 比较运算符

3.3 逻辑运算符

3.4 位运算符

3.5 赋值运算符

4.程序流程控制

4.1 分支语句

4.1.1 if语句

if 条件表达式:
语句块

age=5
if age>3:print("hahaha")

4.1.2 if-else语句

if 条件表达式:
        语句块1
else:
        语句块2

u_name=input("请输入用户名:")
pwd=input("请输入密码:")
if u_name=="admin" and pwd=="123":print("登入成功!即将进入主界面...")
else:print("您输入的用户名或密码错误,请重新输入...")

4.1.3 if-elif-else语句

if 条件表达式1:
        语句块1
elif条件表达式2:
        语句块2
elif条件表达式n:
        语句块n
else:
        语句块n+1

score=int(input("请输入您的会员积分:"))
if score==0:print("注册会员")
elif 0<score<=200:print("铜牌会员")
elif 200<score<=1000:print("银牌会员")
elif 1000<score<=3000:print("金牌会员")
else:print("钻石会员")

4.1.4 嵌套分支结构

if 条件表达式1:
        if条件表达式2:
                语句块1
        else:
                语句块2
else:
        语句块3

id_code = input('请输入身份证号码:')
if len(id_code) == 18:number = int(id_code[-2])if number%2 == 0:print("女性")else:print("男性")
else:print("输入不合法")

4.2 循环语句

4.2.1 while循环

while 判断条件:
        语句

# 输出1-100的所有数的和
count = 0
num = 0
while count < 100:count = count + 1num = num + count
print("1-100的所有数的总和为: 和",num)#无限循环
while True:num=int(input("请输入一个数字:"))print("您输入的数字是:",num)

4.2.2 for循环

for 临时变量 in 可迭代对象:
执行语句1
执行语句2

#数组遍历
languages =["c","Python","Java","C#"]
for x in languages:print("当前语言是:",x)#输出[0~6),左开右闭包含0不包含6
for i in range(6):print("当前的数列为:",i)#输出[1~3),左开右闭包含1不包含3
for i in range(1,3): #范围从1开始,不包含最后一个数字print(i)#输出九九乘法表
for i in range(1, 10):#遍历9次,打印9行for j in range(1,10): #遍历9次,打印9列的数据if j<= i: # 当列数<=行数的时候,就可以打印乘法公式print(f"{j}*{i}={j*i}".format(j, i),end='\t')print("\n")

4.3 跳转语句

4.3.1 break语句

break:跳出循环

#遇到l跳出循环
for s in 'Hello':if s =='l':breakprint('当前字母为 :', s)#判断质数
for n in range(2,10):for x in range(2,n):if n%x==0:print(n,'等于',x,'*',n//x)breakelse:   #当从内循环break跳出后不会执行else内的语句,否则会执行print(n,'是质数')

4.3.2 continue语句

continue:跳过本次循环

#当x<=0跳过本次循环
for x in [0,-2,5,7,-10]:if x<=0:continueprint(x)

4.4 pass语句

pass:作用是占位,保持语句结构的完整,相当于{}

x=0
if x<=0:pass#作用是占位,保持if语句结构的完整

5.容器类型数据

5.1 序列

在 Python 中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。

5.1.1 序列索引操作

>>> a="Hello"
>>> a[0]
'H'
>>> a[-5]
'H'
>>> a[5]   #越界访问
Traceback (most recent call last):File "<pyshell>", line 1, in <module>
IndexError: string index out of range
>>> max(a)
'o'
>>> min(a)
'H'
>>> len(a)
5

5.1.2 加和乘操作

注意要同类型才行

>>> a='hello'
>>> print(a+' world')
hello world
>>> print(a+' world'+'你好')
hello world你好
>>> print(a*2)
hellohello

5.1.3 切片操作

sname[start : end : step]

start :切割开始索引,默认为0         end : 切割结束索引,默认为数组最大长度        step:切割步长,默认为1.

>>> str='Hello world'
>>> print(str[:2])  #注意是左闭右开[0,2)切割
He
>>> print(str[::2])  #step表示切割的步长,默认为1
Hlowrd
>>> print(str[:])
Hello world

5.1.4 成员测试

成员测试运算符有两个: in和not in。

>>> str='Hello'
>>> 'e' in str
True
>>> 'E' not in str
True

5.2 列表

5.2.1 创建列表

创建列表的方式非常简单,既可以使用中括号“[]”创建,也可以使用内置的list()函数快速创建。
①使用中括号“[]”创建列表

list_one=[] #空列表
list_two=['p','y','t' , 'h' , 'o' , 'n']#列表中元素类型均为字符串类型
list_three=[1,'a','&',2.3]#列表中元素类型不同

②使用list ()函数创建列表

>>> list_one=list(1)  #参数传递的对象必须是可迭代的
Traceback (most recent call last):File "<pyshell>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> list_two=list('python')
>>> list_two
['p', 'y', 't', 'h', 'o', 'n']
>>> list_three=list([1,'python'])
>>> type(list_three)
<class 'list'>
>>> list_three
[1, 'python']
>>> from collections import Iterable  #导入迭代器模块
>>> print(isinstance([],Iterable))
True

5.2.2 追加元素

list_one=list([1,2,3,4])
print(list_one)
list_one.append(10)
print(list_one)
lint_two=list([5,6])
list_one.extend(lint_two)
print(list_one)
lint_two+=list_one
print(lint_two)

5.2.3 插入元素

>>> names=['zhang','li','wang']
>>> names.insert(2,'xiaoqian')   #在索引为2处插入
>>> names
['zhang', 'li', 'xiaoqian', 'wang']

5.2.4 替换元素

>>> names
['zhang', 'li', 'xiaoqian', 'wang']
>>> names[1]='lihua'
>>> names
['zhang', 'lihua', 'xiaoqian', 'wang']

5.2.5 删除元素

删除列表元素的常用方式有del语句、remove()方法和pop()方法

①del语句

>>> names
['zhang', 'lihua', 'xiaoqian', 'wang']
>>> del names[0]
>>> names
['lihua', 'xiaoqian', 'wang']

②remove()方法:元素替换,只会替换第一个符合要求的元素

>>> chars=['h','e','l','l','o']
>>> print(chars)
['h', 'e', 'l', 'l', 'o']
>>> chars.remove('e')
>>> print(chars)
['h', 'l', 'l', 'o']

③pop()方法

>>> numb=[1,2,3,4,5,6]
>>> print(numb.pop())
6
>>> print(numb.pop(2))
3
>>> print(numb)
[1, 2, 4, 5]

5.3 元组

元组 (tuple) 是一种不可变序列类型。元组中的元素是不允许修改的,除非在元组中包含可变类型的数据。

5.3.1 创建元组

①使用圆括号“()”创建元组

tuple_one=()#空元组
tuple_two=('t',' e','p','l','e')#元组中元素类型均为字符串类型
tuple_three=(0.3,1,'python','&')#元组中元素类型不同

②使用tuple()函数创建元组

tuple_null=tuple()
print(tuple_null)tuple_str=tuple('abc')
print(tuple_str)tuple_list=tuple([1,2,3])
print(tuple_list)'''结果
>>> %Run main.py
()
('a', 'b', 'c')
(1, 2, 3)
'''

5.3.2 元组拆包

>>> val=(10,121)
>>> a,b=val
>>> a
10
>>> b
121

5.4 集合

集合集合 (set) 是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。

5.4.1 创建集合

set([iterable])                可变集合
frozenset([iterable])        不可变集合

①可变集合的创建

>>> set_one=set([1,2,3,4])
>>> set_two=set((1,2,3))
>>> type(set_one)
<class 'set'>
>>> type(set_two)
<class 'set'>
>>> set_one
{1, 2, 3, 4}
>>> set_three={1,21,2,11,44,21}
>>> set_three
{1, 2, 11, 44, 21}    #集合元素是无序的#集合是元素唯一的
>>> set_one=set([1,2,3,1])
>>> set_one
{1, 2, 3}

②不可变集合的创建

>>> frozenset_one=frozenset((1,2,3,4))
>>> frozenset_two=frozenset([1,2,3,4])
>>> type(frozenset_one)
<class 'frozenset'>
>>> frozenset_two
frozenset({1, 2, 3, 4})

5.4.2 修改集合

①添加元素

>>> set_one=set()
>>> set_one
set()
>>> set_one.add('py')    #添加一个元素
>>> set_one
{'py'}
>>> set_one.update('thon')    #添加多个元素
>>> set_one
{'h', 'n', 't', 'py', 'o'}

②删除元素

>>> set_one={'zhangsan','liai','wangwu','xiaoq'}
>>> set_one.remove('zhangsan')
>>> set_one
{'liai', 'xiaoq', 'wangwu'}
>>> set_one.remove('zhangsan')
Traceback (most recent call last):File "<pyshell>", line 1, in <module>
KeyError: 'zhangsan'
>>> set_one.discard('zhangsan')    #如果存在则删除
>>> set_one.discard('liai')
>>> set_one
{'xiaoq', 'wangwu'}
>>> set_one.pop()        #随机删除一个元素
'xiaoq'
>>> set_one
{'wangwu'}

③清空元素

>>> set_one={'zhangsan','liai','wangwu','xiaoq'}
>>> set_one.clear()
>>> set_one
set()

5.5 字典

字典 (dict) 是可迭代的、通过键 (key) 来访问元素的可变的容器类型的数据

5.5.1 创建字典

①使用花括号{}创建字典{键1:值1,键2:值2...}

注意:字典元素是无序的,键和值成对出现,键唯一,值可以不唯一

>>> scores={'zhangsan':100,'lisi':98,'wangwu':45}
>>> scores
{'zhangsan': 100, 'lisi': 98, 'wangwu': 45}
>>> scores_null={}
>>> type(scores)
<class 'dict'>
>>> scores_null
{}
>>> type(scores_null)
<class 'dict'>

②使用内置的dict ( )函数创建字典:dict(键1=值1,键2=值2...)

>>> dict_one=dict(name='zhangsan',age=20)
>>> dict_one
{'name': 'zhangsan', 'age': 20}
>>> dict_two=dict({100:'zhangsan',101:'lisi',102:'wangwu'})
>>> dict_two
{100: 'zhangsan', 101: 'lisi', 102: 'wangwu'}
>>> dict_three=dict(((100,'zhangsan'),(101,'lisi')))
>>> dict_three
{100: 'zhangsan', 101: 'lisi'}
>>> dict_four=dict([(100,'zhangsan'),(101,'lisi')])
>>> dict_four
{100: 'zhangsan', 101: 'lisi'}
>>> dict_five=dict([(100,'zhangsan'),(100,'wangwu'),(101,'lisi')])
>>> dict_five
{100: 'wangwu', 101: 'lisi'}

5.5.2 修改字典

①添加和修改字典元素

>>> add_dict={'stu1':'zhangsan'}
>>> add_dict.update(stu2='lisi')
>>> add_dict
{'stu1': 'zhangsan', 'stu2': 'lisi'}
>>> add_dict['stu3']='wangwu'
>>> add_dict
{'stu1': 'zhangsan', 'stu2': 'lisi', 'stu3': 'wangwu'}
>>> add_dict['stu1']='xiaoqian'
>>> add_dict
{'stu1': 'xiaoqian', 'stu2': 'lisi', 'stu3': 'wangwu'}

②删除字典元素

>>> dist_one={'001':'zhangsan','002':'lisi','003':'wangwu','004':'xioaqian'}
>>> dist_one.pop()
Traceback (most recent call last):File "<pyshell>", line 1, in <module>
TypeError: pop expected at least 1 arguments, got 0
>>> dist_one.pop('001')    #要传递参数键才能删除
'zhangsan'
>>> dist_one
{'002': 'lisi', '003': 'wangwu', '004': 'xioaqian'}
>>> dist_one.popitem()        #随机删除一对键值对
('004', 'xioaqian')
>>> dist_one
{'002': 'lisi', '003': 'wangwu'}
>>> dist_one.clear()    #清空
>>> dist_one
{}

5.5.3 访问字典

>>> dist_one={'001':'zhangsan','002':'lisi','003':'wangwu','004':'xioaqian'}
>>> print(info.items())
dict_items([('001', 'zhangsna'), ('002', 'lisi'), ('003', 'wangwu')])
>>> for i in info.items():print(i)('001', 'zhangsna')
('002', 'lisi')
('003', 'wangwu')
>>> print(info.keys())
dict_keys(['001', '002', '003'])
>>> for i in info.keys():print(i)001
002
003
>>> print(info.values())
dict_values(['zhangsna', 'lisi', 'wangwu'])
>>> for i in info.values():print(i)zhangsna
lisi
wangwu

相关文章:

Python基础教程(一)

1.编程基础 1.1标识符 标识符是变量、函数、模块和其他对象的名称。Python中标识符的命名不是随意的&#xff0c;而是要遵守一定的命名规则&#xff0c;比如说: 1、标识符是由字母 (A~Z 和 a~z) 、下划线和数字组成&#xff0c;但第一个字符不 能是数字。 2、标识符不…...

基于C51和OLED12864实现贪吃蛇小游戏

引言 在微电子技术飞速发展的今天&#xff0c;单片机作为智能控制的核心&#xff0c;广泛应用于各种电子设备中。C51系列单片机以其高效、稳定的特性&#xff0c;成为众多电子爱好者和工程师的首选平台。而OLED显示屏以其轻薄、低功耗、响应速度快等优点&#xff0c;在显示设备…...

JVM性能调优全指南:高流量电商系统的最佳实践

1.G1(Garbage-First) 官网: G1 Garbage Collection G1收集器是Java 7中引入的垃圾收集器,用于替代CMS(Concurrent Mark-Sweep)收集器。它主要针对大内存、多核CPU环境下的应用场景,具有以下特点: 分代收集:G1仍然保留了分代的概念,但新生代和老年代不再是物理隔离的,…...

前端常见场景、JS计算精度丢失问题(Decimal.js 介绍)

目录 一. Decimal.js 介绍 二. 常用方法 1. 创建 Decimal 实例 2.加法 add 或 plus 3.减法 sub 或 minus 4.乘法 times 或 mul 5.除法 div 或 dividedBy 6.取模 7.幂运算 8.平方根 9.保留小数位 toFixed方法(四舍五入) 三.项目应用 前端精度丢失问题通常由以下原因…...

Python写UI自动化--playwright(点击操作)

本篇介绍playwright点击操作&#xff0c;click()方法的常用参数 目录 0. selector (必需) 1. modifiers(可选) 2. position(可选) 3. button(可选) 4. click_count(可选) 5. delay 6. timeout(可选) 7. forceTrue(可选) 8. trialTrue(可选) 9. no_wait_after(可选) …...

[C#面对对象] 之抽象方法 虚方法 接口

1.虚方法 我的理解 "法国的“巴黎公社”&#xff0c;俄国的“十月革命”&#xff0c;都是把主要战略方向首先夺取中心城市 " 设计为 一个父类中的虚方法(virtual),这个虚方法已经有实现了(就是通过暴力革命夺取的方法 最终返回 城市)然而秋收暴动(子类)失败…...

docker 发布geoserver服务添加字体

1. 创建容器时可直接挂载到系统字体库 2. 已发布的容器挂载字体目录 关闭docker服务 &#xff1a; systemctl stop docker.socket 修改config.v2.json :位置在 cd /var/lib/docker/containers/容器id 重新启动docker服务&#xff1a;systemctl start docker...

数据赋能(162)——开发:数据整理——技术方法、主要工具

技术方法 从商业角度来看&#xff0c;从前未知的数据分析模式或趋势的发现为企业提供了非常有价值的洞察力。数据整理技术能够为企业对未来的发展具有一定的预见性。数据整理技术可以分成3类&#xff1a;群集、分类和预测。 群集技术&#xff1a; 这是一种将相似的数据项进行…...

安全服务面试

对安全服务是怎么理解的 安全服务对象是人&#xff0c; 渗透测试对象是网站。&#xff08;我的理解&#xff09; 安全概念和资讯 安全工具使用 渗透测试 安全基线检查 应急响应 代码审计 安全边界建设 安全规范 1.拿到一个待检测的站&#xff0c;你觉得应该先做什么&…...

昇思25天学习打卡营第23天|LSTM+CRF序列标注

Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|&#xff08;一&#xff09;序列标注与条件随机场的关系 Mindspore框架CRF条件随机场概率图模型实现文本序列命名实体标注|&#xff08;二&#xff09;CRF模型构建 Mindspore框架CRF条件随机场概率图模型实现文本…...

抖音直播弹幕数据逆向:websocket和JS注入

&#x1f50d; 思路与步骤详解 &#x1f575;️‍♂️ 思路介绍 首先&#xff0c;我们通过抓包工具进入的直播间&#xff0c;捕获其网络通信数据&#xff0c;重点关注WebSocket连接。发现直播弹幕数据通过WebSocket传输&#xff0c;这种方式比传统的HTTP更适合实时数据的传输。…...

AIGC diffusers文生图模型optimum量化使用案例

参考: https://github.com/huggingface/blog/blob/main/quanto-diffusers.md 安装 pip install optimum-quanto %pip install optimum使用 from optimum.quanto import freeze, qfloat8, quantize from diffusers import PixArtSigmaPipeline import torchpipeline = PixArt…...

PDF怎么转换成Word?这些工具一键搞定!

在日常生活中&#xff0c;我们经常遇到需要将PDF文件转换成Word文档的情况。PDF怎么转换成Word&#xff1f;一些工具的使用十分重要&#xff01;下文中就为大家推荐几个亲测好用的PDF转换工具。 一、Foxit PDF转换大师&#xff08;365客户端&#xff09; 链接&#xff1a;www…...

【TS】TypeScript函数类型:提升函数的类型安全性和可读性

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 TypeScript函数类型&#xff1a;提升函数的类型安全性和可读性1. 引言2. 基本函…...

“八股文”在实际工作中是助力、阻力还是空谈?

前言&#xff1a;在当今快速发展的技术时代&#xff0c;程序员的角色变得日益重要。随着技术的不断进步&#xff0c;招聘流程也在不断演变以适应新的需求。在程序员的招聘过程中&#xff0c;“八股文”作为一种面试现象&#xff0c;已成为不可忽视的一部分。所谓“八股文”&…...

代码随想录算法训练营第22天-leetcode-回溯算法part01:

#回溯算法理论基础 能解决的问题&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合切割问题&#xff1a;一个字符串按一定规则有几种切割方式子集问题&#xff1a;一个N个数的集合里有多少符合条件的子集排列问题&#xff1a;N个数按一定规则全排列&…...

MySql 触发器、存储器练习

一&#xff1a; 触发器 1、建立两个表:goods(商品表)、orders(订单表) 查看数据库&#xff1a;mysql> show databases; 使用数据库&#xff1a;mysql> use mydb16_trigger; 创建goods表&#xff1a; mysql> create table goods(gid char(8) not null primary key, …...

【Plotly-驯化】一文教您画出Plotly中动态可视化饼图:pie技巧

【Plotly-驯化】一文教您画出Plotly中动态可视化饼图&#xff1a;pie技巧 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内…...

Mirror学习笔记(一) 简介

文章目录 一、常规学习&#xff1a;Mirror核心功能有服务器和主机 二、时间戳批处理时间戳 三、TCP和UDP四、CCU(同时在线人数)五、SyncDirection(同步方向)六、RTT&#xff08;往返时间&#xff09;七、Connection Quality&#xff08;连接质量&#xff09;八、Lag Compensati…...

终端pip安装包后,Pycharm却导入失败?新手别慌,3招搞定!

很多小伙伴在学习Python的过程中,都会遇到这种情况:明明在终端用pip安装好了需要的包,但在Pycharm中导入时却报错。难道是安装姿势不对? 例如在cmd中已经有了pandas,但是去pycharm中导入pandas显示没有 先别急着怀疑人生,这很可能是因为pip安装包的路径和Pycharm项目使用…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...