可變參數(shù)的設(shè)置:args
#!/usr/bin/env python3
... #-*-coding:utf-8-*-
...
>>> def hello(greeting,*args):
...? ? if (len(args)==0):
...? ? ? ? print('%s!' % greeting)
...? ? else:
...? ? ? ? print('%s, %s!' % (greeting, ','.join(args)))
...
>>> hello('Hi')# =>greeting='Hi',args=()
Hi!
>>> hello('Hi','Sarah')# =>greeting='Hi',args=('Sarah')
Hi, Sarah!
>>> hello('Hello','Michael','Bob','Adam')#=>greeting='Hello',args=('Michael','Bob','Adam')
Hello, Michael,Bob,Adam!
>>>
>>> names = ('Bart','Lisa')
>>> hello('Hello',*names) #=>greeting='Hello',args=('Bart','Lisa')
Hello, Bart,Lisa!
關(guān)鍵字參數(shù)? **kw
第一種:
#!usr/bin/env python3
... #-*-coding:utf-8-*-
...
>>> def print_scores(**kw):
...? ? print('Name score')
...? ? print('.........')
...? ? for name, score in kw.items():
...? ? ? ? print('%10s %d' % (name,score))
...? ? print()
...
>>> print_scores(Adam=99, Lisa=88, Bart=77)
Name score
.........
? ? ? Adam 99
? ? ? Lisa 88
? ? ? Bart 77
第二種:
data = {
...? ? 'Adam Lee':99,
...? ? 'Lisa S' : 88,
...? ? 'F.Bart' : 77
... }
print_scores(**data)
Name score
.........
? Adam Lee 99
? ? Lisa S 88
? ? F.Bart 77
第三種:
def print_info(name,*,gender,city='Beijing',age):
...? ? print('personal Info')
...? ? print('........')
...? ? print('Name: %s' % name)
...? ? print('Gender: %s' % gender)
...? ? print('City: %s' % city)
...? ? print('Age: %s' % age)
...? ? print()
...
>>> print_info('Bob',gender='male',age=20)
personal Info
........
Name: Bob
Gender: male
City: Beijing
Age: 20
>>> print_info('Lisa',gender='female',city='Shanghai',age=18)
personal Info
........
Name: Lisa
Gender: female
City: Shanghai
Age: 18