Python中的*和**

最近在做一个web项目的过程中,需要查看一些Python开发文档,会发现自己学的Python基础知识有些生疏了,这里讲解一些*和**的作用,以便再次巩固复习,同时也将这个小知识分享给更多的Python爱好者。

Python中的*与**操作符使用最多的就是两种用法
1.用做运算符,即*表示乘号,**表示次方。
2.用于指定函数传入参数的类型的。*用于参数前面,表示传入的多个参数将按照元组的形式存储,是一个元组;
**用于参数前则表示传入的(多个)参数将按照字典的形式存储,是一个字典。

*args必须要在**kwargs,否则将会提示语法错误"SyntaxError: non-keyword arg after keyword arg."


下面将展示示例代码:

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]
'''

<span> </span> <p> <span style="font-size:16px;"> </span> </p> <p style="font-family:"color:#3D3D3D;font-size:16px;background-color:#FFFFFF;"> 您观看课程学习后<br /> 免费入群领取【超全Python资料包+17本学习电子书】 </p> <p style="font-family:"color:#3D3D3D;font-size:16px;background-color:#FFFFFF;"> <img src="https://img-bss.csdn.net/201909261006551340.jpg" alt="" /> </p>        <p> <br /> </p> <p> <span style="font-size:16px;"> </span><span style="font-size:16px;">当你需要一门语法简单功能强悍的编程语言时,Python一定是开发者的首选,经过Google多年以来不断的完善,使得Python成为了今天世界上最流行的编程语言之一,同时由于各个开源技术爱好者的不断贡献,使得Python拥有了完善生态体系,本课程将为读者揭开Python程序开发的神秘面纱。</span> </p> <p> <br /> </p> <p> <span></span><span style="font-size:16px;">       在本课程之详尽的为读者分析了Python中的各个语法组成结构,通过大量的案例对Python语言使用特点的进行全面讲解,同时采用了大量的图形与直白的对话进行程序使用分析。</span><span style="font-size:16px;"></span> </p> <p> <br /> </p> <p> <span></span><span style="font-size:16px;">      本课程除了将Python语言的语法讲解透彻之外,还为读者讲解了PyPI分享、PyCharm开发工具、模块的创建与管理、并发编程、IO操作、网络编程、数据库编程、网络爬虫等内容。</span><span style="font-size:16px;"></span> </p> <p> <br /> </p> <p> <span style="font-size:16px;background-color:#E53333;color:#FFFFFF;">       课程开发工具与代码下载地址:</span><span style="font-size:16px;background-color:#E53333;color:#FFFFFF;">https://pan.baidu.com/s/1ag6uz_UiG_w6EOljWcxi8A</span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页