DeepLearn关于数组和数的操作

news2024/11/20 20:20:11

本篇文章纯属作为自己的笔记,因为每次写程序都忘记下面的内容,找起来又很浪费时间,所有就索性一次性都整理下来,后续又不新的不会的内弄也会及时更新到文章当中,方便以后查阅。

DeepLearn关于数组和数的操作

  • Python
    • 标准数据类型
    • 数据类型之间的转换
    • 字符串(String)
      • 访问字符串中的值
      • 转义字符
      • 字符串运算符
      • 字符串格式化
    • 列表(List)
      • 列表脚本操作符
      • 列表函数&方法
        • Python包含以下`函数`
        • Python包含以下`方法`:
    • 元组(Tuple)
      • 元组运算符
      • 元组内置函数
    • 字典(Dictionary)
      • 字典内置函数&方法
        • Python字典包含了以下内置`函数`:
        • Python字典包含了以下内置`方法`:
    • 集合(Set)
      • 集合内置方法完整列表
    • python 四舍五入
  • Numpy
    • ndarray 对象
      • ndarray 概念
      • ndarray 内部关系
      • ndarray 内存结构
      • ndarray vs list
        • ndarray 特点
        • list 特点
    • NumPy 数组属性
    • NumPy 创建数组
      • numpy.random
        • numpy.random.seed
        • numpy.random.rand
        • numpy.random.uniform
        • numpy.random.normal
        • numpy.random.randn
        • numpy.random.randint
        • numpy.random.random_sample
      • numpy.empty
      • numpy.zeros
      • numpy.ones
      • numpy.eye
    • 数组操作
      • 修改数组形状
      • 翻转数组
      • 修改数组维度
      • 连接数组
      • 分割数组
      • 数组元素的添加与删除
    • 舍入函数
      • numpy.around()
      • numpy.floor()
      • numpy.ceil()
  • Pytorch
    • Tensors
    • Creation Ops
    • Indexing, Slicing, Joining, Mutating Ops
    • Random sampling
  • 参考资料

Python

https://docs.python.org/3.7/c-api/index.html

在这里插入图片描述

标准数据类型

不可变数据可变数据
Number(数字)List(列表)
String(字符串)Dictionary(字典)
Tuple(元组)Set(集合)

数据类型之间的转换

函数描述
int(x [,base])将x转换为一个整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

字符串(String)

字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。

访问字符串中的值

Python 访问子字符串,可以使用方括号 [] 来截取字符串:

在这里插入图片描述

在这里插入图片描述

转义字符

转义字符描述实例
(在行尾时)续行符
\反斜杠符号在这里插入图片描述
单引号在这里插入图片描述
"双引号在这里插入图片描述
\a响铃执行后电脑有响声。
\b退格(Backspace)在这里插入图片描述
\000在这里插入图片描述
\n换行在这里插入图片描述
\v纵向制表符在这里插入图片描述
\t横向制表符在这里插入图片描述
\r回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。在这里插入图片描述
\f换页在这里插入图片描述
\yyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行。在这里插入图片描述
\xyy十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行在这里插入图片描述
\other其它的字符以普通格式输出

字符串运算符

在这里插入图片描述

字符串格式化

在这里插入图片描述

格式化操作符辅助指令:

在这里插入图片描述

列表(List)

列表脚本操作符

在这里插入图片描述

列表函数&方法

Python包含以下函数

函数功能
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表

Python包含以下方法:

方法功能
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort( key=None, reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表

元组(Tuple)

  • Python 的元组与列表类似,不同之处在于元组的元素不能修改。

  • 元组使用小括号 ( ),列表使用方括号 [ ]。

  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

在这里插入图片描述
元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。

在这里插入图片描述

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

在这里插入图片描述

元组内置函数

Python元组包含了以下内置函数

函数功能
len(tuple)计算元组元素个数。
max(tuple)返回元组中元素最大值。
min(tuple)返回元组中元素最小值。
tuple(iterable)将可迭代系列转换为元组。

字典(Dictionary)

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

d = {key1 : value1, key2 : value2, key3 : value3 }

注意dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

在这里插入图片描述
键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

一个简单的字典实例:

tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

在这里插入图片描述

字典内置函数&方法

Python字典包含了以下内置函数

函数功能
len(dict)计算字典元素个数,即键的总数
str(dict)输出字典,可以打印的字符串表示
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型

Python字典包含了以下内置方法

方法功能
dict.clear()
删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys()创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict如果键在字典dict里返回true,否则返回false
dict.items()以列表返回一个视图对象
dict.keys()返回一个视图对象
dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()返回一个视图对象
pop(key[,default])删除字典 key(键)所对应的值,返回被删除的值。
popitem()返回并删除字典中的最后一对键和值。

集合(Set)

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = {value01,value02,...}
或者
set(value)

集合内置方法完整列表

方法功能
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

python 四舍五入

round(number[, ndigits])

在这里插入图片描述

print('2.3-> \t', round(2.3))
print('2.4-> \t', round(2.4))
print('2.5-> \t', round(2.5))
print('2.51-> \t', round(2.51))
print('2.6-> \t', round(2.6))

在这里插入图片描述

print('2.314563-> \t', round(2.314563, 1))
print('2.314563-> \t', round(2.314563, 2))
print('2.314563-> \t', round(2.314563, 3))
print('2.314563-> \t', round(2.314563, 4))
print('2.314563-> \t', round(2.314563, 5))
print('2.314563-> \t', round(2.314563, 6))

在这里插入图片描述

Numpy

https://numpy.org/doc/stable/reference/index.html

在这里插入图片描述

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

ndarray 对象

ndarray 概念

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组。

ndarray 中的每个元素在内存中都有相同存储大小的区域。

ndarray 内部关系

在这里插入图片描述

通过以上ndarray 内部结构,我们可以看到 ndarray 主要由 dtype、shape、stride组成

  • 指向内存映射地址的指针-data对象
  • 元素解释形象-dtype对象
  • 每个维度的元素之间的间隔-strides对象(tuple)
  • 对每个维度的数量和大小的描述-shape对象(tuple)

跨度可以是负数,这样会使数组在内存中后向移动,切片中 obj[::-1]obj[:,::-1] 就是如此。

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

在这里插入图片描述

ndarray 内存结构

我们通过numpy.array 方法创建一个2维数组

import numpy as np

a = np.array([[1,2],[4,5],[7,8]])

print("dim:",a.ndim)
print("strides:",a.strides)
print("dtype:",a.dtype)
print("data:",a.data)
print("shape:",a.shape)
print(a)

在这里插入图片描述

通过array对象调用ndarray 标量对象,可以获知ndarray 维度大小、元素类型、间隔等信息

在这里插入图片描述

通过上述图,我们可以知道 ndarray 内存主要划分为两部分:

  • raw data: 计算机一段连续的block,存储在C或者Fortran中的数组

  • metdata:有关原始数组数据的信息

ndarray vs list

ndarray 特点

  • ndarray 要求所有数据都是同种类型
  • 每个数据占用空间一样
  • 数组中存储的数据是一段连续的空间

list 特点

  • 可以容纳不同数据类型
  • list 中只存放对象的引用,再通过引用找到具体的对象
  • 对象的物理地址并不是连续的

在这里插入图片描述

所以,综上所述,ndarray 查找数据运行效率比list快,同时ndarray 存储的数据是连续的一段空间,对比list 对象物理地址分散的,ndarray 比 list 更省空间

NumPy 数组属性

属性说明
ndarray.ndim秩,即轴的数量或维度的数量
ndarray.shape数组的维度,对于矩阵,n 行 m 列
ndarray.size数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtypendarray 对象的元素类型
ndarray.itemsizendarray 对象中每个元素的大小,以字节为单位
ndarray.flagsndarray 对象的内存信息
ndarray.realndarray元素的实部
ndarray.imagndarray 元素的虚部
ndarray.data包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

NumPy 创建数组

numpy.random

numpy.random.seed

https://numpy.org/doc/stable/reference/random/generated/numpy.random.seed.html

random.seed(self, seed=None)
# 多次运行,程序输出结果一致
# 如果不设置随机数种子,多次运行输出结果不一致

numpy.random.rand

https://numpy.org/doc/stable/reference/random/generated/numpy.random.rand.html#numpy-random-rand

random.rand(d0, d1, ..., dn)

Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1).

在这里插入图片描述

numpy.random.uniform

https://numpy.org/doc/stable/reference/random/generated/numpy.random.uniform.html

random.uniform(low=0.0, high=1.0, size=None)

Samples are uniformly distributed over the half-open interval [low, high) (includes low, but excludes high). In other words, any value within the given interval is equally likely to be drawn by uniform.

在这里插入图片描述

numpy.random.normal

https://numpy.org/doc/stable/reference/random/generated/numpy.random.normal.html

random.normal(loc=0.0, scale=1.0, size=None)

Draw random samples from a normal (Gaussian) distribution.

在这里插入图片描述

numpy.random.randn

https://numpy.org/doc/stable/reference/random/generated/numpy.random.randn.html

random.randn(d0, d1, ..., dn)

Return a sample (or samples) from the “standard normal” distribution.

在这里插入图片描述

numpy.random.randint

https://numpy.org/doc/stable/reference/random/generated/numpy.random.randint.html

random.randint(low, high=None, size=None, dtype=int)

Return random integers from the “discrete uniform” distribution of the specified dtype in the “half-open” interval [low, high). If high is None (the default), then results are from [0, low).

在这里插入图片描述

numpy.random.random_sample

https://numpy.org/doc/stable/reference/random/generated/numpy.random.random_sample.html#numpy.random.random_sample

random.random_sample(size=None)

Results are from the “continuous uniform” distribution over the stated interval. To sample U n i d [ a , b ) , b > a Unid[a, b), b>a Unid[a,b),b>a multiply the output of random_sample by (b-a) and add a:

在这里插入图片描述

numpy.empty

https://numpy.org/doc/stable/reference/generated/numpy.empty.html?highlight=empty#numpy.empty

numpy.empty(shape, dtype=float, order='C', *, like=None)

Return a new array of given shape and type, without initializing entries.

在这里插入图片描述

>>> np.empty([2, 2])
array([[ -9.74499359e+001,   6.69583040e-309],
       [  2.13182611e-314,   3.06959433e-309]])         #uninitialized
>>> np.empty([2, 2], dtype=int)
array([[-1073741821, -1067949133],
       [  496041986,    19249760]])                     #uninitialized

numpy.zeros

https://numpy.org/doc/stable/reference/generated/numpy.zeros.html?highlight=zeros#numpy.zeros

numpy.zeros(shape, dtype=float, order='C', *, like=None)

Return a new array of given shape and type, filled with zeros.

在这里插入图片描述

numpy.ones

https://numpy.org/doc/stable/reference/generated/numpy.ones.html

numpy.ones(shape, dtype=None, order='C', *, like=None)

Return a new array of given shape and type, filled with ones.

在这里插入图片描述

numpy.eye

https://numpy.org/doc/stable/reference/generated/numpy.eye.html

numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, like=None)

Return a 2-D array with ones on the diagonal and zeros elsewhere.

在这里插入图片描述

数组操作

修改数组形状

函数描述
reshape不改变数据的条件下修改形状
flat数组元素迭代器
flatten返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
ravel返回展开数组

翻转数组

函数描述
transpose对换数组的维度
ndarray.T和 self.transpose() 相同
rollaxis向后滚动指定的轴
swapaxes对换数组的两个轴

修改数组维度

函数描述
expand_dims扩展数组的形状
squeeze从数组的形状中删除一维条目

连接数组

函数描述
concatenate连接沿现有轴的数组序列
stack沿着新的轴加入一系列数组。
hstack水平堆叠序列中的数组(列方向)
vstack竖直堆叠序列中的数组(行方向)

分割数组

函数描述
split将一个数组分割为多个子数组
hsplit将一个数组水平分割为多个子数组(按列)
vsplit将一个数组垂直分割为多个子数组(按行)

数组元素的添加与删除

函数描述
resize返回指定形状的新数组
append将值添加到数组末尾
insert沿指定轴将值插入到指定下标之前
delete删掉某个轴的子数组,并返回删除后的新数组
unique查找数组内的唯一元素

舍入函数

numpy.around()

numpy.around(a,decimals)

函数返回指定数字的四舍五入值。

参数说明:

  • a: 数组
  • decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

numpy.floor()

返回小于或者等于指定表达式的最大整数,即向下取整。

a = np.array([-1.7,  1.5,  -0.2,  0.6,  10])
np.floor(a)

在这里插入图片描述

numpy.ceil()

返回大于或者等于指定表达式的最小整数,即向上取整。

a = np.array([-1.7,  1.5,  -0.2,  0.6,  10])
np.ceil(a)

在这里插入图片描述

Pytorch

https://pytorch.org/docs/stable/index.html

在这里插入图片描述

Tensors

函数描述
is_tensorReturns True if obj is a PyTorch tensor.

Creation Ops

函数描述
tensorConstructs a tensor with no autograd history (also known as a “leaf tensor”, see Autograd mechanics) by copying data.
as_tensorConverts data into a tensor, sharing data and preserving autograd history if possible.
from_numpyCreates a Tensor from a numpy.ndarray.
zerosReturns a tensor filled with the scalar value 0, with the shape defined by the variable argument size.
zeros_likeReturns a tensor filled with the scalar value 0, with the same size as input.
onesReturns a tensor filled with the scalar value 1, with the shape defined by the variable argument size.
ones_likeReturns a tensor filled with the scalar value 1, with the same size as input.
arangeReturns a 1-D tensor of size ⌈ end − start step ⌉ \left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil stependstartwith values from the interval [start, end) taken with common difference step beginning from start.
rangeReturns a 1-D tensor of size ⌊ end − start step ⌋ + 1 \left\lfloor \frac{\text{end} - \text{start}}{\text{step}} \right\rfloor + 1 stependstart+1with values from start to end with step step.
eyeReturns a 2-D tensor with ones on the diagonal and zeros elsewhere.
emptyReturns a tensor filled with uninitialized data.

Indexing, Slicing, Joining, Mutating Ops

函数描述
catConcatenates the given sequence of seq tensors in the given dimension.
reshapeReturns a tensor with the same data and number of elements as input, but with the specified shape.
splitSplits the tensor into chunks.
squeezeReturns a tensor with all the dimensions of input of size 1 removed.
unsqueezeReturns a new tensor with a dimension of size one inserted at the specified position.
transposeReturns a tensor that is a transposed version of input.

Random sampling

函数描述
seedSets the seed for generating random numbers to a non-deterministic random number.
normalReturns a tensor of random numbers drawn from separate normal distributions whose mean and standard deviation are given.
randReturns a tensor filled with random numbers from a uniform distribution on the interval [0, 1)[0,1)
randintReturns a tensor filled with random integers generated uniformly between low (inclusive) and high (exclusive).
randnReturns a tensor filled with random numbers from a normal distribution with mean 0 and variance 1 (also called the standard normal distribution).
randpermReturns a random permutation of integers from 0 to n - 1.

参考资料

Python numpy ndarray

NumPy Ndarray 对象

Python3 基本数据类型

Python3 数据类型转换

Python3 字符串

Python3 列表

Python3 元组

Python3 字典

Numpy 数组操作

https://pytorch.org/docs/stable/torch.html#pointwise-ops

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

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

相关文章

【详解】BIO、AIO、NIO Netty 知识点和工作原理

Netty框架 基础 三大网络编程 BIO 同步阻塞:服务器实现模式一个连接一个线程,既客户端有连接请求时,服务器就需要启动一个线程进行处理,如果这个连接不任何事情会造成不必要的线程线程开销 适用场景&#xff1a; 连接数目比较小且固定的架构&#xff0c;这种方式对服务器资源…

Android企业微信分享到小程序

1.官方文档Android应用 - 接口文档 - 企业微信开发者中心https://developer.work.weixin.qq.com/document/path/91196 2.创建应用 登录企业微信管理后台&#xff0c;选择企业应用&#xff0c;选择“企业微信授权登录”&#xff0c;在设置界面填写Android的 App的签名&包名…

[附源码]java毕业设计基于技术的新电商助农平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

HTTP 消息头

title: HTTP 消息头 date: 2022-11-16 14:36 tags: [HTTP,X-Real-IP,Host,X-Forwarded-For,Nginx] 文章目录〇、问题一、前言二、什么是消息头&#xff1f;三、Host四、X-Real-IP五、X-Forwarded-For参考更新〇、问题 什么是HTTP Headers&#xff1f;作用是什么&#xff1f; …

qemu-system-aarch64使用记录

qemu-system-aarch64 使用记录下载安装qemu查看是否支持KVM运行qemu-M内核启动问题内核编译下载安装qemu #!/bin/bashsudo apt update > /dev/null sudo apt upgrade > /dev/null sudo apt-get install -y make gcc g git > /dev/nullcd sudo apt-get install -y r…

一起来庆祝属于GISer的节日GIS DAY

概述 作为一名GISer的你&#xff0c;有没有想过其实我们GISer也有自己的节日&#xff1f;这个节日便是GIS DAY&#xff0c;今年的GIS DAY恰在今天&#xff08;2022年11月16日&#xff09;。究竟什么是GIS DAY&#xff1f;这里为大家介绍一下这个节日。 什么是GIS DAY GIS DA…

Python学习----异常、模块、安装第三方包

异常 异常的含义就不用解释了 打开一个不存在的文件&#xff1a; 异常的捕获 语法&#xff1a; 捕获所有异常 try:可能发生错误的代码 except:发生错误之后执行的代码try:可能发生错误的代码 except Exception as e:发生错误之后执行的代码两种写法都行 捕获指定异常&…

【maptplotlib大全图】一段代码洞查matplotlib图片真谛

此文通过给大家设计一个全面的代码&#xff0c;帮助大家了解matplotlib库画图的全貌 代码解读&#xff0c;略。 图示解读&#xff1a; 对照上图序号和下面序号看代码解释&#xff1a; 1.应用风格使用代码&#xff1a;plt.style.use(sty) 2.文本注释 plt.annotate(‘maximum…

QSS(Qt样式表)概念

Qt样式表是一个可以自定义部件外观的十分强大的机制&#xff0c;除了QStyle更改的样式&#xff0c;其他的都可以由QSS修改。由于受到Html的CSS启发&#xff0c;所以叫QSS。 代码添加样式表ui界面上添加样式表代码添加样式表&#xff1a; setStyleSheet&#xff08;&#xff09…

Beacon帧

一、简介 Beacon帧是802.11中一个周期性的帧&#xff0c;每隔一段时间就会向外界发出一个Beacon(信标)信号用来宣布自己802.11网络的存在。Beacon周期调高&#xff0c;对应睡眠周期拉长&#xff0c;故节能&#xff08;即越来休息100ms再起来发一个包&#xff0c;现在休息200ms…

python学习思路

话不多说&#xff0c;就是开始练习&#xff0c;因为之前编程的经验比较少&#xff0c;怎么办&#xff0c;就像马化腾一样&#xff0c;先抄袭&#xff0c;只有抄袭完成了之后&#xff0c;你才会获得你自己的知识 总体思路是先抄袭&#xff0c;再领悟。最后一定要自己默写打一次。…

电子统计台账:垂直流水账格式数据的导入

目录 1 前言 2 新建项目并打开数据源文件 3 模板设置 4 垂直过滤模板中&#xff0c;流水账过滤条件详细格式说明 1 前言 不少企业记录生产销售数据采用流水账格式。我们可以通过设置过滤模板来导入流水账格式的数据。 企业数据源文件&#xff0c;用excel打开后可以看到格式…

API安全防护解决方案

究竟什么是API 常规定义下&#xff0c;API是应用程序接口&#xff08;Application Programming Interface&#xff09;的简称&#xff0c;其含义比较宽泛&#xff0c;泛指一组定义、程序及协议的集合。随着技术领域的细分和前后端分离架构模式的推广&#xff0c;App应用、小程…

Java文件操作

文章目录1、文件的基本概念2、java文件操作2.1 File概述2.2 InputStream 和 FileInputStream2.3 OutputStream 和 OutputStreamWriter1、文件的基本概念 平时说的文件一般都是指存储在硬盘上的普通文件&#xff0c;形如txt&#xff0c;jpg&#xff0c;mp4&#xff0c;rar等这些…

Mybatis源码详解

Mybatis源码详解一、JDBC与Mybatis对比JDBC调用Mybatis调用两者对比二、Mybatis资源加载数据源获取SqlSessionFactoryBuilder.buildXMLConfigBuilder.parseXMLConfigBuilder.environmentsElementSQL语句获取1.入口2.两种方式3.XML方式获取SQL3.1 XMLMapperBuilder.parse()3.2 X…

【小白学YOLO】YOLOv3网络结构细致解析

摘要&#xff1a;本文将详细介绍Yolov3的网络结构相关内容。Yolov3 网络结构 在博客“Yolo发展历史及网络结构”中我们已经详细的解释了Yolov1的网络结构&#xff0c;并简要的提到了Yolov2与Yolov3对于网络结构的改进&#xff0c;本篇博客将详细介绍Yolov3的网络结构&#xff…

骑行耳机哪个品牌好,推荐五款最适合骑行佩戴的五款耳机

运动训练是一件非常单调的事情&#xff0c;尤其是你从事的运动节奏感比较强的时候&#xff0c;自身的呼吸频率也会随之加快&#xff0c;调节不过来的时候就很容易呼吸错乱导致运动大幅度下降&#xff0c;这时可以选择一些同当前运动节奏相符的音乐&#xff0c;让音乐在运动的全…

多云管理平台发展的几个阶段

多云管理平台能够无差别地提供统一的资源管理、业务能力和运行维护等功能&#xff0c;从而可以屏蔽掉底层云资源池的差异性&#xff0c;大大降低了用户的建设成本和运行维护成本&#xff0c;因此也是目前算力网络异构云资源池统一管理的主流建设方案。 自Gartner首次提出多云管…

黄金价格走势软件下载,国内十大现货黄金正规平台排名(2022最新榜单)

炒金者想要参与国际现货黄金交易市场中&#xff0c;开户是炒金者现货黄金理财的必经之路&#xff0c;但是依然有不少炒金者谈到开户就会色变&#xff0c;他们担心的不仅仅是开户流程复杂&#xff0c;而是担心开户时遇到的风险难易保证&#xff0c;但实际上大可不必如此&#xf…

Kotlin 中的 inline 和nonline 和crossinline

inline /*** 内联 递归函数无法内联&#xff0c;编译不通过* 函数的 参数 没有 lambda 无需内联--只是减少了方法调用层级 对性能没大影响* 函数的 参数 有 lambda 内联 * 1 不使用内联 在调用端&#xff0c;会生成 Function 对象 完成 lambda的 调用(性能损耗,for 循环 或…