当前位置: 首页 > news >正文

东莞做网页的公司/seo怎么优化简述

东莞做网页的公司,seo怎么优化简述,东莞seo报价,网站建设验收合格确认书Python函数式编程学习笔记Python函数式编程基础理解函数名也是一个变量理解Python中的变量都具有指向意义函数式编程就是一个高阶函数的输入参数是几个参数和几个函数名称,而输出也可能是一个函数名称的编程模式。>>> def add(x, y, f):return f(x) f(y)&…

Python函数式编程学习笔记

Python函数式编程基础

理解函数名也是一个变量

理解Python中的变量都具有指向意义

函数式编程就是一个高阶函数的输入参数是几个参数和几个函数名称,而输出也可能是一个函数名称的编程模式。

>>> def add(x, y, f):

return f(x) + f(y)

>>> f = abs

>>> add(-5, 6, abs)

11

map函数:

输入:函数名,list

输出:list

功能:将输入list中的每一个元素传入函数中,将所有结果放入list中输出

>>> def f(x):

... return x * x

...

>>> map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

[1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])

['1', '2', '3', '4', '5', '6', '7', '8', '9']

reduce函数:

输入:双输入函数名,list

输出:一个值

功能:按顺序两个两个将list中的元素输入到函数中得到一个值,最终将list合并为一个值

关于reduce的直观解释如下

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

如果按位处理一个整数的话

>>> def fn(x, y):

... return x * 10 + y

...

>>> reduce(fn, [1, 3, 5, 7, 9])

13579

字符串转整型数就是这样

>>> def fn(x, y):

... return x * 10 + y

...

>>> def char2num(s):

... return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

...

>>> reduce(fn, map(char2num, '13579'))

13579

还可以包装起来

def str2int(s):

def fn(x, y):

return x * 10 + y

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

return reduce(fn, map(char2num, s))

不是特别复杂的函数可以用lambda代替

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

def str2int(s):

return reduce(lambda x,y: x*10+y, map(char2num, s))

filter函数

输入:bool函数,list

输出:list

功能:根据传入的bool函数过滤list中的元素,true的留下,false的去掉

def is_odd(n):

return n % 2 == 1

filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])

sorted函数

输入:list,函数名

输出:list

功能:根据函数名定义的顺序,对list进行排序

Python内部的顺序定义

x < y 返回 -1

x = y 返回 0

x > y 返回 1

def cmp_ignore_case(s1, s2):

u1 = s1.upper()

u2 = s2.upper()

if u1 < u2:

return -1

if u1 > u2:

return 1

return 0

>>> sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)

['about', 'bob', 'Credit', 'Zoo']

装饰器

用一个代码例子来解释可能更容易

>>> def now():

... print '2013-12-25'

...

>>> f = now

>>> f()

2013-12-25

def log(func):

def wrapper(*args, **kw):

print 'call %s():' % func.__name__

return func(*args, **kw)

return wrapper

@log

def now():

print '2013-12-25'

>>> now()

call now():

2013-12-25

@log放在now函数定义前面相当于执行了

now = log(now)

偏函数

引入模块:functools

形式: int2 = functools.partial(int, base=2)

功能:定义一个新函数,新函数可以修改原函数的部分默认值

关于functools.partial

输入:func,*args,**kws

默认值其实是作为kws 输入的:即{base:2}

如果传入args 会将其作为func 函数的默认左输入

总结

对list进行合并用reduce

对list进行映射用map

对list进行过滤用filter

对list进行排序用sorted

简单函数的定义用lambda

修改已有函数用装饰器

修改已有函数的默认值用偏函数

后记

关于函数式编程,说到底,是为了让代码变的简洁强大,使用Python语言,其实没有必要在函数式编程上走的很远,只要用好了本文中的这些函数和技术,就可以让Python变得异常强大和精致。

http://www.jmfq.cn/news/4800817.html

相关文章:

  • 做海淘网站赚钱吗/外贸网络推广怎么做
  • 教做粥的网站/市场营销互联网营销
  • 织梦做的网站织梦修改网页/外贸网站平台都有哪些
  • 软件下载网站模版/信息流优化师需要具备哪些能力
  • 新疆建设兵团12333网站/万网官网入口
  • 网站制作公司资质/编程培训机构加盟哪家好
  • 做网站都要掌握什么软件/在线视频观看免费视频22
  • 怎么做刷东西网站/广东seo网站推广代运营
  • 网站开发基础/站长之家工具查询
  • 公司网站怎么做才能吸引人/百度推广怎么看关键词排名
  • 网站建设与开发的论文/外链代发平台
  • 深圳横岗网站建设/企业网络营销方法
  • 佛山新网站建设服务/seo个人优化方案案例
  • wordpress 音乐列表/网站关键词优化公司
  • 做网站公司融资多少/网站首页模板
  • 做网站西宁/郑州网络推广团队
  • 大数据精准营销如何做/汕头seo推广外包
  • 网站设计前景怎样/无锡网站优化
  • 湘潭网站建设工作室/百度seo排名点击
  • 邯郸专业做网站多少钱/品牌运营公司
  • 网站建设目的与意义/学电商哪个培训学校好
  • 买了个域名怎么做网站/外链吧官网
  • 做网站设计图用什么软件/北京优化seo排名
  • 做网站维护有前途吗/体验营销策略
  • 十堰秦楚网/seo怎么做优化排名
  • wordpress软件下载站/成功营销案例分享
  • 建网站价格 优帮云/直播营销
  • 北京网站建设的价格低/明年2024年有疫情吗
  • 温州做网站建设公司/网络营销企业有哪些
  • seo整站优化托管/自媒体论坛交流推荐