python基本语法

一.索引与切片

1)取单个值:索引
2)取一段值:切片
复制代码
if self.normalize:
       inpt = inpt / torch.tensor(spatial_size[::-1]).tile(2)[None]

|----------------------|----------------------------------|
| spatial_size::-1 | 把 (H, W) 反序成 (W, H) |
| .tile(2) | 把 W, H 复制两次 → W, H, W, H |
| None | 升维成 1×4,方便与 N×4 的框张量做广播除法 |
| | 切片操作符 |
| :: | 扩展切片语法,格式 start:stop:step |
| -1 | 步长为负,表示从尾到头倒着取 |

3)隔一个取一个

二.打包与解包

1)打包:
  • 将多个值捆绑到一个容器中,这个容器可以是元组/列表/字典。

一个*:

一个*号可以打包序列,当多个值被传入一个带有*的变量时,这个变量就会变成一个列表,列表中包含所有传入的值。

例子1:

第一个值被传入了 first,依然还是一个整数,而剩下的值都被传入成了 rest 中成为列表。

这是因为 rest 前面带有星号,无论传入多少值,都会被打包为一个列表。

例子2:

将星号用于打包,还常见于函数的形参,我们来看一个例子。 :

定义一个函数 print_betas,它的参数是 *args。

这意味着,无论传入这个函数多少值,都会被打包成一个序列,然后这个函数会遍历 args 打印出里面的每个值。

这就是一个 * 在函数形参时的功能:将传入的多个值打包为一个序列。


两个*:

如果要在函数形参时使用两个*,会和一个*有所区别,区别在于两个*是将关键字参数打包为字典。

定义一个函数 example,参数是**kwargs。

因为有**,所以这个 kwargs 它会是一个字典,然后在函数中遍历还能输出打包后的 kwargs并打印出来。

那我们传入多个关键字参数看看。

kwargs 是字典,字典的 key 是我们传入的关键字参数的名称,而这个字典的 value 就是我们传进去的参数的值。


2)解包:
  • 打包的反义词,将容器里的值拿出来变成单独的变量。
一个*:操作的是序列

例子1:一个星号可以解包序列,这样一个序列解包为若干个 items,通过这一点我们可以在传参给函数时传入一个带星号的列表来达到传入多个参数的目的。

例子2:当我们想要合并两个序列时,也可以使用*来完成。

两个*:操作的是字典

例子1:字典解包后作为多个关键字参数传参

需要用**解包字典再传入参数给函数,因为函数形参需要三个参数,而不解包的话传入的只有一个参数。

例子2:多个字典的合并


三.广播

参考:跟着菜鸟学NumPy第6课:NumPy数组的广播机制_哔哩哔哩_bilibili

a,b的形状都是1*4的numpy数组。


a是四行三列的数组,b是一行三列的一维数组。b的维度小,运算过程中,b在零轴上作了广播。


相关推荐
2601_962298272 小时前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
天衍四九-2 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网2 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298672 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存
枫彩3 小时前
A股数据源怎么选?用 Python 验收 AI 复盘的日期与明细
python·ai agent·股票数据·mcp
2601_962382433 小时前
Python 代码不可不知的函数式编程技术
python·函数式编程·高阶函数·嵌套函数·头等函数
2601_962078033 小时前
Python办公自动化与数据分析实战 培训班2021年
python·数据分析·办公自动化·自动化办公·实战演练
用户938515635074 小时前
Text2SQL 实战:用 DeepSeek 大模型实现自然语言查询 SQLite 数据库
python·sqlite
2601_962099684 小时前
Python环境下中文分词实现与应用探索
python·自然语言处理·中文分词·jieba·开源社区
2601_966949654 小时前
批量获取多只股票五档盘口的极简方案:QuantDash Python SDK 实战指南
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash