Python星号*与**用法分析

yipeiwu_com6年前Python基础

本文实例分析了Python星号*与**用法。分享给大家供大家参考,具体如下:

1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错。

如:

def multiple(arg, *args):
  print "arg: ", arg
  #打印不定长参数
  for value in args:
    print "other args:", value
if __name__ == '__main__':
  multiple(1,'a',True)

输出:

2. 加了星号(**)的变量名会存放所有未命名的变量参数

def multiple2(**args):
  #打印不定长参数
  for key in args:
    print key + ":" + bytes(args[key])
if __name__ == '__main__':
  multiple2(name='Amy', age=12, single=True)

输出

3. 有 *args 和 **dictargs:

def multiple(arg, *args, **dictargs):
  print "arg: ", arg
  #打印args
  for value in args:
    print "other args:", value
  #打印dict类型的不定长参数 args
  for key in dictargs:
    print "dictargs:" + key + ":" + bytes(dictargs[key])
if __name__ == '__main__':
  multiple(1,'a',True, name='Amy',age=12, )

输出:

另外,在Python数学运算中*代表乘法,**为指数运算,示例代码如下:

>>> 2*4
8
>>> 2**4
16
>>> 

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python面向对象实现名片管理系统文件版

python面向对象实现名片管理系统文件版

本文实例为大家分享了python实现名片管理系统源代码,供大家参考,具体内容如下 import os def print_menu(): print("*"*50) print(...

解决Python中由于logging模块误用导致的内存泄露

首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是...

如何在django里上传csv文件并进行入库处理的方法

如何在django里上传csv文件并进行入库处理的方法

运维平台导入数据这一功能实在是太重要了,我敢说在没有建自己的cmdb平台前,大多数公司管理服务器信息肯定是表格,用表格最麻烦的就是有点更新就得每个人发一份,这样大家信息才能统一,很不方便...

python基础教程之面向对象的一些概念

Python使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程。 面向对象的最主要目的是提高程序的重复使...

Python字典实现简单的三级菜单(实例讲解)

如下所示: data = { "北京":{ "昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]}, "朝阳":{"望京":...