Python知识点:for .. else

news/2024/7/21 7:02:27 标签: python, 图像处理, 职场和发展

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资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪


http://www.niftyadmin.cn/n/1323684.html

相关文章

微信竟可以查出行轨迹了,预计又一波情侣要分手?

最近,抖音有一类视频突然爆红,并随之传播到其他各大社交平台上,颇有刷屏之势。 视频的内容,是用户个人的出行轨迹动态记录。 突然看到自己这些年走过的路线地图,还是十分壮观的。 视频走红后,不少网友也争…

一个技术总监的忠告:精通那么多技术为何还是做不好一个项目?

https://blog.csdn.net/b644ROfP20z37485O35M/article/details/104322608 编写高质量可维护的代码既是程序员的基本修养,也是能决定项目成败的关键因素,本文试图总结出问题项目普遍存在的共性问题并给出相应的解决方案。 1. 程序员的宿命? …

三月接Python私活,超爽

二月已近尾声,即将进入Python兼职接单的高潮期,行业里对爬虫类和数分类服务的需求量,可能会在短时间内暴增。估计圈子里的朋友都不会闲着,趁着旺季接单赚一笔。 最近,咨询技术变现、兼职接单问题的朋友也越来越多。 最…

@Value(“#{}“) 与 @Value(“${}“) 的区别

Value("#{}") Value("#{}")表示SpEl表达式,通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量 RestController RequestMapping("/login") Component public class LoginController { Value(…

《python自动化办公》和《数据透视表大全》电子文档,限时下载

内容简介 《Python最强基础学习文档》和《数据透视表大全》是一个专门为数据分析爱好者准备的高质量学习文档,我的朋友黄同学 原创写的。这两个文档尤其深受广大数据分析爱好者的喜欢, 文档历史下载次数,高达几千次。 《Python最强基础学习文…

分布式锁使用不当引发生产事故

来源:http://suo.im/5CTeWB 前言 基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。 背景 我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅…

用Python做一个游戏辅助脚本,完整编程思路分享

一、说明 简述:本文将以4399小游戏《 宠物连连看经典版2 》作为测试案例,通过识别小图标,模拟鼠标点击,快速完成配对。对于有兴趣学习游戏脚本的同学有一定的帮助。 运行环境:Win10/Python3.5。 主要模块&#xff1…

Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster)优缺点分析

转载自:https://blog.csdn.net/lipei1220/article/details/111823684 Redis 的几种常见使用方式包括: 单机模式主从模式哨兵模式(sentinel)集群模式(cluster)第三方模式 单机模式 Redis 单副本,采用单个 Redis 节点部署架构,没有…