python 中有很多地方用到星号,有时候会想知道这个*是干嘛用的,总结如下,有不当之处,还望不吝指出,谢谢.
1.乘法:
在很多时候是用作乘法的,例如:

In [90]: 2*7
Out[90]: 14 In [91]: a=10
In [92]: a*10
Out[92]: 100

当然还包括字符串,列表等等的乘,姑且都当做乘法吧.例如:

In [93]: "a"*10
Out[93]: 'aaaaaaaaaa' In [94]: ['']*10
Out[94]: ['', '', '', '', '', '', '', '', '', '']

2.乘方:

In [98]: 2**3
Out[98]: 8

3.切片当中的使用(解压可迭代对象赋值给多个变量):

In [108]: a =[0,1,2,3,4,5,6,7,8,9]

In [109]: start,*midle,end=a

In [110]: start
Out[110]: 0 In [111]: end
Out[111]: 9 In [112]: midle
Out[112]: [1, 2, 3, 4, 5, 6, 7, 8]

4.对于可迭代对象的用法(不晓得怎么描述,姑且这样叫):

In [117]: a=[1, 2, 3, 4, 5, 6, 7, 8]

In [118]: print(a)
[1, 2, 3, 4, 5, 6, 7, 8] In [119]: print(*a)
1 2 3 4 5 6 7 8 In [120]: print(*range(10))
0 1 2 3 4 5 6 7 8 9 -------------------------2017年10月22日16:04:30更新----------------------------------------------
def foo(*args):
for v in args:
print(v) a = ['h', 'e', 'l', 'l', 'o']
foo('h', 'e', 'l', 'l', 'o')
foo(*a) def f(**kwargs):
# print(kwargs)
for k, v in kwargs.items():
print("{}>>>>{}".format(k, v)) f(name="tom", age=20)
f(**{'age': 20, 'name': 'tom'}) def func(*args, **kwargs):
for v in args:
print(v)
for k, v in kwargs.items():
print("{}>>>>{}".format(k, v)) a = ['h', 'e', 'l', 'l', 'o']
func(*a, **{'age': 20, 'name': 'tom'})
------------------------------------------------------------------------------------------------------

5.形式参数

def func(*args,**kwargs):
print(args)
print(kwargs) func(1, 2, 3, 4, 5, name="", age="") # (1, 2, 3, 4, 5)
# {'age': '10', 'name': '123'}

python中*号用法总结的更多相关文章

  1. python中*号和**号的用法

    1.乘法符号 2.可变长参数 当我们使用函数时,需要传入不定个数的位置参数时,就可以使用*号表示,即*args,以元组形式传入:需要传入不定个数的关键字参数时,使用**表示,即**kwargs,以字典 ...

  2. python中xrange用法分析

    本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xra ...

  3. python 中@ 的用法【转】

    这只是我的个人理解: 在Python的函数中偶尔会看到函数定义的上一行有@functionName的修饰,当解释器读到@的这样的修饰符之后,会先解析@后的内容,直接就把@下一行的函数或者类作为@后边的 ...

  4. Python中flatten用法

    Python中flatten用法 原创 2014年04月16日 10:20:02 标签: Python / flatten 22667 一.用在数组 >>> a = [[1,3],[ ...

  5. 列表[‘hello’ , ‘python’ ,’!’ ] 用多种方法拼接,并输出’hello python !’ 以及join()在python中的用法简介

    列表[‘hello’ , ‘python’ ,’!’ ] 用多种方法拼接,并输出’hello python !’ 使用字符串链接的四种方法都可以创建 字符串拼接一共有四种方法,也可以应用到列表的拼接中 ...

  6. python中“end=”用法

    python中“end=”用法:例如print(“#”,end=" \n"),默认换行,print(“#”,end=" ")则在循环中不换行

  7. python中pkl用法

    原文连接:https://www.jianshu.com/p/2ecadebe6d13 python中pkl用法 经常遇到在Python程序运行得到了一些字符串.列表.字典等数据,想要长久的保存下来, ...

  8. Python中print用法里面% ,"%s 和 % d" 代表的意思

    Python 编程 里面% . "%s 和 % d" 代表的意思 %s,表示格化式一个对象为字符 %d,整数 "Hello, %s"%"zhang3& ...

  9. 详解python中@的用法

    python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,‘@function'作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义). 代码1 ...

随机推荐

  1. hdu 3572 Task Schedule【 最大流 】

    求出最大流,再判断是否满流 先不理解为什么要这样建图 后来看了这一篇题解 http://blog.csdn.net/u012350533/article/details/12361003 把0看做源点 ...

  2. Pyhton学习——Day22

    #有缩进的代码表示局部作用域的代码#if_name_ =='_main_' # while True#先引入一个os模块import os,sys,time,json# print(os.path.d ...

  3. vertical-align到底是个啥

    https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align http://phrogz.net/css/vertical-align ...

  4. 字体样式(.ttf/.woff)文件的配置引入

    在引入前端框架部分功能时,有时需要配置字体样式.可以这样配置:在 .ttf的同级目录下,创建icon.css文件,写入: @font-face {font-family: "element- ...

  5. Extjs win

    //创建window var win = Ext.create("Ext.window.Window", { id: "myWin", title: " ...

  6. BZOJ 1176/2683 Mokia (三维偏序CDQ+树状数组)

    题目大意: 洛谷传送门 三维偏序裸题.. 每次操作都看成一个三元组$<x,y,t>$,表示$x,y$坐标和操作时间$t $ 询问操作拆成$4$个容斥 接下来就是$CDQ$了,外层按t排序, ...

  7. 在join中,on和where的区别

    两个表在,join时,首先做一个笛卡尔积,on后面的条件是对这个笛卡尔积做一个过滤形成一张临时表,如果没有where就直接返回结果,如果有where就对上一步的临时表再进行过滤. 在使用left  j ...

  8. poi API大全

    一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是 ...

  9. [Python]threading local 线程局部变量小測试

    概念 有个概念叫做线程局部变量.一般我们对多线程中的全局变量都会加锁处理,这样的变量是共享变量,每一个线程都能够读写变量,为了保持同步我们会做枷锁处理.可是有些变量初始化以后.我们仅仅想让他们在每一个 ...

  10. OS - 线程和进程的差别

    进程是资源分配的基本单位,又是调度执行的基本单位.比如.用户执行自己的程序,系统就创建一个进程.并为它分配资源,包含各种表.内存空间.磁盘空间.I/O设备等. 然后.把该进程放入进程的就绪队列.进程调 ...