python裝B系列 一顆星 和兩顆星

2021-10-02 13:54:06 字數 2137 閱讀 8377

有沒有發現,星(*)真是乙個神奇的符號!想一想,沒有它,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...