我是靠谱客的博主 着急溪流,最近开发中收集的这篇文章主要介绍2020-11-28,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Python笔记【*与**的作用】

最近在学习python的过程中遇到一些问题,因此将其记录下来
python中*;**的常用用法
1)、用作运算符,其中*表示乘号,**表示次方
2)、用于指定函数传入参数的类型的。*用于参数前面,表示传入的多个参数将按照元组的形式存储,是一个元组;
**用于参数前则表示传入的(多个)参数将按照字典的形式存储,是一个字典。

def func(*args):
  print(type(args))
  for index, item in enumerate(args):
    '''
    enumerate()是python的内置函数
    对于一个可迭代的(iterable)/可遍历的对象(list, str,tuple),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
    >>> list1 = ['life', 'is', 'too', 'short', 'you', 'need', 'python.']
    >>> for index, item in enumerate(list1):
    ...     print(index, item)
    ...
    0 life
    1 is
    2 too
    3 short
    4 you
    5 need
    6 python.
    '''
    print("{}:{}".format(index, item))
 
def function(**kwarg):
  print(type(kwarg))
  for key, value in kwarg.items():
    print("{}:{}".format(key, value))
 
 
def main():
  func("python", "golang")
  function(a = "python", b = "golang")
 
if __name__ == '__main__':
  main()
 
'''
结果: 
<class 'tuple'>
0:python
1:golang
<class 'dict'>
a:python
b:golang
[Finished in 0.5s]
'''

3)表示乘号的一种用法


self.blocks_conv = nn.Sequential(
                *[Resblock(out_channels//2) for _ in range(num_blocks)],
                BasicConv(out_channels//2, out_channels//2, 1)

推测此处表示的是num_blocks个Resblock和BasicConv的堆叠

关于元组类型和字典类型的区别请查阅相关书籍

最后

以上就是着急溪流为你收集整理的2020-11-28的全部内容,希望文章能够帮你解决2020-11-28所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部