首页 > IT职业 > IT生活 > Python基础教程(6)--抽象
hasattr(func,__call__):判断函数是否可调用def fibs(num):
result = [0, 1]
for i in range(num -2):
result.append(result[-2] + result[-1])
return result >>>square.__doc__ 函数内参数重新绑定,不会影响函数外部的变量,因为参数存储在局部作用域
传入列表
change(name[:])
change(names)
def lookup(data, label, name):
return data[label].get(name)
def store(data, full_name):
names = full_name.split()
if len(names) == 2: names.insert(1,'')
lables = 'first', 'middle', 'last'
for label, name in zip(labels, names)
people = lookup(data, label, name)
if people:
people.append(full_name)
else:
data[label][name] = [full_name]
###关键字参数和默认值
###收集参数
- *params
```python
def print_param(title,*params):
print(title)
print(params)
def print_params(title,*params, **keys):
print(title)
print(params)
print(keys)
print_params("hello",2,3,4, foo1='23',foo2='34'):
- 实现多个名字存储
```python
def store(data, *full_names):
for full_name in full_names:
names = full_name.split()
if len(names) == 2: names.insert(1,'')
lables = 'first', 'middle', 'last'
for label, name in zip(labels, names)
people = lookup(data, label, name)
if people:
people.append(full_name)
else:
data[label][name] = [full_name] params = {'name': 'Sir Robin', 'greeting': 'wellmet'}
hello(**params) def story(**kwds):
return 'Once upon a time, there was a '
'%(job)s called %(name)s.' % kwds
def power(x, y, *others):
if others:
print 'Received redundant parameters:', others
return pow(x, y)
def interval(start, stop=None, step=1):
'Imitates range() for step > 0'
if stop is None: # If the stop is not supplied...
start, stop = 0, start # shuffle the parameters
result = []
i = start # We start counting at the start index
while i 0)
return result
作用域 globals().['parameter']
vars
locals
nonlocal
def search(sequence, number, lower, upper=None):
if upper is None: upper = len(sequence)-1
if lower == upper:
assert number == sequence[upper]
return upper
else:
middle = (lower + upper) // 2
if number > sequence[middle]:
return search(sequence, number, middle+1, upper)
else:
return search(sequence, number, lower, middle)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3914/viewspace-2798014/ ,如需转载,请注明出处,否则将追究法律责任。