python中*號用法總結


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]: ['1']*10
Out[94]: ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1']

 



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="123", age="10") # (1, 2, 3, 4, 5)
# {'age': '10', 'name': '123'}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM