2021
08-20
08-20
策略模式:告别if else
目录策略模式引入策略模式源码分析策略模式的典型应用总结阅读完本篇文章你将了解到什么是策略模式,策略模式的优缺点,以及策略模式在源码中的应用。策略模式引入在软件开发中,我们常常会遇到这样的情况,实现某一个功能有多条途径,每一条途径对应一种算法,此时我们可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。譬如商场购物场景中,有些商品按原价卖,商场可能为了促销而推出优惠活动,有些...
继续阅读 >
如下:links.extend(linkforlinkinget_links(html)ifre.match(link_regex,link))#上面的语句分开写,如下#但下面需要使用links.append,如果依然使用links.extend会出现错误的结果forlinkinget_links(html):ifre.match(link_regex,link):links.append(link)让我们用ipython做个实验:由上图可以看出,forinif连击推导式隐式的将link由str转变为了list,而分开写是不会帮我们转换的,所以需要使用append把整个s...
今天下午在练习python时用了“if...if...else...”的分支结构,结果运行出来吓我一跳。原来我想当然的认为“if...if...else...”是“if...elif...else...”的简化结构(这个错误的看法好像还是从学C语言继承过来的)。学了这么多天才发现其中的区别啊。下面先说说python,然后再说一下C语言里面的if语句。 “python中通过if、elif、else等保留字提供单分支、二分支和多分支结构。”1.单分支结构(if语句)if<条件>:<语句块...
今天遇到一个非常基础的问题,结果搞了好久好久.....赶快写一篇博客记录一下:本来两个不一样的字符串,在if的条件判断中被判定为True,下面是错误的代码:test_str='happy'iftest_str=='good'or'happy':#这样if判断永远是True,写法错误print('aa')else:print('bbbb')这是正确的代码:test_str='happy'iftest_str=='good'ortest_str=='happy':print('aa')else:print('bbbb')补充知识:python基础(if判断条件...