Python中的*args和**kwarg

args 是 arguments 的缩写,表示位置参数kwargs 是 keyword arguments 的缩写,表示关键字参数

将*args理解为变元的缩写,而**kwargs理解为关键字变元的缩写。各参数用于解压其各自的变元类型,允许使用可变字长变元列表进行函数调用。

在*args中,唯一的星号是真正的参与者,创建了列表,其内容则是来自函数调用的位置参数(在这些定义变元后);

在**kwargs中,双星号创建了字典,其内容是关键字参数,来自函数调用(在这些定义变元后)。

 

code from custom-classification 

# data.py
def read_sheets(data_dir, pattern=None, **kwargs):
    if pattern is None:
        paths = [data_dir]
    else:
        paths = sorted(Path(data_dir).expanduser().resolve().glob(pattern))# glob()添加扩展名
    sheets = []
    with mp.Pool() as p: # mutiprocess进程池Pool()
        results = [p.apply_async(read_sheet, args=(path,), kwds=kwargs) for path in paths]
        sheets = [r.get() for r in results]
    sheets = concat(sheets, **kwargs)
    return sheets
# port_general_trade.py
reader_kwargs = dict(
    usecols=input_cols,
    drop_duplicates_subset=True,
    dtype=object, quoting=2, na_filter=False, nrows=None)

# config.py
import experiments.port_general_trade as exp

# train.py
def create_dataset():
...
sh = data.read_sheets(data_dir, exp.file_name, **exp.reader_kwargs)

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值