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

python1(基础语法输入输出)

输入输出:

输出

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  • objects:这是一个可变参数,意味着你可以传入任意数量的对象。print 函数会将这些对象依次打印出来。在函数内部,这些对象会被转换为字符串形式。

  • sep:用于分隔多个对象的字符串,默认值是一个空格字符 ' '。如果你传入多个对象,print 会在它们之间插入 sep 指定的字符串。

  • end:在打印完所有对象后追加的字符串,默认值是换行符 '\n'。这意味着每次调用 print 函数后,会自动换行。你可以修改这个参数,比如让 print 不换行,或者在末尾添加其他字符。

  • file:指定输出的目标文件对象,默认是标准输出 sys.stdout,也就是控制台。你可以传入一个已打开的文件对象,将输出内容写入文件。

print("Hello Python!")with open("./xxx.txt", 'w') as f:print(abc, file=f)  # 直接将abc直接写入xxx.txt文件import time
print(a, b, c, sep="*", end="\n\n")  # 把三个数字a,b,c转成字符串写入,并用"*"分隔,在结尾部分写入两个换行
print("Loading", end="")
for i in range(10):# 如果这里flush为False,则要在10次循环结束之后,终端才会现实结果# 而flush为True,则每次循环都会刷新输出一次结果,看起来就是动态的效果print(".", end='', flush=True)time.sleep(1)  # 延迟1秒再往后执行

输入

input([prompt])

  • [prompt]:此为可选参数,是一个字符串。当提供该参数时,input 函数会先将这个字符串显示在控制台,当作提示信息,string 类型。

  • input函数会返回用户输入的内容,并且返回值的类型为字符串。

a = input("请输入")
print(a, "Python是世界上最好的语言")

a = input("请输入") print(a, "Python是世界上最好的语言")

基础语法规则

行结构:

逻辑行基本概念:

  • 一个 Python 程序由多个逻辑行组成。逻辑行是程序中表达一个完整逻辑的代码单元。

单语句单行原则:

  • 通常情况下,一个语句对应一行代码,不会跨越多行。每个语句独立存在,表达一个明确的操作或功能。

示例说明:

  • 例如下面的 Python 程序,它包含 3 个逻辑行,每一行都通过print()函数输出一个结果:

print("这是第一个输出结果")
print("这是第二个输出结果")
print("这是第三个输出结果")

print("这是第一个输出结果") print("这是第二个输出结果") print("这是第三个输出结果")

错误示范:

print(这是第一
个输出结果)print(这是第二
个输出结果)print(这是第三
个输出结果)#而如果是上面这种写法,程序执行是会运行报错的,因为print() 的一个语句跨越了 2 行

print(这是第一 个输出结果) print(这是第二 个输出结果) print(这是第三 个输出结果) #而如果是上面这种写法,程序执行是会运行报错的,因为print() 的一个语句跨越了 2 行

其他示范:

#其实也可以把多个语句利用英文输入下的分号( ; )写在一行之内,不过通常并不这么做
print("这是第一个输出结果"); print("这是第二个输出结果"); print("这是第三个输出结果")#也有语句是可以跨越多行的,比如:复合语句。复合语句由多行子语句组成,通常它会跨越多行
#比如下面的 if ... else ... 语句就是一个复合语句,它跨越了多行target = 27
if target < 3:print(True)
else:print(False)#有的时候,整个复合语句也可能包含于一行之内
#下面这种写法,叫做三元表达式,它把 if ... else ... 复合语句写在了一行之内
target = 27
print(True) if a < 3 else print(False)
 

#其实也可以把多个语句利用英文输入下的分号( ; )写在一行之内,不过通常并不这么做 print("这是第一个输出结果"); print("这是第二个输出结果"); print("这是第三个输出结果") #也有语句是可以跨越多行的,比如:复合语句。复合语句由多行子语句组成,通常它会跨越多行 #比如下面的 if ... else ... 语句就是一个复合语句,它跨越了多行 target = 27 if target < 3: print(True) else: print(False) #有的时候,整个复合语句也可能包含于一行之内 #下面这种写法,叫做三元表达式,它把 if ... else ... 复合语句写在了一行之内 target = 27 print(True) if a < 3 else print(False)

缩进:

  • 在 Python 里,逻辑行开头的空白用于确定缩进等级,以此明确语句段落的组织结构。

  • 以 if 语句为例,若第一个 print() 前有空白,即存在缩进,表明它是 if 语句的下级;第二个 print() 无缩进,则和 if 语句平级。若 if 条件不成立,第一个 print() 不会执行,而第二个 print() 不受影响,仍会执行。

target = 27
if target < 3:print(True)
print(target)#在 IDE 编写程序,需缩进的语句敲回车换行后会自动缩进,通常占 4 个空格。
#我们一般用 Tab 键缩进(多数 IDE 可设置),而非按 4 次空格。
#缩进空格数可变,但同一代码块的语句缩进空格数必须相同。target = 27
if target < 3:print(True)print(target)  # 这个缩进不对,同为if语句下的代码,应和上面的print缩进一样
else:print(False)  # 这个缩进是对的,在else语句下面,可以和if语句下的print缩进不一样
print(789)  # 这个print是在if...else...语句外的,是平级的,故而不需要缩进

target = 27 if target < 3: print(True) print(target) #在 IDE 编写程序,需缩进的语句敲回车换行后会自动缩进,通常占 4 个空格。 #我们一般用 Tab 键缩进(多数 IDE 可设置),而非按 4 次空格。 #缩进空格数可变,但同一代码块的语句缩进空格数必须相同。 target = 27 if target < 3: print(True) print(target) # 这个缩进不对,同为if语句下的代码,应和上面的print缩进一样 else: print(False) # 这个缩进是对的,在else语句下面,可以和if语句下的print缩进不一样 print(789) # 这个print是在if...else...语句外的,是平级的,故而不需要缩进

注释:

  • 在 Python 代码的世界里,注释如同隐形的助手,在解释器进行语法分析的过程中会被直接无视。通俗来讲,注释是给程序员阅读、理解代码逻辑用的,程序在执行时,注释就像不存在一样,不会对程序运行产生任何影响。

  • Python 中,单行注释以 # 开头,用来对某一行代码或一小段逻辑进行解释。如果需要注释多行内容,有两种常见方式:一是每行都以 # 开头;二是使用三引号(单引号 ''' 或双引号 """ 均可)将注释内容包裹起来。

print(27)
# 这是第一个注释# 这是第二个注释'''
这是第三个注释
三引号可以进行多行注释
'''"""
这是第四个注释
三引号可以进行多行注释
"""print("Hello, Python!")  # 这是第五个注释
 

print(27) # 这是第一个注释 # 这是第二个注释 ''' 这是第三个注释 三引号可以进行多行注释 ''' """ 这是第四个注释 三引号可以进行多行注释 """ print("Hello, Python!") # 这是第五个注释

语句拼接:

  • Python 一般一行写一条语句,若语句过长,可使用反斜杠(\)进行显式行拼接,将其拆成多行书写。

""" 下面 a,b 两种写法都是对的,它们二者结果是一样的 """
a = 1 + 2 + 3
b = 1 + \2 + \3

""" 下面 a,b 两种写法都是对的,它们二者结果是一样的 """ a = 1 + 2 + 3 b = 1 + \ 2 + \ 3

  • 在 Python 中,若语句位于圆括号、方括号或花括号内,即便跨越多行书写,也无需使用反斜杠(\)进行显式的行拼接,这种方式被称为隐式的行拼接。如此一来,代码能够自然地跨行书写,使代码的编写更加简洁、易读。

long_list = [1, 2, 3,4, 5, 6
]

变量:

  • 变量,简单来说就是在计算机语言里能够存储计算结果,或者用以代表特定数值的抽象概念,其关键特性就在于它是可以改变的量。

  • 在编程实践中,变量必须先经过定义才能被使用。当解释器运行到变量定义的相关代码片段时,会在内存中开辟出一块空间,用于存放变量所对应的值,随后将这块内存空间的地址与所设定的变量名进行绑定。

  • 从构成要素来看,变量的定义包含三个关键部分:

  • 其一,变量名,它如同一个指向标,直接关联着变量值所在的内存地址,我们在程序中正是通过这个名称来获取和访问对应的值;

  • 其二,等于号(=),这是一个具有关键意义的赋值符号,其核心作用在于建立起变量名与内存地址之间的绑定关系,使得两者紧密相连;

  • 其三,值,也就是实实在在存储在内存地址当中的数据,它是变量的核心内容承载部分。 另外,还有标识符这一概念,它广泛应用于变量、函数、类、模块等的命名过程,起到区分和标识不同编程元素的作用,为代码的组织与编写提供了清晰的框架。

命名规范:

  • 变量名仅能包含字母、数字和下划线,且禁止以数字开头,同时不能出现空格,若想分隔多个单词,可借助下划线达成。

  • 绝对不能用 Python 的关键字以及内置函数名当作变量名

  • 变量名应尽量简短且具备描述性,要做到短小精悍、见名知义。

  • 另外,Python 对变量名的大小写是敏感的,像 `Name` 和 `name` 代表的就是两个不同的变量。

  • 在命名时也可参考驼峰命名法,以此让命名更规范、易读。

内置函数:

内置函数

功能简介

示例

示例说明

abs()

返回一个数的绝对值

num = -5;
result = abs(num)

将 -5 的绝对值 5 赋给 result

all()

可迭代对象元素全为真时返回 True,空可迭代对象也返回 True

result =
all([True, True])

列表元素都为 True,返回 True

any()

可迭代对象只要有一个元素为真就返回 True,空可迭代对象返回 False

result =
any([False, True])

列表有一个 True,返回 True

ascii()

返回对象的可打印 ASCII 表示形式

s = "你好"; result = ascii(s)

如将字符串转为类似 '\u4f60\u597d'
的 ASCII 表示

bin()

将整数转换为二进制字符串

num = 10;
result = bin(num)

把 10 转为 '0b1010'

bool()

将对象转换为布尔值

result =
bool(1)

1 转换为 True

breakpoint()

暂停程序执行,进入调试模式(Python
3.7+)

breakpoint()

程序运行到此处暂停,可调试

bytearray()

创建可变字节数组

arr =
bytearray(b'abc')

创建包含 'abc' 的字节数组

bytes()

创建不可变字节对象

b =
bytes(b'abc')

创建不可变的 'abc' 字节对象

callable()

判断对象是否可调用(如函数、方法等)

result =
callable(print)

print 可调用,返回 True

chr()

将 Unicode 编码整数转换为对应的字符

result =
chr(97)

97 转为字符 'a'

classmethod()

将方法转换为类方法

class
A:<br> @classmethod<br> def cm(cls):<br> pass

定义类 A 的类方法 cm

compile()

将字符串编译为代码对象

code =
compile('print("Hello")', '<string>', 'exec')

编译字符串为可执行代码对象

complex()

创建复数对象

c =
complex(1, 2)

创建复数 1 + 2j

delattr()

删除对象的属性

class
A:<br> x = 1<br>a = A();
delattr(a, 'x')

删除实例 a 的属性 x

dict()

创建字典

d =
dict(a=1, b=2)

创建字典 {'a': 1, 'b': 2}

dir()

返回对象的属性和方法列表,无参数时返回当前作用域名称列表

result =
dir([1, 2, 3])

得到列表的属性和方法列表

divmod()

返回除法的商和余数组成的元组

result =
divmod(7, 2)

结果为 (3, 1)

enumerate()

为可迭代对象添加索引,返回枚举对象

for i, v
in enumerate(['a', 'b']):<br>
print(i, v)

依次输出 0 a,1 b

eval()

计算字符串表达式的值

result =
eval('1 + 2')

计算结果为 3

exec()

执行字符串或代码对象中的 Python 代码

exec('print("Executing")')

执行并打印
"Executing"

filter()

过滤可迭代对象,返回使函数返回 True 的元素组成的迭代器

result =
list(filter(lambda x: x > 2, [1, 3, 2]))

得到 [3]

float()

将对象转换为浮点数

result =
float('3.14')

字符串转浮点数 3.14

format()

格式化字符串

result =
format(3.14159, '.2f')

格式化 3.14159 为保留两位小数的 '3.14'

frozenset()

创建不可变集合

fs =
frozenset([1, 2, 3])

创建不可变集合

getattr()

获取对象的属性值

class
A:<br> x = 1<br>a = A();
result = getattr(a, 'x')

获取实例 a 的属性 x 的值 1

globals()

返回全局符号表字典

g =
globals()

获取全局变量字典

hasattr()

判断对象是否有指定属性

class
A:<br> x = 1<br>a = A();
result = hasattr(a, 'x')

有属性 x,返回 True

hash()

返回对象的哈希值

result =
hash('abc')

返回字符串 'abc' 的哈希值

help()

提供对象的帮助信息

help(print)

显示 print 函数的帮助文档

hex()

将整数转换为十六进制字符串

num = 15;
result = hex(num)

15 转为 '0xf'

id()

返回对象的内存地址(唯一标识)

obj = [1,
2]; result = id(obj)

返回列表对象的内存地址

input()

从标准输入读取一行文本,返回字符串

name =
input("请输入名字:")

等待用户输入并赋值给 name

int()

将对象转换为整数

result =
int('123')

字符串转整数 123

isinstance()

判断对象是否为指定类(或子类)的实例

class
A:<br> pass<br>a = A();
result = isinstance(a, A)

a 是 A 的实例,返回 True

issubclass()

判断一个类是否是另一个类的子类

class
A:<br> pass<br>class
B(A):<br> pass<br>result =
issubclass(B, A)

B 是 A 的子类,返回 True

iter()

返回迭代器对象

lst = [1,
2, 3]; it = iter(lst)

获取列表的迭代器

len()

返回对象长度或元素个数

result =
len([1, 2, 3])

列表长度为 3

list()

将可迭代对象转换为列表

result =
list((1, 2, 3))

元组转列表 [1, 2, 3]

locals()

返回局部符号表字典

def
func():<br> x = 1; result =
locals()

获取函数内局部变量字典

map()

将函数应用到可迭代对象的每个元素,返回迭代器

result =
list(map(lambda x: x * 2, [1, 2, 3]))

得到 [2, 4, 6]

max()

返回可迭代对象或多个参数中的最大值

result =
max([1, 3, 2])

列表中最大值 3

memoryview()

创建内存视图对象,用于操作数组等数据的内存

arr =
bytearray(b'abc'); mv = memoryview(arr)

创建字节数组的内存视图

min()

返回可迭代对象或多个参数中的最小值

result =
min([1, 3, 2])

列表中最小值 1

next()

获取迭代器的下一个元素

lst = [1,
2, 3]; it = iter(lst); result = next(it)

得到 1

object()

创建一个空对象,所有类的基类

obj =
object()

创建空对象

oct()

将整数转换为八进制字符串

num = 8;
result = oct(num)

8 转为 '0o10'

open()

打开文件,返回文件对象

f =
open('test.txt', 'r')

以读模式打开 test.txt 文件

ord()

返回字符的 Unicode 编码整数

result =
ord('a')

'a' 的 Unicode 编码 97

pow()

计算幂次方,可指定取模

result =
pow(2, 3)

2 的 3 次方,结果 8

print()

将对象打印输出到控制台

print("Hello")

打印 Hello

property()

用于创建属性,可实现对类属性的访问控制

class
A:<br> def
__init__(self):<br> self._x =
0<br> @property<br> def x(self):<br> return self._x<br> @x.setter<br> def x(self, value):<br> self._x = value

定义类 A 的属性 x 及设置方法

range()

创建整数序列迭代器

r =
range(1, 5)

生成 1 到 4 的整数序列迭代器

repr()

返回对象的可打印表示形式

s =
"abc"; result = repr(s)

得到 '"abc"'

reversed()

返回反向迭代器

lst = [1,
2, 3]; it = reversed(lst)

列表反向迭代器

round()

对数字进行四舍五入

result =
round(3.14159, 2)

保留两位小数,结果 3.14

set()

创建集合,或把可迭代对象转换为集合

s =
set([1, 2, 3])

创建集合 {1, 2, 3}

setattr()

设置对象的属性值

class
A:<br> pass<br>a = A();
setattr(a, 'x', 1)

为实例 a 设置属性 x 为 1

slice()

创建切片对象,用于对序列进行切片操作

s =
slice(1, 3); lst = [1, 2, 3, 4]; result = lst[s]

对列表切片得到 [2, 3]

sorted()

对可迭代对象排序,返回新列表

result =
sorted([3, 1, 2])

得到排序后的列表 [1, 2, 3]

staticmethod()

将方法转换为静态方法

class
A:<br>
@staticmethod<br> def
sm():<br> pass

定义类 A 的静态方法 sm

str()

将对象转换为字符串

num = 123;
result = str(num)

整数转字符串 '123'

sum()

对可迭代对象中的元素求和

result =
sum([1, 2, 3])

求和结果 6

super()

用于调用父类的方法

class
A:<br> def
f(self):<br>
print('A')<br>class B(A):<br> def f(self):<br> super().f()

在 B 的 f 方法中调用 A 的 f 方法

tuple()

将可迭代对象转换为元组

result =
tuple([1, 2, 3])

列表转元组 (1, 2, 3)

type()

返回对象的类型,也可用于创建类

result =
type(1)

返回 <class 'int'>

vars()

返回对象的属性字典,无参数时返回局部变量字典

class
A:<br> x = 1<br>a = A();
result = vars(a)

获取实例 a 的属性字典

zip()

将多个可迭代对象的对应元素打包成元组,返回迭代器

result =
list(zip([1, 2], ['a', 'b']))

得到 [(1, 'a'), (2, 'b')]

import()

导入模块,与 import 语句功能相关

math =
__import__('math')

导入 math 模块

那么到这里我们有关python的基础语法和输入输出就结束了谢谢!

下为思维导图:

相关文章:

python1(基础语法输入输出)

输入输出&#xff1a; 输出 print(*objects, sep , end\n, filesys.stdout, flushFalse) objects&#xff1a;这是一个可变参数&#xff0c;意味着你可以传入任意数量的对象。print 函数会将这些对象依次打印出来。在函数内部&#xff0c;这些对象会被转换为字符串形式。 se…...

Linux:页表详解(虚拟地址到物理地址转换过程)

文章目录 前言一、分页式存储管理1.1 虚拟地址和页表的由来1.2 物理内存管理与页表的数据结构 二、 多级页表2.1 页表项2.2 多级页表的组成 总结 前言 在我们之前的学习中&#xff0c;我们对于页表的认识仅限于虚拟地址到物理地址转换的桥梁&#xff0c;然而对于具体的转换实现…...

OpenStack Yoga版安装笔记(十七)安全组笔记

一、安全组与iptables的关系 OpenStack的安全组&#xff08;Security Group&#xff09;默认是通过Linux的iptables实现的。以下是其主要实现原理和机制&#xff1a; 安全组与iptables的关系 OpenStack的安全组规则通过iptables的规则链实现。每条安全组规则会被转换为相应的i…...

开源身份和访问管理方案之keycloak(三)keycloak健康检查(k8s)

文章目录 开源身份和访问管理方案之keycloak&#xff08;三&#xff09;keycloak健康检查启用运行状况检查 健康检查使用Kubernetes下健康检查Dockerfile 中 HEALTHCHECK 指令 健康检查Docker HEALTHCHECK 和 Kubernetes 探针 开源身份和访问管理方案之keycloak&#xff08;三&…...

棋盘问题(DFS)

在一个给定形状的棋盘&#xff08;形状可能是不规则的&#xff09;上面摆放棋子&#xff0c;棋子没有区别。 要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列&#xff0c;请编程求解对于给定形状和大小的棋盘&#xff0c;摆放 kk 个棋子的所有可行的摆放方案数目 C…...

verilog学习--1、语言要素

先看一个例子 /*This is first Verilog progaram*/ timescale 1ns/1ns module HalfAdder(A,B,Sum,Carry);input A,B;output Sum, Carry; /**/assign #2 SumA^B;assign #5 CarryA&B&#xff1b; endmodule; Verilog以module为单位编写&#xff0c;每个文件一个module&#…...

from fastmcp import FastMCP和from mcp.server.fastmcp import FastMCP的区别是什么?

文章目录 困惑以方式一开启一个mcp server,并用cline进行调用mcp install server.py修改配置文件以方式二开启MCP server困惑 一直比较困惑的是,好像用python实现mcp server有两种实现方式。 一是使用: https://github.com/modelcontextprotocol/python-sdk 二是使用: …...

QT工程建立

打开软件新建一个工程 选择chose 工程命名&#xff0c;选择保存路径&#xff0c;可以自己选择&#xff0c;但是不要有中文路径 默认的直接下一步 任意选一个下一步 点击完成 之后是这个界面&#xff0c;点击右下角的绿色三角形编译一下 实验内容 添加类 第一个是建立cpp和.h文件…...

Day82 | 灵神 | 快慢指针 重排链表

Day82 | 灵神 | 快慢指针 重排链表 143.重排链表 143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者直接给跪了&#xff0c;这个难度真是mid吗 直接去看灵神的视频 环形链表II【基础算法精讲 07】_哔哩哔哩_bilibili 1.简单来说就是&#xf…...

TCN-LSTM时间卷积长短期记忆神经网络多变量时间序列预测(Matlab完整源码和数据)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.TCN-LSTM时间卷积长短期记忆神经网络多变量时间序列预测&#xff08;Matlab完整源码和数据&#xff09; 2.运行环境为Matlab2023b&#xff1b; 3.data为数据集&#xff0c;输入多个特征&#xff0c;输出单个变量&a…...

语法: lcd_load( buffer_pointer, offset, length);

LCD_LOAD() 语法: lcd_load( buffer_pointer, offset, length); 参数: buffer_pointer指向发送给LCD的用户数据; offset是用来将该数据写入LCD,用作进入LCD segment memory的偏移量; length是传送的字节数. 要求: 没有. 功能: 该函数将从CPU的buffer_pointer存储区…...

分治(8题)

目录 一、快排 1.颜色分类 2.排序数组 3.数组中的第k个最大元素 4.最小的K个数 二、归并 1. 排序数组 2.数组中的逆序对 3.计算右侧小于当前元素的个数 4.翻转对 一、快排 1.颜色分类 75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; left和right&#xff0c;初…...

【9】数据结构的串篇章

目录标题 串的定义顺序串的实现初始化赋值打印串求串的长度复制串判断两个串长度是否相等连接两个串比较两个串内容是否相等插入操作删除操作调试与代码合集 串的模式匹配算法朴素的模式匹配算法KMP算法实现模式匹配 串的定义 定义&#xff1a;由0个或多个字符组成的有限序列&…...

Linux file命令

目录 一. file命令简介二. -b 输出结果不显示文件名三. --mime 输出文件的MIME类型字符串四. 批量确认文件类型4.1 -f 从指定的文件中读取文件路径&#xff0c;显示其文件类型4.2 配合find命令查找确认 一. file命令简介 由于Linux系统并不是像Windows系统那样通过扩展名来定义…...

ARM-UART

时钟选择PLCK,超时3ms自动发送&#xff0c;设置发送8位的缓冲区&#xff0c;且发送中断 设置触发深度&#xff0c;达到8字节将缓冲区数据发憷 中断处理函数...

AFT3 Engine传奇世界AFT3代引擎源码

此AFT3代引擎源码&#xff0c;不是老AFT0330版本&#xff0c;应该是WeiAFT的源码 本源码为新AFT3引擎源码&#xff0c;直接电脑打包出来&#xff0c; 现在市面上使用的AFT3引擎都是用的此款&#xff0c;下载编译即用 链接: https://pan.baidu.com/s/1Zxa64AQ7MUsdV2iIrqiTEg 提…...

[ 3分钟算法 ] | 递归搜索题目 : 翻转链表(递归版)

目录 1. 题目链接&#xff1a; 2. 思路分析&#xff1a; 思路一&#xff1a;从宏观上看 思路二&#xff1a;将链表看成一颗树 3. 代码 1. 题目链接&#xff1a; LCR 024. 反转链表 2. 思路分析&#xff1a; 思路一&#xff1a;从宏观上看 让当前节点后面的链表先逆置&…...

左值与右值,空间与数据

左值是空间&#xff0c;右值是数据 编程总是对“数据”&#xff0c;对"存放数据的空间"操作 a返回一个当前的数据&#xff0c;存放到一个临时空间中&#xff0c;自身的空间中的数据再进行运算 a直接对自身空间中的数据进行运算 其余知识&#xff1a; 1.变量名的意…...

线程池/内存池/mysql连接池

线程池介绍 ①线程池定义&#xff1a; 维持和管理固定数量线程的结构&#xff0c;用于解决资源频繁创建和销毁的问题。 ②线程池组成&#xff1a; 固定数量的线程、队列、任务状态管理。 ④线程池的作用&#xff1a; 避免频繁创建和销毁线程&#xff0c;管理线程状态&…...

图解AUTOSAR_SWS_FlexRayARTransportLayer

FlexRay AUTOSAR 传输层 (FrArTp) 分析 1. AUTOSAR FlexRay 传输层架构 1.1 FlexRay AUTOSAR 传输层在AUTOSAR架构中的位置 AUTOSAR分层架构中,FlexRay AUTOSAR 传输层(FrArTp)位于通信抽象层,其上方是PDU路由器,下方是FlexRay接口。FrArTp的主要功能是实现FlexRay网络上的…...

【百日精通JAVA | SQL篇 | 第四篇】约束

SQL这一块没什么难度&#xff0c;主要是一个熟练度&#xff0c;稍微上点难度的地方&#xff0c;其实在于查&#xff0c;比较复杂&#xff0c;涉及到很多问题。 指定列插入 使用指定列插入的时候&#xff0c;未被指定的列使用默认值进行存储&#xff0c;默认值为空。 默认值设置…...

QEMU源码全解析 —— 块设备虚拟化(16)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(15) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 《KVM实战 —— 原理、进阶与性能调优》—— 任永杰 程舟,机械工业出版社...

实验:IS-IS认证。

一、IS-IS认证的定义与作用分析 ‌IS-IS认证是什么&#xff1f;‌ IS-IS&#xff08;Intermediate System to Intermediate System&#xff09;协议是用于自治系统内部的路由协议&#xff0c;其认证机制主要用于保障路由信息交换的安全性&#xff0c;包括‌邻居关系建立‌和‌…...

11-产品经理-创建产品

在“产品”-“仪表盘”内&#xff0c;可以查看系统中关于产品及相关需求的统计。 在“产品”-“产品列表”页面&#xff0c;可以按项目集、项目查看其关联产品。还可以添加产品、编辑产品线、或者导出产品列表。 产品看板&#xff0c;通过看板方式查看产品、产品计划和产品下的…...

玄机-应急响应-入侵排查

靶机排查目标&#xff1a; 1.web目录存在木马&#xff0c;请找到木马的密码提交 查看/var/www/html。 使用find命令查找 find ./ -type f -name "*.php | xargs grep "eval("查看到1.php里面存在无条件一句话木马。 2.服务器疑似存在不死马&#xff0c;请找…...

MySQL基础知识(通俗版)

MySQL基础知识&#xff08;通俗版&#xff09; 一、MySQL基础概念 1.1 MySQL简介 想象MySQL就像一个超级大的Excel表格&#xff0c;但它比Excel更强大&#xff1a; 可以同时处理成千上万的数据可以保证数据的安全性和一致性可以支持多人同时操作可以自动备份和恢复数据 1.…...

python逆向:喜马拉雅登录案例

网址&#xff1a;登录 1. 点击到网页主页 先随便输入电话号码和密码 打开开发者工具&#xff0c;点击网络清空&#xff0c;然后点击登录发起网络请求 &#xff08;出现一个请求包&#xff0c;我们发现不是我们所需要的&#xff09; 我们进行验证滑块&#xff0c;就又出来请求…...

windows AndroidStudio上传maven中央仓库

一、插件地址&#xff1a;https://github.com/vanniktech/gradle-maven-publish-plugin?tabreadme-ov-file 二、Maven中心&#xff1a;https://vanniktech.github.io/gradle-maven-publish-plugin/central/ 2.1、中央门户帐户&#xff0c;用github账号登陆&#xff1a;gh122…...

嵌入式学习(35)-STM32F103 TXE 和TC

在USART的发送端有2个寄存器&#xff0c;一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志&#xff0c;一个是TXE发送数据寄存器空&#xff0c;另一个是TC发送结束。 当USART_DR中的数据传送到移位寄存器后&#xff0c;TXE被设…...

linux Gitkraken 破解

ubuntu 安装 Gitkraken 9.x Pro 版本_gitcracken.git-CSDN博客...

Qwen-Agent框架的文件相关操作:从Assistant到BasicDocQA

在前面的几篇文章如《针对Qwen-Agent框架的Function Call及ReAct的源码阅读与解析&#xff1a;Agent基类篇》 、《基于Qwen-Agent框架的Function Call及ReAct方式调用自定义工具》、 《针对Qwen-Agent框架的源码阅读与解析&#xff1a;FnCallAgent与ReActChat篇》中&#xff0c…...

2025年3月15日(5mw)

根据《NREL/TP-500-38060技术报告》&#xff0c;NREL 5-MW参考风力机的各部件质量及总体质量数据如下&#xff1a; 各部件质量数据 叶片&#xff08;Blades&#xff09; 单叶片质量&#xff1a;17,740 kg&#xff08;见表2-2&#xff09;总数&#xff1a;3片总质量&#xff1a;…...

docker mysql 笔记250406

docker mysql 笔记250406 以下是使用 Docker 运行 MySQL 的完整指南&#xff0c;包含常见配置和最佳实践&#xff1a; 1. 快速启动 MySQL 容器 docker run -d \--name mysql_db \-e MYSQL_ROOT_PASSWORDmy-secret-pw \-p 3306:3306 \mysql:8.02. 关键配置说明 2.1 环境变量&…...

ceph集群架构阐述

ceph集群架构阐述 ​ 首先&#xff0c;ceph集群也是分为客户端和服务端的&#xff0c;是一种高效的分布式存储系统&#xff0c;我们将其拆分为这两个部分来进行分析。 ​ 我大致的将服务端分为API类型、逻辑层、OSD层三个层面进行分析&#xff1b;将客户端按三种API类型挂载、…...

《Java八股文の文艺复兴》第十篇:量子永生架构——对象池的混沌边缘

目录 卷首语&#xff1a;蝴蝶振翅引发的量子海啸 第一章&#xff1a;混沌初开——对象池的量子涅槃&#xff08;深度扩展&#xff09; 第二章&#xff1a;混沌计算——对象复活的降维打击&#xff08;技术深化&#xff09; 第三章&#xff1a;量子试炼场——亿万级对象池全…...

(linux操作系统)程序地址空间

程序地址空间是什么&#xff1f; 讲这个问题之前&#xff0c;我们先来看一段熟悉的代码&#xff0c;以前学习C语言或者C语言时&#xff0c;就听说过程序内存分布&#xff0c;堆区&#xff0c;栈区&#xff0c;静态区&#xff0c;常量区&#xff0c;共享区&#xff0c;代码段&am…...

专业抑郁测试工具:让心理健康评估更简单

专业抑郁测试工具&#xff1a;让心理健康评估更简单 在这个快节奏的社会中&#xff0c;心理健康问题越来越受到人们的关注。为了帮助大家更好地了解自己的心理状态&#xff0c;我们开发了一款专业的在线抑郁测试工具。这个工具基于科学的心理量表设计&#xff0c;为用户提供准…...

C语言中单向链表:创建节点与插入新节点

一. 简介 单链表是一种常见且基础的数据结构&#xff0c;由一系列节点组成&#xff0c;每个节点包含数据和一个指向下一个节点的指针。 本文简单学习一下C语言中如何实现单项链表。 二. C语言实现单向链表 单向链表&#xff1a;单向链表是一种线性数据结构&#xff0c;由一…...

jsoncpp的使用

json提供的几个类&#xff1a; Value类&#xff1a;将json支持的数据类型进行包装&#xff0c;最终得到一个Value类型 FastWriter类&#xff1a;将Value对象中的数据序列化为字符串&#xff0c;序列化后可以得到json格式的字符串 Reader类&#xff1a;反序列化&#xff0c;将…...

【最新版】啦啦外卖v64系统独立版源码+全部小程序APP端+安装教程

一.系统介绍 啦啦外卖跑腿平台独立版&#xff0c;使用的都知道该系统功能非常强大&#xff0c;应该说是目前外卖平台功能最全的一套系统。主要是功能非常多&#xff0c;拿来即用&#xff0c;包括客户端小程序、配送端小程序、商户端小程序&#xff0c;还有对应四个端的APP源码…...

13-产品经理-产品多分支平台管理

禅道16.0版本开始&#xff0c;优化和增强了产品的分支/平台功能&#xff0c;主要特点如下&#xff1a; 多分支/平台功能兼容各种大小型项目&#xff0c;项目/迭代可以关联对应产品的某个分支/平台。分支/平台支持灵活管理&#xff0c;可以把分支/平台理解为时间层面的概念&…...

AI在医疗领域的应用

人工智能对医疗领域的革命性影响 一、智能诊断系统的突破 病理识别准确率提升乳腺癌检测准确率达94.6%(2023《Nature Medicine》)皮肤癌诊断灵敏度超过专业医师12%多模态诊断整合融合CT/MRI影像+基因组数据+电子病历急性肾损伤预测提前48小时(DeepMind)二、药物研发范式革…...

LabVIEW 在故障诊断中的算法

在故障诊断领域&#xff0c;LabVIEW 凭借其强大的图形化编程能力、丰富多样的工具包以及卓越的功能性能&#xff0c;成为工程师们进行故障诊断系统开发的得力助手。通过运用各种算法&#xff0c;能够对采集到的信号进行全面、深入的分析处理&#xff0c;从而准确地诊断出系统中…...

(自用)WebSocket创建流程

在Spring Boot项目中新建WebSocket服务&#xff0c;可以按照以下详细步骤进行操作&#xff1a; 1.创建Spring Boot项目 可以通过Spring Initializr&#xff08;<>&#xff09;快速创建一个新的Spring Boot项目&#xff0c;添加Spring Web和Spring Boot DevTools依赖&…...

C++多线程编码二

1.lock和try_lock lock是一个函数模板&#xff0c;可以支持多个锁对象同时锁定同一个&#xff0c;如果其中一个锁对象没有锁住&#xff0c;lock函数会把已经锁定的对象解锁并进入阻塞&#xff0c;直到多个锁锁定一个对象。 try_lock也是一个函数模板&#xff0c;尝试对多个锁…...

【最新版】金媒婚恋系统v10.5最新稳定开源+原生前端小程序 PC端+安装教程

一.系统简介 1. 红娘服务 红娘服务模块是该系统的一大特色。专业红娘会通过分析用户的个人资料和偏好&#xff0c; 为用户提供精准的配对建议和个性化服务。用户可以预约红娘服务&#xff0c;通过红娘的介入&#xff0c;提升配对成功率。 2. 相亲活动 相亲活动模块用于组织和管…...

[spring] spring AOP - 面向切面编程の学习

[spring] spring AOP - 面向切面编程の学习 几年前开始还在被 spring 的八股文时&#xff0c;AOP 就是一个比较热也比较大的点&#xff0c;为了面试确实背过不少&#xff0c;不过 AOP 实现本身做的不多&#xff0c;一方面也是因为 AOP 一旦配置好了基本上就不需要改什么&#…...

JavaScript 中的 Reflect 详解

Reflect 是 ES6引入的一个内置对象&#xff0c;它提供了一系列静态方法来操作对象&#xff0c;这些方法与 Proxy 处理器方法一一对应。Reflect 的设计目的是为了更优雅地操作对象&#xff0c;并统一某些操作的行为。 1. Reflect 的基本特点 1. 不是构造函数&#xff1a;不能使…...

【操作系统】linux常用命令

UP作为一个Linux系统练习两年半的个人练习生&#xff0c;今天分门别类地给大家整理一下常用的Linux命令&#xff0c;祝大家在Linux练习之路一帆风顺。 文件和目录操作 文件查看与编辑 文件查找 文件权限与所有权 进程管理 系统信息与监控 网络管理与诊断...

002 vue组件化编程

文章目录 一般方式全局组件局部组件 组件&#xff08;Component&#xff09;是Vue.js最强大的功能之一 组件也是一个Vue实例&#xff0c;也包括&#xff1a;data、methods、生命周期函数等 组件渲染需要html模板&#xff0c;所以增加了template属性&#xff0c;值就是HTML模板 …...