Internet & Web Application

ประกาศ Argument แบบ Dictionary ใน Python

def f ( * args, ** kw ):
# args is a tuple of positional args,
# kw is a dictionary of keyword args

คืออะไรหรือ …
ไม่อยากประกาศตัวแปร ซ้ำยาววววๆๆ ใช่ไหม หากต้องเรียก Function ซ้อนๆกัน

ขอบคุณตัวอย่างจาก http://debianclub.org/book/export/html/166

def cheeseshop(kind, *arguments, **keywords):
    print "-- Do you have any", kind, '?'
    print "-- I'm sorry, we're all out of", kind
    for arg in arguments: print arg
    print '-'*40
    keys = keywords.keys()
    keys.sort()
    for kw in keys: print kw, ':', keywords[kw]
cheeseshop('Limburger', "It's very runny, sir.",
           "It's really very, VERY runny, sir.",
           client='John Cleese',
           shopkeeper='Michael Palin',
           sketch='Cheese Shop Sketch')

…ผลที่ได้…

-- Do you have any Limburger ?
-- I'm sorry, we're all out of Limburger
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
client : John Cleese
shopkeeper : Michael Palin
sketch : Cheese Shop Sketch

สามารถดูเพิ่มเติมได้จาก

http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

http://pythonfilter.com/blog/what-do-args-kw-kwargs-mean.html

Del.icio.us : ,
Technorati : ,

Advertisements
มาตรฐาน

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s