Day6: Anonymous and inner functions

"""

#Anonymous functions

def cal(x):
return x+1
res = cal(10)
print(res)

func = lambda x : x+1
print(func(10))

# fun = x:x+'_sb'

func = lambda x,y,z: x+y+z
printq(func(1,2,3))
func = lambda x,y,z: (x+1,y+1,z+1)
print(func(1,2,3))

#*******the fuctional theory********

1:face to process
2:face to fuction
3:face to object

# Higher-order function
#******1:transfer a function to another function as a parameter

def foo(n):
# print(n)
return n

def bar(name):
print('my name is %s'%name)
foo(bar('alex'))

#******2:return a function

def bar():
print('alex')
def foo():
print('zxver')
return bar
a = foo()
a()

# *************map finction*********

a = [65,88,2,5,6,34,12]
def map_test(func,array):
a1 = []
for i in array:
res = func(i)
a1.append(res)
return a1
print(map_test(lambda x:x+1,a))
res = map(lambda x:x+1,a)
print('the inner setting function is :',res)
print(list(res))

msg = 'I am zxver'
print(list(map(lambda x:x.upper(),msg)))

# ************filter****************

program_people = ['alex','sb_alex','zxver','sb_zxver']
ret = []
for p in program_people:
if not p.startswith('sb'):
ret.append(p)
print(ret)

#>>>>>>>>filter:

program_people = ['alex','sb_alex','zxver','sb_zxver']
def filter_test(array):
ret = []
for p in array:
if not p.startswith('sb'):
# not appropriate for other demand
ret.append(p)
return ret
print(filter_test(program_people))

#*******refined:>>>>>>>

program_people = ['alex','sb_alex','zxver','sb_zxver']
# def sb_show(n):
# n.endswith('sb')
# the best version:no the define above
def filter_test(func,array):
ret = []
for i in array:
if not func(i):
ret.append(i)
return ret
#print(filter_test(sb_show,program_people))
res = filter_test(lambda x:x.endswith('sb'),program_people)
print(res)

"""
# *********reduce function**********

# from functools import reduce
num_1 = [34,56,12]
def reduce_test(func,array,init=None):
if init is None:
ret = array.pop(0)
else:
ret = init
for i in array:
ret = func(ret,i)
return ret
print(reduce_test(lambda x,y:x*y,num_1,100))

# Inner functions

"""

print(abs(-1))
print(all(''))
# a blank is true
print(all(['a']))
print(all(['',0]))
print(any(['',1]))
name = 'hello'
print(bytes(name,encoding = 'utf-8'))
print(bytes(name,encoding = 'utf-8').decode ('utf_8'))
print(bytes(name,encoding = 'gbk'))
print(bytes(name,encoding = 'gbk').decode ('gbk'))
print(bytes(name,encoding = 'ascii'))
# can't be used for Chinese
print(chr(46))
print(dir(dict))
print(help(all))
print(divmod(10,3))
dic = {'name':'alex'}

# ********************eval

dic_str = str(dic)
print(dic_str)
print(eval(dic_str))
express = '1-(4*5-6)/2'
print(eval(express))

# ***********hash:can be used to judge if the content been changed

print(hash(name))
print('>>>before',hash(name))
name='zx'
print('>>>after',hash(name))
print(bin(10))
print(hex(12))
print(oct(6))
a = [1,4,6,9]
print(max(a))
print(min(a))

#*******zip:use for sequence:tuple,list and string

print(list(zip(('alex',3,[5,6]),(1,2,3))))
p = {'name':'alex','age':26,'gender':'man'}
print(list(zip(p.keys(),p.values())))

# ***** max(min): for iterable,like the for sentence:extract every character to compare and can't be used for different types;every chareacter compared with sequence ,if the fisrt character has been judged ,there's no need to compare the left characters

dic = {'alex':19,'zxver':26}
print(max(zip(dic.keys(),dic.values())))

people = [
{'name':'zxver','age':19},
{'name':'chen','age':26},
{'name':'keyu','age':18},
{'name':'linda','age':56},
]
print(max(people,key=lambda dic:dic['age']))
print(sorted(people,key=lambda dic:dic['age']))

print(chr(97))
print(ord('a'))
print(str({'name':'alex'}))
dic_str=str({'name':'alex'})
print(eval(dic_str))
print(pow(2,3))
print(pow(2,3,4)) 
# 2**4%4
a=[1,2,3,4]
print(sum(a))
print(list(reversed(a)))
print(round(3.4))
print(set('hello'))
l = 'hello'
a1=slice(2,3)
a2 = slice(1,5,2)
print(l[a2])
def test():
msg ='snhxhdnsjjs'
print(locals())
print(vars())
print(vars(int))
test()

"""
# import:can't use for string-->>sys-->>_import_():can be used for string

猜你喜欢

转载自www.cnblogs.com/zxver/p/12124262.html
今日推荐