使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数不要忘了写分隔符*,否则定义的将是位置参数。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数不要忘了写分隔符*,否则定义的将是位置参数。
2018-07-03
默认参数一定要用不可变对象
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
2018-07-03
import string
def format_name(s):
return string.capwords(s)
print map(format_name, ['adam', 'LISA', 'barT'])
def format_name(s):
return string.capwords(s)
print map(format_name, ['adam', 'LISA', 'barT'])
2018-06-26
def count():
fs = []
for i in range(1, 4):
def f(j):
return j * j
fs.append(f(i))
return fs
print [x for x in count()]
fs = []
for i in range(1, 4):
def f(j):
return j * j
fs.append(f(i))
return fs
print [x for x in count()]
2018-06-25
# python3
def clac_prod(n):
def z():
s = 1
for i in n:
s *=i
return s
return z
f = clac_prod([1,2,3])
print(f())
def clac_prod(n):
def z():
s = 1
for i in n:
s *=i
return s
return z
f = clac_prod([1,2,3])
print(f())
2018-06-24
def cmp_ignore_case(s1, s2):
if s1[0].lower() > s2[0].lower():
return 1
if s1[0].lower() < s2[0].lower():
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
if s1[0].lower() > s2[0].lower():
return 1
if s1[0].lower() < s2[0].lower():
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2018-06-21
l = filter(lambda s: s and len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])
print(list(l))
print(list(l))
2018-06-17
过关最短代码
print['about','bob','Credit','Zoo']
print['about','bob','Credit','Zoo']
2018-06-16
map()就像画地图,根据地形按照比例画到图上。每一个地形就对应一个图形。reduce()像贪吃蛇,有初始长度,挨着吃过去。吃到最后就剩一个值了。
2018-06-16
def format_name(s):
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[0].upper()+s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2018-06-14
def f(lst):
def k():
def g(i):
return i*i
return map(g,lst)
return k
m = f([1,2,3])
print(list(m()))
def k():
def g(i):
return i*i
return map(g,lst)
return k
m = f([1,2,3])
print(list(m()))
2018-06-13