pytorch(其他操作)

文章目录

    • 1.torch.atleast_1d()
    • 2.torch.atleast_2d()
    • 3.torch.bincount()
    • 4.torch.block_diag()
    • 5.torch.broadcast_tensors()
    • 6.torch.broadcast_shapes()
    • 7.torch.bucketize()
    • 8.torch.cartesian_prod()
    • 9.torch.cdist()
    • 10.torch.clone()
    • 11.torch.cummax()
    • 12.torch.cummin()
    • 13.torch.cumprod()
    • 14.torch.cumsum()
    • 15.torch.diag()
    • 16.torch.diag_embed()
    • 17.torch.diagflat()
    • 18.torch.diagonal()
    • 19.torch.flatten()
    • 20.torch.flip()
    • 21.torch.ravel()
    • 22.torch.trace()
    • 23.torch.tril()
    • 24.torch.triu()
    • 24.torch.triu_indices()



1.torch.atleast_1d()

torch.atleast_1d() 是 PyTorch 框架中的一个函数,用于确保输入张量至少具有一维的维度。

import torchx = torch.tensor(5)  # 标量张量,零维
y = torch.tensor([1, 2, 3])  # 一维张量
z = torch.tensor([[4, 5, 6], [7, 8, 9]])  # 二维张量x = torch.atleast_1d(x)
y = torch.atleast_1d(y)
z = torch.atleast_1d(z)print(x)  # 输出: tensor([5])
print(y)  # 输出: tensor([1, 2, 3])
print(z)  # 输出: tensor([[4, 5, 6],#         [7, 8, 9]])

2.torch.atleast_2d()

torch.atleast_2d()是PyTorch框架中的一个函数,用于确保输入张量至少具有两个维度。
该函数的作用是将输入张量转换为至少具有两个维度的形状。如果输入张量已经是两个或更多维度,则不做任何修改;如果输入张量是一维的,则会将其转换为二维张量,其中一个维度的大小为1。

import torchx = torch.tensor([1, 2, 3])  # 一维张量
y = torch.tensor([[4, 5, 6], [7, 8, 9]])  # 二维张量x = torch.atleast_2d(x)
y = torch.atleast_2d(y)print(x)  # 输出: tensor([[1, 2, 3]])
print(y)  # 输出: tensor([[4, 5, 6],#         [7, 8, 9]])

3.torch.bincount()

当我们使用 torch.bincount() 函数时,它可以帮助我们计算给定整数张量中每个值出现的频率。

torch.bincount(input, weights=None, minlength=0)
"""
参数说明:
input:输入的一维整数张量。
weights:可选参数,具有相同长度的张量,用于指定每个值的权重。
minlength:可选参数,返回张量的最小长度。如果指定,则返回的张量长度为 max(input) + 1 和 minlength 中的较大者。
"""
import torchx = torch.tensor([0, 1, 1, 3, 2, 1, 4, 3, 2, 2, 0])
counts = torch.bincount(x)print(counts)  # 输出: tensor([2, 3, 3, 2, 1])
import torchx = torch.tensor([0, 1, 1, 3, 2, 1, 4, 3, 2, 2, 0])
weights = torch.tensor([0.1, 0.5, 0.2, 0.3, 0.4, 1.0, 0.2, 0.5, 0.1, 0.3, 0.2])
counts = torch.bincount(x, weights=weights)print(counts)  # 输出: tensor([0.3, 0.8, 1.1, 1.1, 0.2])

4.torch.block_diag()

block_diag 是一个数学工具函数,用于构建块对角矩阵(block diagonal matrix)。块对角矩阵是一个由多个方阵组成的大矩阵,其中每个方阵作为对角线的一个块。

import torchA = torch.tensor([[1, 2], [3, 4]])
B = torch.tensor([[5, 6], [7, 8]])
C = torch.tensor([[9, 10], [11, 12]])# 构建块对角矩阵
result = torch.cat((torch.cat((A, torch.zeros_like(B)), dim=1),torch.cat((torch.zeros_like(A), B), dim=1)), dim=0)result = torch.cat((result, torch.cat((torch.zeros_like(result), C), dim=1)), dim=0)print(result)
tensor([[ 1,  2,  0,  0,  0,  0],[ 3,  4,  0,  0,  0,  0],[ 0,  0,  5,  6,  0,  0],[ 0,  0,  7,  8,  0,  0],[ 0,  0,  0,  0,  9, 10],[ 0,  0,  0,  0, 11, 12]])Process finished with exit code 0

5.torch.broadcast_tensors()

torch.broadcast_tensors(*tensors)
"""
参数:
*tensors:要广播的输入张量,可以传入多个张量。
这些张量可以具有不同的形状,但需要满足广播规则。
返回值:
broadcasted_tensors:广播后的张量组成的新列表,其中每个张量都具有相同的形状。
"""

在这里插入图片描述

import torch# 示例1
x = torch.tensor([1, 2, 3])       # 形状为 (3,)
y = torch.tensor([[4], [5], [6]]) # 形状为 (3, 1)broadcasted_x, broadcasted_y = torch.broadcast_tensors(x, y)print(broadcasted_x)
print(broadcasted_y)
tensor([[1, 2, 3],[1, 2, 3],[1, 2, 3]])
tensor([[4, 4, 4],[5, 5, 5],[6, 6, 6]])

6.torch.broadcast_shapes()

torch.broadcast_shapes() 是 PyTorch 中的一个函数,用于计算广播操作中的形状。广播是一种在不同形状的张量之间进行元素级操作的机制。在进行广播操作时,PyTorch会自动调整张量的形状,使其具有相容的尺寸以进行元素级操作。

import torchshape1 = (2, 1, 4)
shape2 = (2, 3, 1)
shape3_adjusted = (1, 3, 1)result_shape = torch.broadcast_shapes(shape1, shape2, shape3_adjusted)
print(result_shape)
torch.Size([2, 3, 4])

7.torch.bucketize()

在 PyTorch 中,torch.bucketize() 函数用于将输入张量中的元素根据给定的边界值(boundaries)划分到不同的桶(buckets)中。

import torchinput_tensor = torch.tensor([1.2, 2.5, 3.7, 4.1, 5.8])
boundaries = torch.tensor([2.0, 4.0])output_tensor = torch.bucketize(input_tensor, boundaries)print(output_tensor)
tensor([0, 1, 1, 2, 2])
"""
输出张量 output_tensor 包含了与输入张量相同数量的元素,
每个元素表示对应输入元素所属的桶的索引。
在这个例子中,边界值为 [2.0, 4.0],因此小于 2.0 的元素被划分到桶 0,
大于等于 2.0 且小于 4.0 的元素被划分到桶 1,大于等于 4.0 的元素被划分到桶 2。
"""

8.torch.cartesian_prod()

在 PyTorch 中,torch.cartesian_prod() 函数用于计算给定张量序列的笛卡尔积。

import torchtensors = [torch.tensor([1, 2]), torch.tensor([3, 4, 5]), torch.tensor([6])]result = torch.cartesian_prod(*tensors)print(result)
tensor([[1, 3, 6],[1, 4, 6],[1, 5, 6],[2, 3, 6],[2, 4, 6],[2, 5, 6]])

9.torch.cdist()

torch.cdist() 是 PyTorch 中的一个函数,用于计算两个张量之间的距离。

torch.cdist(x1, x2, p=2, compute_mode='use_mm_for_euclid_dist')
"""
x1:第一个输入张量,形状为 (n1, d)。
x2:第二个输入张量,形状为 (n2, d)。
p:距离度量的参数,默认为 2,表示欧氏距离。可以选择其他值,如 1 表示曼哈顿距离。
compute_mode:计算模式,默认为 'use_mm_for_euclid_dist',表示对欧氏距离使用矩阵乘法进行计算。可以选择 'donot_use_mm_for_euclid_dist',表示不使用矩阵乘法进行欧氏距离的计算。
"""
import torchx1 = torch.tensor([[1., 2.], [3., 4.], [5., 6.]])
x2 = torch.tensor([[7., 8.], [9., 10.]])distances = torch.cdist(x1, x2)print(distances)

10.torch.clone()

torch.clone() 是 PyTorch 中的一个函数,用于创建一个张量的副本(深拷贝)。

torch.clone(input, memory_format=None)
"""
input:要克隆的输入张量。
memory_format:(可选)指定内存布局格式的选项。默认为 None,表示保持与输入张量相同的内存布局。可以选择 'contiguous',表示返回一个连续内存布局的张量。
"""

深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在计算机科学中用来描述对象复制的两个概念,它们有着不同的特点和应用场景。

深拷贝是指创建一个新对象,将被复制对象的所有内容逐个复制到新对象中,包括对象的所有属性和嵌套对象。新对象与原对象是完全独立的,对新对象的修改不会影响到原对象。深拷贝是一种完全的复制,它创建了一个原始对象的完全独立副本。

浅拷贝是指创建一个新对象,新对象与原对象共享一部分数据,包括对象的引用和一些属性。浅拷贝并不复制嵌套对象本身,而是复制嵌套对象的引用。因此,对浅拷贝对象的修改可能会影响到原对象或其他共享该数据的对象。浅拷贝创建了一个新对象,但它与原对象之间存在一定的关联。

import copy# 原始对象
original_list = [1, 2, [3, 4]]# 深拷贝
deep_copy_list = copy.deepcopy(original_list)# 浅拷贝
shallow_copy_list = copy.copy(original_list)# 修改嵌套对象
original_list[2][0] = 5print(original_list)       # 输出: [1, 2, [5, 4]]
print(deep_copy_list)      # 输出: [1, 2, [3, 4]]
print(shallow_copy_list)   # 输出: [1, 2, [5, 4]]

11.torch.cummax()

torch.cummax() 是 PyTorch 中的一个函数,用于计算沿指定维度的累积最大值。

torch.cummax(input, dim, out=None)
"""
torch.cummax(input, dim, out=None)
input:输入张量。
dim:指定进行累积最大值计算的维度。
out:(可选)输出张量,用于存储结果。
"""
import torch
x = torch.tensor([[1, 3, 2],[4, 2, 5]])
cumulative_max, _ = torch.cummax(x, dim=1)
cumulative_ma ,__= torch.cummax(x, dim=0)
print(cumulative_max)
print(cumulative_ma)
tensor([[1, 3, 3],[4, 4, 5]])
tensor([[1, 3, 2],[4, 3, 5]])

12.torch.cummin()

torch.cummin() 是 PyTorch 中的一个函数,用于计算沿指定维度的累积最小值。

torch.cummin(input, dim, out=None)
"""
input:输入张量。
dim:指定进行累积最小值计算的维度。
out:(可选)输出张量,用于存储结果。
"""
import torchx = torch.tensor([[3, 2, 4], [1, 5, 2]])cumulative_min = torch.cummin(x, dim=0)print(cumulative_min)
torch.return_types.cummin(
values=tensor([[3, 2, 4],[1, 2, 2]]),
indices=tensor([[0, 0, 0],[1, 0, 1]]))

13.torch.cumprod()

torch.cumprod() 是 PyTorch 中的一个函数,用于计算沿指定维度的累积乘积。

torch.cumprod(input, dim, dtype=None)
"""
input:输入张量。
dim:指定进行累积乘积计算的维度。
dtype:(可选)输出张量的数据类型。
"""
import torchx = torch.tensor([[2, 3, 4], [5, 6, 7]])cumulative_prod = torch.cumprod(x, dim=1)print(cumulative_prod)
tensor([[  2,   6,  24],[  5,  30, 210]])

14.torch.cumsum()

torch.cumsum() 是 PyTorch 中的一个函数,用于计算沿指定维度的累积求和。

torch.cumsum(input, dim, dtype=None)
"""
input:输入张量。
dim:指定进行累积求和计算的维度。
dtype:(可选)输出张量的数据类型。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6]])cumulative_sum = torch.cumsum(x, dim=1)print(cumulative_sum)
tensor([[ 1,  3,  6],[ 4,  9, 15]])

15.torch.diag()

torch.diag() 是 PyTorch 中的一个函数,用于创建一个以给定对角线元素填充的张量,或者从一个二维张量中提取对角线元素。

torch.diag(input, diagonal=0, out=None)
"""
input:输入张量。
diagonal:(可选)指定对角线的偏移量,默认为 0,表示主对角线。正值表示上方的对角线,负值表示下方的对角线。
out:(可选)输出张量,用于存储结果。
"""
import torch# 创建一个以给定对角线元素填充的张量
x = torch.diag(torch.tensor([1, 2, 3]))
print(x)# 从一个二维张量中提取对角线元素
y = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
diagonal = torch.diag(y)
print(diagonal)
tensor([[1, 0, 0],[0, 2, 0],[0, 0, 3]])
tensor([1, 5, 9])

16.torch.diag_embed()

torch.diag_embed() 是 PyTorch 中的一个函数,用于创建一个以给定对角线元素填充的张量,或者将一维张量转换为对角矩阵。

torch.diag_embed(input, offset=0, dim1=-2, dim2=-1)
"""
input:输入张量,可以是一维或多维张量。
offset:(可选)指定对角线的偏移量,默认为 0,表示主对角线。正值表示上方的对角线,负值表示下方的对角线。
dim1:(可选)指定输入张量的第一个维度。
dim2:(可选)指定输入张量的第二个维度。
"""
import torch# 创建一个以给定对角线元素填充的张量
x = torch.diag_embed(torch.tensor([1, 2, 3]))
print(x)# 将一维张量转换为对角矩阵
y = torch.tensor([4, 5, 6])
diagonal_matrix = torch.diag_embed(y)
print(diagonal_matrix)
tensor([[1, 0, 0],[0, 2, 0],[0, 0, 3]])
tensor([[4, 0, 0],[0, 5, 0],[0, 0, 6]])

17.torch.diagflat()

torch.diagflat() 是 PyTorch 中的一个函数,用于创建一个以给定一维张量进行扁平化后的元素填充的张量。

torch.diagflat(input, offset=0)
"""
input:输入一维张量。
offset:(可选)指定对角线的偏移量,默认为 0,表示主对角线。正值表示上方的对角线,负值表示下方的对角线。
"""
import torchx = torch.tensor([1, 2, 3])diagonal_tensor = torch.diagflat(x)print(diagonal_tensor)
tensor([[1, 0, 0],[0, 2, 0],[0, 0, 3]])

18.torch.diagonal()

torch.diagonal() 是 PyTorch 中的一个函数,用于提取输入张量的对角线元素或返回指定偏移量的对角线。

torch.diagonal(input, offset=0, dim1=0, dim2=1)
"""
input:输入张量。
offset:(可选)指定对角线的偏移量,默认为 0,表示主对角线。正值表示上方的对角线,负值表示下方的对角线。
dim1:(可选)指定输入张量的第一个维度。
dim2:(可选)指定输入张量的第二个维度。
"""
import torch# 提取输入张量的主对角线
x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
diagonal = torch.diagonal(x)
print(diagonal)# 提取输入张量的上方对角线
upper_diagonal = torch.diagonal(x, offset=1)
print(upper_diagonal)# 提取输入张量的下方对角线
lower_diagonal = torch.diagonal(x, offset=-1)
print(lower_diagonal)
tensor([1, 5, 9])
tensor([2, 6])
tensor([4, 8])

19.torch.flatten()

torch.flatten() 是 PyTorch 中的一个函数,用于将输入张量扁平化为一维张量。

torch.flatten(input, start_dim=0, end_dim=-1)
"""
input:输入张量。
start_dim:(可选)指定开始扁平化的维度,默认为 0。
end_dim:(可选)指定结束扁平化的维度,默认为 -1。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6]])flatten_tensor = torch.flatten(x)print(flatten_tensor)
tensor([1, 2, 3, 4, 5, 6])
import torchx = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])flatten_tensor = torch.flatten(x, start_dim=1, end_dim=-1)print(flatten_tensor)
tensor([[1, 2, 3, 4],[5, 6, 7, 8]])
import torchx = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])flatten_tensor = torch.flatten(x, start_dim=0, end_dim=1)print(flatten_tensor)
tensor([[1, 2],[3, 4],[5, 6],[7, 8]])

20.torch.flip()

torch.flip() 是 PyTorch 中的一个函数,用于反转张量的维度顺序。

torch.flip(input, dims)
"""
input:输入张量。
dims:指定需要反转的维度。可以是一个整数或一个元组,表示需要反转的维度的索引。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6]])flipped_tensor = torch.flip(x, dims=(0, 1))print(flipped_tensor)
tensor([[6, 5, 4],[3, 2, 1]])

21.torch.ravel()

Return a contiguous flattened tensor. A copy is made only if needed.

torch.ravel(input) → Tensor
>>> t = torch.tensor([[[1, 2],
...                    [3, 4]],
...                   [[5, 6],
...                    [7, 8]]])
>>> torch.ravel(t)
tensor([1, 2, 3, 4, 5, 6, 7, 8])

22.torch.trace()

torch.trace() 是 PyTorch 中的一个函数,用于计算矩阵的迹(trace)。

torch.trace(input)
"""
input:输入矩阵。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])trace_value = torch.trace(x)print(trace_value)
tensor(15)

23.torch.tril()

torch.tril() 是 PyTorch 中的一个函数,用于获取一个矩阵的下三角部分(lower triangular part)。

torch.tril(input, diagonal=0)
"""
input:输入矩阵。
diagonal:指定对角线的位置。默认值为 0,表示主对角线。正值表示主对角线之上的对角线,负值表示主对角线之下的对角线。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])lower_triangular = torch.tril(x)print(lower_triangular)
tensor([[1, 0, 0],[4, 5, 0],[7, 8, 9]])

24.torch.triu()

torch.triu() 是 PyTorch 中的一个函数,用于获取一个矩阵的上三角部分(upper triangular part)。

torch.triu(input, diagonal=0)
"""
input:输入矩阵。
diagonal:指定对角线的位置。默认值为 0,表示主对角线。正值表示主对角线之上的对角线,负值表示主对角线之下的对角线。
"""
import torchx = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])upper_triangular = torch.triu(x)print(upper_triangular)
tensor([[1, 2, 3],[0, 5, 6],[0, 0, 9]])

24.torch.triu_indices()

torch.triu_indices() 是 PyTorch 中的一个函数,用于生成上三角矩阵的索引。

torch.triu_indices(n, m, offset=0, dtype=torch.int64, device='cpu')
"""
n:生成的索引的行数。
m:生成的索引的列数。
offset:生成的索引中非零元素的位置偏移量。默认值为 0,表示主对角线及其以上的元素。
dtype:生成的索引的数据类型。默认为 torch.int64。
device:生成的索引所在的设备。默认为 'cpu'。
"""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

队列及其应用

实验内容 请设计一个简单的模拟银行排队系统,要求程序具有以下4项菜单: 1.取号。选择该菜单后,为客户产生一个排队号。 2.叫号。选择该菜单后,显示可服务的客户排队号。 3.查看队伍。从队首到队尾列出所有排队客户的排队号。 4.退…

【机器学习】YOLOv10与YOLOv8分析

YOLOv10与YOLOv8:实时目标检测技术的演进与对比 一、YOLOv8与YOLOv10的概述二、YOLOv8的特点与优势三、YOLOv10的改进与创新四、YOLOv10与YOLOv8的性能对比五、总结与展望 随着深度学习技术的飞速发展,实时目标检测技术已成为计算机视觉领域的研究热点。…

关于yolov8识别滑块关键点

1,images,annotations创建 IMAGES:放图片材料的 ANNTATIONS:放labelImg标记的xml文件 2,labels,txt怎么来的 labels :可以手动创建,里面还配置了train,val,test文件夹。可手动(以下代码中没有写…

【渗透测试】DC-1靶机实战(下)SSH爆破提权

【渗透测试】DC-1靶机实战(上)漏洞扫描获取反弹shell-CSDN博客 7.SSH爆破 hydra ssh://172.20.10.4 -l flag4 -P /usr/share/john/password.lst -t 64 -f -vV -o /tmp/hydra.sshssh://10.10.10.31:指定了要攻击的 SSH 服务的地址。 -l flag…

医学编码系统说明

简介 流程说明 登录系统 在浏览器中访问FNEHR的站点,输入医院编号、用户和密码,选择“Other”,点击“Login”按钮,登录系统: 登录后,在左边显示系统的菜单: 系统设置 医院设置 点击左侧的“Acc…

【电赛】STM32-PID直流减速电机小车【寻迹+避障+跟随】【更新ing】

一.需求分析 1.主控:STM32C8T6(没什么好说的哈哈) 2.电机:JAG25-370电机 【问】为什么要用直流减速电机?? PID控制器需要依靠精确的反馈信号来调整其输出,确保电机按照预定的速度和位置运行…

用python写一个基于PyQt5和OpenAI的智能问答项目

摘要: 使用python写一个可以对话的智能问答机器人,界面是使用PyQt5写的,通过调用OpenAl的免费接口,实现实时聊天功能。 1.申请免费的API key 前往页面https://github.com/chatanywhere/GPT_API_free 点击下面链接: …

SQL实验 SQL Server数据库的安全性控制

一、实验目的 1.熟悉通过SQL对数据进行安全控制。 2.掌握GRANT与REVOKE语句的使用,熟悉数据库用户的创建和授权。 二、实验内容 (一)、第一部分:以上先采用图形用户界面进行设置权限,然后试…

65、API攻防——接口安全WebPackRESTSOAPWSDLWebService

文章目录 一、接口类型二、Webservice类——Wsdl&ReadyAPI-SQL注入三、SOAP类——Swagger&SoapUI&EXP-信息泄露四、HTTP类——WebPack&PackerFuzzer-信息泄露 一、接口类型 HTTP类接口PRC类接口 客户端和服务端的连接,非web上的接口,可…

计算机网络9——无线网络和移动网络1 无线局域网 WLAN2

文章目录 一、802.11局域网的 MAC 层协议1、CSMA/CA协议2、时间间隔 DIFS 的重要性3、争用信道的过程4、对信道进行预约 二、802.11局域网的 MAC 帧1)关于 802.11 数据帧的地址2)序号控制字段、持续期字段和帧控制字段 一、802.11局域网的 MAC 层协议 1…

实战:Zig 编写高性能 Web 服务(2)

1.1 编写 HTTP server 我们从python -m http.server 8000启动得到灵感,先确定好目标: 编写一个HTTP/1.1 http serverzig version 0.12.0 使用zig init搭建项目的前置工作你先自行搭建好,不会的翻看前面铺垫的章节熟悉zig的项目结构。 关键…

神经网络 | 深度学习背后的数学

神经网分析 机器学习处理的是数据,通过学习输入的数据,从而建立模型,以便预测新的数据的输出 按照类型可以进行如下分类 监督分类 非监督分类 强化学习 神经元 生物学中,人的大脑是由多个神经元互相连接形成网络而构成的。也…

2024国内热门大语言模型在科研方面的应用

本博客总结了几款热门的国产大语言模型,帮助大家利用这些大语言模型更好的进行科研。 模型介绍 1.文心一言 链接:https://yiyan.baidu.com/ 开发方:百度 特点:专注于中文语言理解与生成,适合中文文本的语义理解任务。 百度推出…

设计模式-抽象工厂(创建型)

创建型-抽象工厂 角色 抽象工厂: 声明创建一个族产品对象的方法,每个方法对应一中产品,抽象工厂可以是接口,也可以是抽象类;具体工厂: 实现抽象工厂接口,复杂创建具体的一族产品;抽…

web学习笔记(六十三)

目录 1.钩子函数onActivated和onDeactivated 1.1 onActivated 1.2 onDeactivated 2. KeepAlive补充 2.1 include 和 exclude 2.2 的作用是什么? 2.3 组件包含什么prop属性及作用? 2.4 对应那两个生命周期?生命周期什么时机执行? 2.5 …

前端 Web 与原生应用端 WebView 通信交互 - HarmonyOS Next

基于鸿蒙 HarmonyOS Next 与前端 Vue 通信交互相关小结; DevEco Studio NEXT Developer Preview2 Vue js 两端相互拟定好协议后,通过前端页面的点击事件,将所需的数据传输给原生移动端组件方法中,处理后将消息回传至前端. 根据官方文档的案例尝试,但没成功 ... 后经过几经尝试…

GDB调试工具

-D,指定编译内容。 调试: gdb ./a.out 文件名 l可以查看代码内容 c全部执行 n执行下一步 q退出 gdb ./a.out -p id号 查找ID号用管道命令|。

【重磅丨教育设备】推动大规模设备更新和消费品以旧换新行动方案

近日,国务院印发《推动大规模设备更新和消费品以旧换新行动方案》(以下简称《行动方案》)。《行动方案》提出:实施设备更新行动。提升教育文旅医疗设备水平,推动符合条件的高校、职业院校(含技工院校&#…

FarmersWorld农民世界源码开发:0撸卷轴+潮玩模式

一、引言 随着科技的发展,游戏产业日益壮大,一种新型的游戏形式——零撸游戏应运而生。本文将深入探讨FarmersWorld农民世界源码开发,以其独特的0撸卷轴潮玩模式,为玩家带来全新的游戏体验。 二、源码开发的专业性和深度 Farmer…

笔记 | 软件工程01:从程序到软件

1 软件工程知识域 2 程序 2.1 何为程序及程序的质量要求 何为程序: 理解:软件工程可能就是在弥补OOP语言与自然语言之间还存在的鸿沟 2.1.1 程序质量的内在和外在体现 2.1.2 程序质量的语法和语义体现 2.2 编写代码的基本原则 2.3 程序质量保证方法 …