神经网络学习小记录18——python中*号和**号的用法

神经网络学习小记录18——python中*和**的用法

学习前言

研究keras-yolo3的代码,里面实在是太多的*和**了,python学的不够多,网上去查资料,看看这是个什么玩意儿。
在这里插入图片描述

实际用法

1、乘法

这应该都知道。

print(3*4)
# 此时会打印出12。

2、给函数传入可变长参数

*号的作用是在该位置接受任意多个非关键字(non-keyword)参数,在函数中将其转化为元组(a,b,c,d)。

**号的作用是在该位置接受任意多个关键字(keyword)参数,在函数中转化为词典{key:value, key:value}。
例子如下:

def fx(*args,**kwargs):
    print(args)
    print(kwargs)
fx(1, 2, 3, a = 1, b = 2, c = 3)

其中:
非关键字参数就是没有指定什么等于什么,直接输入参数的,如例子中的1、2、3;关键字参数就是指定什么等于什么,如例子中的a = 1、b = 2、c = 3。
输出为:

(1, 2, 3)
{'a': 1, 'b': 2, 'c': 3}

3、参数解包

进入第一维解包。

import numpy as np 
x = np.arange(12)
print(*x)
xy = np.arange(12).reshape(3,4)
print(*xy)
xyz = np.arange(24).reshape(2,3,4)
print(*xyz)

输出结果为:

0 1 2 3 4 5 6 7 8 9 10 11
[0 1 2 3] [4 5 6 7] [ 8  9 10 11]
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]] 
[[12 13 14 15]
 [16 17 18 19]
 [20 21 22 23]]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bubbliiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值