有沒有發現,星(*)真是乙個神奇的符號!想一想,沒有它,c語言還有啥好玩的?同樣,因為有它,python 才會如此的儀態萬方、風姿綽約、楚楚動人!python 函式支援預設引數和可變引數,一顆星表示不限數量的單值引數,兩顆星表示不限數量的鍵值對引數。
來看個例子
>>
>
defmulti_sum
(*args)
: s =
0for item in args:
s += item
return s
>>
> multi_sum(3,
4,5)
12
在這裡args變成了元組型別
我們試著輸出他的型別
def
multi_sum
(*args):.
.. s =0.
..for item in args:..
. s += item..
.print
(type
(args)).
..return s..
.>>
> multi_sum(1,
2,3,
4,5)
<
class
'tuple'
>
15
python 函式允許同時全部或部分使用固定引數、預設引數、單值(一顆星)可變引數、鍵值對(兩顆星)可變引數,使用時必須按照前述順序書寫。
>>
>
defdo_something
(name, age, gender=
'男',
*args,
**kwds)
:print
('姓名:%s,年齡:%d,性別:%s'
%(name, age, gender)
)print
(args)
print
(kwds)
>>
> do_something(
'xufive',50
,'男'
,175,75
, math=
99, english=90)
姓名:xufive,年齡:50,性別:男
(175,75
)
在這裡兩顆星(**)後面的引數變成了字典型別
此外 一顆星 和 兩顆星還可以用作列表、元組、字典的解包
>>
> a =(1
,2,3
)>>
>
print
(a)(1,
2,3)
>>
>
print
(*a)12
3>>
> b =[1
,2,3
]>>
>
print
(b)[1,
2,3]
>>
>
print
(*b)12
3>>
> c =
>>
>
print
(c)>>
>
print
(*c)
name age
>>
>
print
('name:, age:'
.format
(**c)
)name:xufive, age:
51
一顆星也可以向c一樣指向python位址代表的運算元
>>
> a =[1
,2,3
,4,5
]>>
>
>>
> a =
map(
(lambda x :x*x)
,a)>>
>>
print
(a)<
mapobject at 0x7fe51dd900d0
>
>>
>
print
(*a)14
91625
求職過程記錄(3) 黑夜中的一顆亮星
就在傳送網上招聘資訊後的第三天,有一家公司通知我去面試了.在網上主航道了該公司的資訊後,了解了公司的資訊,隨後作了關於該公司 整改的意見和建議,就準備去面試了.在面試過程中,以為又會象在學校的那樣的層層面試官,沒有想到,老闆看到我們的第一眼就是把我們介紹給你他們的技術主管了.技術主管給我的乙個題目就...
利用Python如何畫一顆心 小人發射愛心
原始碼 usr bin env python coding utf 8 import turtle import time 畫心形圓弧 def hart arc for i in range 200 turtle.right 1 turtle.forward 2 def move pen posit...
用Python畫一顆心 小人發射愛心(附原始碼)
本文出自 python為什麼 系列,歸檔在 github 上 毫無疑問,python 是一門強型別語言。強型別語言。強型別語言!關於強弱型別話題,推薦閱讀這篇 技術科普文 這就意味著,不同型別的物件通常需要先做顯式地型別轉化,然後才能進行某些操作。下面以字串和數字為例,看看強行操作會產生什麼結果 p...