練習 高階函式

2022-05-07 02:21:09 字數 1553 閱讀 9510

def add_after(fn):

def test(*args, **kwargs):

fn(*args, **kwargs)

print('after')

return test

def add_100(fn):

def test(*args, **kwargs):

fn(*args, **kwargs)

return fn + 100

return test()

def tag(fn):

def test(*args, **kwargs):

fn(*args, **kwargs)

sum1 = '' + fn(*args, **kwargs) + '

' return sum1

return test

@tag

def render(text):

# 執行其他操作

return text

@tag

def render2():

return 'abc'

print(render('hello')) # 列印出: hello

print(render2()) # 列印出: abc

def tag(name):

def tag1(fn):

def test(*args, **kwargs):

fn(*args, **kwargs)

sum1 = '<>'.format(name=name, fn1=fn(*args, **kwargs))

return sum1

return test

return tag1

@tag(name='p')

def render(text):

# 執行其他操作

return text

@tag(name='div')

def render2():

return 'abc'

print(render('hello')) # 列印出: hello

print(render2()) # 列印出: abc

flag為true,則 讓原函式執行後返回值加100,並返回。

flag為false,則 讓原函式執行後返回值減100,並返回。

def add_num(fn):

def test(flag, *args, **kwargs):

n = fn(*args, **kwargs)

if flag:

return n + 100

elif not flag:

return n - 100

return test

@add_num

def sum1(x, y):

return x + y

print(sum1(false, 10, 20))

Python練習 高階函式

當乙個函式的引數,傳的是另乙個函式的時候,這樣的函式就是高階函式 變數可以指向函式,如果乙個變數指向了乙個函式,那麼,可通過該變數來呼叫這個函式 ap 函式接收兩個引數,乙個是函式,乙個是iterable,map將傳入的函式依次作用到序列的每個元素,並把結果作為新的iterator返回。def f ...

Scala高階 函式練習

可以對整個集合進行操作,比如 建立乙個seq列表,然後用map對集合 2 val salaries seq 2,3,4,5 val newsalaries salaries.map 2 faltmap函式是map一種擴充套件,faltmap中傳入乙個函式,該函式對每個輸入都會返回乙個集合,然後,會把...

內建高階函式練習

332.31321 0 0 1 1 from functools import reduce def str2int s def char2int ch c print c return c ch def fun n1,n2 return n1 10 n2 return reduce fun,map...