什么是python之禅_【Python面试】你了解什么是 Python 之禅么?

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说你了解什么是 Python 之禅?

答:Python之禅指的是:Tim Peters 编写的关于python编程准则,我们可以在交互式解释器中输入:import this 。就会显示 The Zen of Python, by Tim Peters 。具体内容如下:

>>>import this #输入import thisThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren't special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one-- and preferably only one --obvious way to do it.Although that way may not be obvious at first unless you're Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, it's a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- let's do more of those!

上面中文翻译一下:

Python之禅 by Tim Peters优美胜于丑陋(Python 以编写优美的代码为目标)明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)可读性很重要(优美的代码是可读的)即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)当存在多种可能,不要尝试去猜测而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

Python之禅,体现了Python这门语言的设计哲学,其中的很多观点对于日常的编程也是很有指导意义的,建议学习Python的朋友,一定要多看几遍哈!

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

更多题目:

关注小猿公众号,每天学习一道题

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

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

相关文章

mesos marathon mysql_Mesos以及Marathon安装总结

安装了将近一周的环境了,终于把Mesos以及Marathon给安装上了,我指的离线安装。策略1:严格的按照官网的流程:找一台能够上网的机器,通过yum install/update --downloadonly --downloaddir/opt/XXX但是所有的yum下载都不…

SonarQube启动报错:WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti

SonarQube启动报错 可以查看日志,一般日志会记录错误的详细内容 执行以下命令,查看日志: cd /opt/sonarqube-6.7.6/logs tail -n 100 sonar.log定位到问题的详细信息: WrapperSimpleApp: Encountered an error running main: ja…

华为麒麟990芯片发布;谷歌宣布开源创新隐私保护技术;阿里20亿美元全资收购网易考拉;中国联通将设立100亿5G创新基金……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 东风新款电动车菱智M5 EV上市…

C++继承和组合——带你读懂接口和mixin,实现多功能自由组合

摘要: 本文详细介绍了C继承的三种方式和相关重要概念,整理了众多继承与组合中的注意问题。在C继承存在不安全的默认实现,非虚函数的覆盖,多重继承的函数名冲突、菱形继承等众多问题下,如何实现多个功能的自由组合&…

python3新式类_python新式类和旧式类区别

python的新式类是2.2版本引进来的,我们可以将之前的类叫做经典类或者旧式类。为什么要在2.2中引进new style class呢?官方给的解释是:为了统一类(class)和类型(type)。在2.2之前,比如2.1版本中,类和类型是不同的&#…

如何在阿里云•对象存储OSS托管用户域名的https证书

摘要: OSS服务支持将用户域名绑定到OSS域名,并为此用户域名提供HTTPS证书托管服务。以满足用户使用自己的域名也能支持HTTPS安全加密的访问方式传输数据。面向人群您已经拥有了自己的域名。您已将或准备将自己的域名绑定到OSS域名上,并且使用…

win10系统VMware Workstation与Device/Credential Guard不兼容怎么办

解决方法: 打开本电脑-》管理-》服务和应用程序-》服务下找到如下图的HV 主机服务,双击选择禁用。 或者 转到“ 控制面板” >“ 卸载程序” >“ 打开或关闭Windows功能”以关闭Hyper-V。 步骤二:通过命令关闭Hyper-V(控制…

mosca mysql_nodejs 完成mqtt服务端

今天使用mosca 写了一下基于MQTT的消息服务端,用于下一个项目的知识储备;该功能主要是基本 NODEJS 的 mosca 插件完成1. 安装 moscanpm install mosca --save2. 创建mqtt服务端,端口为:8000var mosca require(mosca);var MqttSer…

数据大爆炸边缘期 让存储告别旧时代

戳蓝字“CSDN云计算”关注我们哦!好莱坞一部高智商大数据电影《永无止境》,讲述一位落魄的作家库珀,服用了一种可以迅速提升智力的神奇蓝色药物。他将这种高智商用于炒股,能在短时间掌握无数公司资料和背景,也就是将世…

AliOS Things图形界面开发指南

简介物联网设备开发过程中,嵌入式GUI(用户图形界面)的开发是一个重要的组成部分。许多智能设备如智能家电、智能手表、智能仪表上都会涉及到GUI开发。AliOS Things集成开源图形库littlevGL,可以在linux上进行图形界面开发。开发完…

unoconv执行出错unable to connect or start own listener

异常现象: Failed to connect to /usr/lib/libreoffice/program/soffice.bin (pid7342) in 6 seconds. Connector : couldn’t connect to socket (Success) Error: Unable to connect or start own listener. Aborting. 是在执行unoconv -f pdf xxx.txt的时候出现…

微服务的好处与弊端_《微服务架构设计模式》-学习总结07

本篇主要总结第七章:在微服务架构中实现查询在微服务架构中查询数据的挑战何时以及如何使用API组合模式实现查询 何时以及如何使用CQRS模式实现查询 微服务架构中,查询通常需要检索分散在多个服务所拥有的数据库中的数据,跨服务数据查询的两种…

ECS主动运维2.0,体验升级,事半功倍

摘要: 阿里云致力于提供更好用的运维体验,让您使用ECS的过程更透明、高效,并实现更加标准化、自动化的运维方式。基于主动运维2.0,您使用ECS云服务器的体验更加流畅,而且利用系统事件,不再依赖于工单联系客…

mysql bench如何下载_MySQLWorkbench下载与使用教程详解

一、MySQL Workbench的下载Workbench是MySql图形化的管理工具,可以在Workbench里输入MySql的语句,这可能更适合大多数人的视觉,有些操作更能更简单化首先我们下载workbench然后选择download选择no thanks,just download下载后点击…

为什么说边缘计算的发展比5G更重要?

戳蓝字“CSDN云计算”关注我们哦!由TechSugar编辑部翻译自medium文︱Pavel Konecny本篇文章转自公众号TechSugar(ID:techsugar)边缘计算相对于5G都有哪些优势?犹记2016年,我在汉诺威参加德国汉诺威消费电子、信息及通信…

ICDE:POLARDB定义云原生数据库

摘要: 4月17日(巴黎时间)阿里云POLARDB走出国门,亮相ICDE2018,并同步举办阿里云自有的POLARDB技术专场。在会上,阿里云进行了学术成果展示,从而推动Cloud Native DataBase成为行业标准。4月17日…

PLSQL连接ORACLE

文章目录① 安装oracle服务端②安装plsql③配置监听④配置2个⑤重启plsql① 安装oracle服务端 ②安装plsql ③配置监听 ④配置2个 【打开客户端】-【取消】-【工具】-【首选项】-【连接】 配置截图2个配置 【Tools】-【Preferences】-【Connection】 根据自己的oracle安装路…

python 类定义 垃圾_什么是python对象摧毁?python中的对象摧毁(垃圾回收)机制是什么?...

在这篇文章之中我们来了解一下python对象摧毁(垃圾回收),对于刚刚接触到python这一编程语言的朋友来说,对于python对象摧毁(垃圾回收)的了解应该比较少,并且不清楚关于python垃圾回收这一方面的知识。不过没关系,在接下来的文章之…

mysql图片字符集_MySQL字符集介绍及配置

1.MySQL编码集查看MySQL支持的字符集mysql> show character set;查看MySQL当前的字符集mysql> show variables like character%;------------------------------------------------------| Variable_name | Value |----------------------------------------------------…

新功能:阿里云负载均衡SLB支持HTTP访问强制跳转HTTPS

摘要: 很高兴的告诉大家,阿里云负载均衡SLB已经在澳大利亚(悉尼)、日本(东京)、阿联酋(迪拜)、美国 (弗吉尼亚)、美国(硅谷)、马来西亚…