中软python编码规范考试试题_卓越分享 | 如何写出一手漂亮的Python代码?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Python语言这么火,有很多同学是从其他语言转行过来的(比如c++,java语言),多多少少写代码的时候也会受其他语言的影响!而对于刚开始学编程的小白同学来说,解决问题的思路有的时候会比较单一,其实Python有很多灵活的解法,今天通过这7招,带你写出一手漂亮的code!

打印index

对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法:

更优雅的写法是多用enumerate

两个序列的循环

我们会经常对两个序列进行计算或者处理,比较low的方法是用下标去循环处理

更优雅一点的方法:用zip轻松搞定

有没有更优雅的方法呢,比如如果两个序列有10000的长度,当然有的用izip

当然izip还是Py2.x时代的产物,现在Py3.6里面默认zip都是izip了!

交换变量

多个变量之间的交换,相信很多有c,c++语言基础的同学对这个再熟悉不过了,比如我们经典的冒泡排序,就会用这一招,看看比较传统的做法:

更优雅的做法是:

字典的读取

字典是我们经常使用的数据结构,对于字典的访问和读取,如果我们的读取的字典的key为空怎么办,一般我们需要一个缺省值,菜鸟的写法:

比较优雅的做法是:

巧妙的利用了字典get的用法,如果字典里面没有Susan这个key,则用unknow来表示缺省值!

循环查找

我们经常会在一个大的循环中作搜索业务,比如从一个文件中搜索关键字,比如从文件名列表中查找一些特殊的文件名,想当然的写法如下:

更优雅的写法:上面的写法是传统的c,c++写法,Python里面有更简洁的写法:

文件读取查找

通常来说,我们要打开一个文件,然后对文件的内容进行循环读取和处理,菜鸟的写法如下:

更优雅的写法:

关于锁的写法

对于并发操作尤其是多线程的操作,我们对同一块内存进行读写操作的时候,通常我们都加锁保护的,想当然的写法如下:

上面这样的写法我自己写了很多年,觉得没有啥问题啊,后来遇到下面的写法,瞬间膜拜了!

更优雅的写法:

结论:

上面这7招看起来很普通,但是深刻的理解,发现其实就是Python一贯倡导的Pythonic风格的代码,简洁而优美!如果你要问我如何才能掌握上面的这些技巧和方法,我觉得先背下来吧,就像写唐诗,熟读唐诗三百首,不会做诗也会吟,也就是熟能生巧吧!

其实编程也能变得很优雅,利用一些小技巧让你的代码更加简洁,提高你的工作效率!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

间接寻址级别不同_被遗忘的利息税,国债与存款的利率区别,同大额存单的4点大不同...

2020年6月10日的储蓄式电子国债发行又一次与理财人擦肩而过,因为疫情管控原因,此次暂时不发行,那么下一个认购国债的窗口,就是7月10日,仍然是储蓄式电子国债,期限还是3年期和5年期两种。那么能如期发行吗&a…

java宠物健康值_宠物健康微手册:成年篇

在健康微手册幼年篇之后,成年篇也出炉了。这里所说的成年,也就是从1岁起,到大型犬的6岁左右,或者小型犬或猫猫的10岁左右。老年宠物的注意事项就留到下次再讲吧。身体检查:每年一到两次的身体检查很重要。小宠物不能告…

python定义数列每项的变量__Python定义方法

def 定义一个方法在项目编程中,我们往往要做很多重复的事,比如一个排序的功能(当然Python中内置排序的方法),在编程中,我们肯定是会多次用到这个功能的,如果我们每次都在要用这个功能时,都去写一遍&#xf…

java 变参 使用数组调用_java中的可变参数使用方法

java中的可变参数使用方法可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递…

python课程水平测试成绩查询_学业水平考试成绩查询系统入口

学业水平测试是对高中生在校期间学习情况的全面检测。学业水平测试、语数外科目考试、综合素质评价,共同构成完整的高中学生综合评价体系。学业水平考试成绩如何查询1、网站查询:通过百度或输入网址,进入学业水平测试成绩查询的官网&#xff…

lamp配置python_LAMP搭建笔记

LAMP简介LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母。LAMP便成了一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为…

抽象类可以用new创建对象吗_宠物可以用人类的湿巾吗?猫咪有泪痕可以用纸巾擦掉吗?...

宠物还有专用的湿巾?当然喽!不养宠物的小伙伴可能是无法理解的,人类的生活条件好了,宠物的生活条件在很多方面比人类还更上一层台阶呢!喜欢逛宠物店和宠物展的小伙伴都会有这样的感慨,那就是人生不如喵生狗…

java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥

JAVA中线程在什么时候需要同步和互斥关注:265 答案:6 mip版解决时间 2021-01-27 08:10提问者时光易老2021-01-27 03:32JAVA中线程在什么时候需要同步和互斥?(假如这题是考试题,要怎样回答?)详细点最佳答案二级知识专家樱花雨梦2021-01-27 04:13例如访…

5g虚拟技术旅游_5G造就文旅新时代,驴迹科技探索智慧出行创新领域

随着我国5G技术的成熟与普及,5G为文旅产业提供新的解决方案,使之焕发新的活力。以5G“新基建”为依托,结合VR虚拟实境以及云计算、高清视频等技术交叉应用,对旅游业的发展带来广泛而深刻的影响,给游客更新鲜、更具有科…

java静态方法库api下载_Java——静态方法库和抽象数据类型

静态方法封装了由一系列语句所描述的算法。方法需要参数并根据参数计算出来的某种数据类型的返回值(int等)或者产生某种副作用(void)。实例如下&#xff1a;//实例1public static int abs(int x) //计算一个整数的绝对值{if(x<0)return -x;else return x;}//实例2public sta…

图解leetcode初级算法python版 pdf_图解LeetCode初级算法(Python版)

第1章 浅谈算法1&#xff0e;1 算法概述1&#xff0e;2 度量算法1&#xff0e;2&#xff0e;1 时间复杂度1&#xff0e;2&#xff0e;2 空间复杂度1&#xff0e;3 Python&Pythonic第2章 基础算法之排序2&#xff0e;1 冒泡排序2&#xff0e;1&#xff0e;1 原理2&#xff0…

java指定sql生成xml_SQL Server根据查询结果,生成XML文件

/*bcp 不是内部或外部命令&#xff0c;也不是可运行的程序&#xff1f;看看在C:\Program Files\Microsoft SQL Server\80\Tools\Binn里面有没有bcp.exe这个文件然后看看path里面加C:\Program Files\Microsoft SQL Server\80\Tools\Binn这个目录没有.右键我的电脑--属性--高级--…

python实现雪花飘落的效果_使用javascript实现雪花飘落的效果

看了javascript网页特效实例大全中的图片飘下的效果实例&#xff0c;觉得值得动手学习下。就把图片改成雪花图&#xff0c;完成一个雪花飘下的效果。并且&#xff0c;其中有些内容比较陈旧了&#xff0c;那么就学者改掉吧。包括&#xff1a;1.对left和top的操作仅支持IE浏览器&…

java飞机大战分数累加代码_JAVA 基础编程练习题39 【程序 39 分数累加】

39 【程序 39 分数累加】题目&#xff1a;编写一个函数&#xff0c;输入 n 为偶数时&#xff0c;调用函数求 1/21/4...1/n,当输入 n 为奇数时&#xff0c;调用函数 1/11/3...1/npackage cskaoyan;public class cskaoyan39 {org.junit.Testpublic void sum() {java.util.Scanner…

分块排序算法 java_十大经典排序算法最强总结(含JAVA代码实现)

转载自&#xff1a;https://www.cnblogs.com/guoyaohua/p/8600214.html0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定&#xff1a;如果a原本在b前面&#xff0c;而ab&#xff0c;排序之后a仍然在b的前面&#xff1b;不稳定&#xff1a;如…

synchronized锁升级_synchronized详解以及锁的膨胀升级过程

点击上方"码之初"关注&#xff0c;选择"设为星标"与精品技术文章不期而遇来源&#xff1a;www.cnblogs.com/cxiaocai/p/12189848.html架构之路远且艰辛&#xff0c;但是学习的脚步始终不能停止&#xff0c;今天聊一聊synchronized。synchronized是jvm内部的…

地铁看java书女生_地铁上背单词的女孩

公历一月底的成都&#xff0c;几乎已经到了成都这座城市一年当中最冷的时候了。早上出门的时候天几乎是全黑的&#xff0c;我骑着自行车前往地铁站&#xff0c;在寒风中我不禁缩了缩脖子。因为我上班比较远&#xff0c;所以我出门比较早&#xff0c;这个时候街上的行人还很少&a…

python crm_Python CRM项目一

1 from django.db importmodels2 from django.contrib.auth.models importUser3 #Create your models here.4 classCustomer(models.Model):5 客户信息表6 name models.CharField(max_length32,nullTrue,blankTrue)7 qq models.CharField(max_length64,uniqueTrue)8 qq_name …

python arcgis批量绘图_ARCGIS中Python实现批量裁剪

《ARCGIS中Python实现批量裁剪》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《ARCGIS中Python实现批量裁剪(1页珍藏版)》请在人人文库网上搜索。1、程序代码&#xff1a;pythonview plaincopyprint?1. importarcpy2. arcpy.CheckOutExtension(spatial)3. arcpy.gp.…

python123自定义幂函数_python基础之函数

python 函数函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。函数能提高应用的模块性&#xff0c;和代码的重复利用率。你已经知道Python提供了许多内建函数&#xff0c;比如print()。但你也可以自己创建函数&#xff0c;这…