for … else
有个粉丝真大胆,微信上跟我说Python解释器有错,你看看:
他勇于怀疑Python有错,所以我说他大胆。不过也要感谢他引出了今天的主题:原来for循环还有个else!
普通for循环
普通的for循环是这样的:
# 食堂提供了好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '青菜', '辣椒']
# 现在我来点菜
for f in foods:
# 叔就喜欢吃青菜
if f == '青菜':
print('我要点青菜')
break
问题来了,某一天食堂根本没有青菜:
# 食堂提供了好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '麻辣烫', '辣椒']
# 现在我来点菜
for f in foods:
# 叔就喜欢吃青菜
if f == '青菜':
print('我要点青菜')
break
如果没有我要的青菜,我们希望程序打印出:
今天我减肥!
如何实现这个功能呢?
聪明的你可以设置一个标记,最后根据标记来判断是否打印减肥这句话。你可以试试看。
但这不是最好的方法,最好的方法是用for…else语句。
for…else
没错,for循环也有else的用法。
大部分人不知道for…else。这位同学怀疑Python出错了,不奇怪。但因为你关注了这个系列,你就不再是大部分同学了。
用上for…else,就能完美的解决上面的问题:
# 好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '青菜', '辣椒']
for f in foods:
# 叔就喜欢吃青菜
if f == '青菜':
print('我要点青菜!')
break
else:
print('没我喜欢的,今天我减肥!')
- 如果for循环顺利执行完了,说明没有找到我要的食物,就执行else语句。
- 如果for循环被break了,说明找到了,就不执行else语句。
我最近喜欢青菜,你喜欢什么呢?
叔诗兴大发,今天补充一个笑话:
刚开学,全班自我介绍。
一个男生走上讲台说:
我叫尤勇,我爱下棋。
第二个女生走上讲台,羞哒哒地说:
我叫夏琪,我喜欢游泳。
职业发展
作为一个代码打工仔,对于绝大部分程序员来说,想要成为牛逼的真正挣钱程序员的路还很长,一刻都不能懈怠。
我们无法从HR角度,或者技术leader的角度来臆测哪种状态的面试更能获取面试官青睐。但通过我们积攒的大量的面试经验,大家多少可以推断一些成为有竞争力的程序员的一些必要条件。
大佬云集、资料丰富
当初我在字节认识一个非常非常资深的前辈,他到字节比我早三年,但因为各种原因级别不是很高。我当时问他,既然你对现状如此不满,为什么不想着离开寻找更好的机会呢?
他沉思了片刻跟我说,他说我现在在这里虽然待着不顺心,但是我接触到的人都是非常优秀的。我遇到问题,还可以和你们讨论讨论。我如果出去了,我要是再遇到问题,可能连一个讨论的人都没有。
我当时听听只是觉得有道理,现在再回想起来,感受非常深刻。三观、格局、能力,能够进入大公司的,这三个方面一般都不会太差。别的不说,就拿个人能力而言,我曾出国出差过几个月,有幸见识了许多各种海外名校的同事,和他们学习交流人工智能,这真的让我AI有了更深层次的认识。
除了优秀的同事之外,大公司里往往还有丰富的内部文档和资料。我当时在字节内部看到了很多优秀的文章,也有很多优秀的技术沙龙和分享。现在想起来两年下来,也没有去过几次,文章和资料看得也不算多,现在想想颇为遗憾。别的不说,就拿推荐领域而言,近些年质量不错的论文往往都来源于大公司尤其是国内的大公司,以腾讯、华为和头条为主。除了公开的论文,公司内部还有很多技术相关的资料和文档,这些真的可以说是有价无市,非常珍贵。
Python 知识手册
Linux 知识手册
爬虫查询手册
而且,这些资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习:
数据分析知识手册:
机器学习知识手册:
金融量化知识手册:
岗位内推、学习交流
我们大量需要前端岗位、python岗位、Java 岗位、Android 和 iOS 的开发岗位,工作地点:北京字节,欢迎校招社招扫描下方二维码找我内推
Python资料、技术、课程、解答、咨询也可以直接点击下面名片,
添加官方客服斯琪
↓