Python & PEP All In One

Python & PEP All In One

Python Enhancement Proposals / Python 增强建议

demos

PEP 8 – Style Guide for Python Code

4 spaces indentation / 4 空格缩进 (? 浪费编辑器一行的空间,限制最大 80字符一行)

# Correct: ✅

# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

# Add 4 spaces (an extra level of indentation) to distinguish arguments from the rest.
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# Hanging indents should add a level.
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

# Wrong: ❌

# Arguments on first line forbidden when not using vertical alignment.
foo = long_function_name(var_one, var_two,
    var_three, var_four)

# Further indentation required as indentation is not distinguishable.
def long_function_name(
    var_one, var_two, var_three,
    var_four):
    print(var_one)

image

http://peps.python.org/pep-0008/

PEP 279 – The enumerate() built-in function

http://peps.python.org/pep-0279/

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 http://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!


本文首发于博客园,作者:xgqfrms,原文链接:http://www.cnblogs.com/xgqfrms/p/17414724.html

未经授权禁止转载,违者必究!


本文转载于网络 如有侵权请联系删除

相关文章

  • LeetCode笔记:Weekly Contest 306

    LeetCode笔记:WeeklyContest3060.小结1.题目一1.解题思路2.代码实现2.题目二1.解题思路2.代码实现3.题目三1.解题思路2.代码实现4.题目四1.解题思路比赛链接:https://leetcode.com/contest/weekly-contest-3060.小结这次的比赛又一次拉了,感觉最近这段时间都好不顺啊,工作方面模型也一直效果优化不好,然后比赛题目也总是有题目做不出来,其他各种不顺心的事也零零碎碎的好多,虽然99%以上都是鸡毛蒜皮的小事,但是合在一起真的差不多就差压死骆驼的最后一根稻草了,简直让人想要迸发国粹……这次的比赛整体上又是别人6、7分钟搞定,我却始终搞不定最后一题,不过不知道是不是我小人之心度君子之腹了,抄了最后一题的答案之后,发现好多解答都是类似的,然后给的方法名字都明显和这道题目不同,看起来就又是一个曾经出现过的经典题目然后把解法在这里copy了一下,这样的话倒是可以给自己点心理安慰,多少说明可能别人也不是现场做的……不过,这种说法估计也就是阿Q精神治疗法了,属实还是不太可取,唉,终究还是自己太弱了啊……1.题目一给出题目一的试题

  • 分布式 | DBLE 3.21.06.0 来了!

    3.21.06.0版本DBLEReleaseNotes 以下对DBLE3.21.06.0版本的ReleaseNotes进行详细解读。文章主要分为以下四部分内容:一、DBLE项目介绍二、新版本主要更新解读三、完整ReleaseNotes四、LTS版本更新一、DBLE项目介绍DBLE是企业级开源分布式中间件,江湖人送外号“MyCatPlus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;DBLE破壳日:2017.10.24爱好:开源技能:数据水平拆分、读写分离、分布式事务支持、多分片算法、全局ID、IP/SQL黑白名单特长:MySQL语法兼容、复杂查询优化、低改造成本、成熟稳定、成熟技术栈DBLE官方项目: https://github.com/actiontech/dbleDBLE官方文档(已更新): https://actiontech.github.io/dble-docs-cn新版本DBLE下载地址及ReleaseNotes: https://github.com/actiontech/dble/releases官方课程: 点击学习《DBLE快速上手

  • 多图证明,Java到底是值传递还是引用传递?

    1.值类型通俗意义上来说,所谓的值类型指的就是Java中的8大基础数据类型:整数型:byte、int、short、long浮点型:float、double字符类型:char布尔类型:boolean从JVM层面来讲:所谓的值类型指的是在赋值时,直接在栈中(Java虚拟机栈)生成值的类型,如下图所示:2.引用类型引用类型是指除值类型之外的数据类型,比如:类接口数组字符串包装类(Integer、Double...) 从JVM的层面来讲,所谓的引用类型是指,在初始化时将引用生成栈上,而值生成在堆上的这些数据类型,如下图所示: PS:关于包装类为什么是引用类型?我们后面的文章会单独讲,记得关注:Java中文社群3.值传递值传递(PassByValue)指的是方法传参时,传递的是原内容的副本,因此对副本进行如何修改都不会影响原内容。实现代码如下:publicclassPassTest{ publicstaticvoidmain(String[]args){ intage=18; System.out.println("调用方法前:"+age); intTest(age); Sy

  • JUnit

    1.Assertion断言是一种调试程序的方式,可以理解为高级的异常,其常与测试类并用,使用assert关键字来实现断言。在JVM中默认是关闭断言的(这样在线上环境就不会启用,而在生产环境自己手动开启方便调试)1.1开启断言点击菜单栏的Windows->preference,在弹窗中选择InstalledJRES编辑它,在默认参数中添加-ea,确定完成1.2格式与使用assert<布尔表达式>assert<布尔表达式>:消息publicstaticvoidmain(String[]args){ intnum=1; assert(num==1):"num不等于1"; }复制//表达式为true,则没有断言发生复制publicstaticvoidmain(String[]args){ Stringstr="HelloWorld"; assert(str.equals("Hello")):"str不等于Hello"; }复制//表达式为false,发生断言并由消息提示 Ex

  • 模糊测试(fuzzing)是什么

    来源:http://www.uml.org.cn一、说明大学时两个涉及“模糊”的概念自己感觉很模糊。一个是学数据库出现的“模糊查询”,后来逐渐明白是指sql的like语句;另一个是学专业课时出现的“模糊测试”。概念是懂的,不外乎是“模糊测试是一种软件测试技术,其核心思想是自动或半自动的生成随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏”。这种定义也许很准确,但对没接触过的人还是很模糊。我觉得搞学问的有个毛病,喜欢把一个简单的东西讲得很复杂然后就是不告诉你到底是什么。就好比如在介绍职业时什么“公司全系统物理安全保障专员”责任多么重大多么神圣啦、“世界互联网信息终端及人类信息科技部信息集成应用导师”涉及哪些高深技术啦,就是不直接叫保安和网管照片你更别想有了。二、fuzzing定义模糊测试(fuzztesting,fuzzing)是一种软件测试技术。其核心思想是自动或半自动的生成随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计

  • Scala 操作 HBase2.0 数据库

    环境配置Maven添加hbase-client的依赖<!--HBaseClient--> <dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.1.2</version> </dependency> </dependencies>复制Scala操作HBase创建HBase的配置、Connection、Admin/* *创建一个HBase的配置,创建的时候会去加载classpath下的hbase-default.xml和hbase-site.xml两个配置文件 */ privatevalconf=HBaseConfiguration.create() //设置Zookeeper的地址和端口来访问HBase,先从配置中读取,如配置中不存在,设置地址为localhost,端口为默认端口2181

  • 微信公众号信息抓取方法(一)——抓取公众号历史消息列表数据

    马上双十一了,凑个热闹,发布一篇重量级的文章。如何抓取微信公众号的文章一、介绍研究微信抓取之前,看过知乎有大神写的比较完善的例子,受到启发,才完成了整个微信公众号的抓取。微信公众号内容的批量采集与应用微信抓取的难点:1.无法获取到微信公众号的信息(微信并没有提供列表)2.无法脱离客户端获取微信公众号历史消息页面3.可以获取到文章内容页但是脱离客户端后无法获取到点赞、阅读数据所以,流程中的一部分是依赖于手机客户端的,如果要大量抓取微信公众号信息,就必须依靠大量客户端抓取(自己准备手机、微信号、电费、和人工)基本使用的方式是和知乎大神说的一样的,都是中间人代理攻击的方式。一、抓取要使用的工具知乎大神用的是nodejs,post给php处理,并且github上有的大部分也是用这个方式,或者纯nodejs的方式,个人觉得受限太大,最主要的原因是我不会nodejs,简单学过一些,不过使用的anyproxy,还是会出现一些无法解决的问题,无法适用于长期采集python3.5+mitmproxy其他用到的包插件二、微信抓取基本的应用规则单个客户端公众号历史消息列表页,一天访问次数不可以超过1300次

  • 经典C语言面试题

    1.gets()函数问:请找出下面代码里的问题:#include<stdio.h> int main(void)  {  char buff[10];      memset(buff,0,sizeof(buff));      gets(buff);      printf("\n The buffer entered is [%s]\n",buff);  return 0;  } 复制答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓存的容积,这可能会导致缓存溢出。这里推荐使用标准函数fgets()代替。2.strcpy()函数问:下面是一个简单的密码保护功能,你能在不知道密码的情况下将其破解吗?#include<stdio.h> int main(int argc, char *argv[])  {  int flag = 0;  char passwd[10];      memset(passwd,0,sizeof(passwd));      strcpy(passw

  • 在Oracle中,如何定时删除归档日志文件?

    ♣题目部分在Oracle中,如何定时删除归档日志文件?答案部分   对于单实例的数据库可以使用如下的脚本:1、在Oracle用户下,创建归档日志删除文件del_OCPLHR1_arch.sh文件位置:/home/oracle/crontabOra,内容如下:#!/bin/bashexport ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1export ORACLE_SID=OCPLHR1export NLS_LANG="american_america.ZHS16GBK"export NLS_DATE_FORMAT="YYYY-MM-DD HH24:Mi:SS"LOG_DIR=/home/oracle/crontabOra/logDATEL=`date'+%Y-%m-%d'`LOG_NAME=${LOG_DIR}/OCPLHR1_${DATEL}".log"$ORACLE_HOME/bin/rman log=$LOG_NAME target sys/l

  • 关于vue 工程打包后在低版本android报错白屏SyntaxError: Unexpected token ...

       本来以为是babel的配置有问题。不过相同配置之前打的包就没有...扩展符号。奇怪 npminstall-D@babel/plugin-proposal-object-rest-spread安装下插件配置下babel.config.js再打包可以了 module.exports={presets:['@vue/cli-plugin-babel/preset',],plugins:['@babel/plugin-proposal-object-rest-spread']}  

  • MASA MAUI Plugin (四)条形码、二维码扫描功能

    背景 MAUI的出现,赋予了广大.Net开发者开发多平台应用的能力,MAUI是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA团队开展了一个实验性项目,意在对微软MAUI的补充和扩展 项目地址https://github.com/BlazorComponent/MASA.Blazor/tree/main/src/Masa.Blazor.Maui.Plugin, 每个功能都有单独的demo演示项目,考虑到app安装文件体积(虽然MAUI已经集成裁剪功能,但是该功能对于代码本身有影响),届时每一个功能都会以单独的nuget包的形式提供,方便测试,现在项目才刚刚开始,但是相信很快就会有可以交付的内容啦。 前言 本系列文章面向移动开发小白,从零开始进行平台相关功能开发,演示如何参考平台的官方文档使用MAUI技术来开发相应功能。 介绍 移动端的扫描条形码、二维码的功能已经随处可见,已经很难找到一个不支持扫描的App了,但是微软的MAUI竟然没有提供,那么我们应该如何实现呢? 其实早在Xamarin开

  • 有别于传统油车,新能源电动汽车买车时建议关注点

    1、三电系统,电机电控电池。先看看电池容量,不要听宣传续航多少,电池容量除以平均电耗更实际,轿车电耗10度/100km,suv15度/100km(有些大车要到20),先按这个粗算。再重点关注一下最大充电功率,这个决定充电速度,能直接反应出厂家的技术高低,好的能到50度/h以上甚至100度/h,能半小时冲到80%。电机的话看看功率,功率大,车速度快,耗电大。 2、车架结构,看看是否做了轻量化设计,车重多少,有些车会大量使用高成本铝合金。再看悬挂怎么样,需要实际坐车体验一下。 3、制动与能量回收系统,这个最容易被忽略,但是有别于传统车,是电动汽车精髓之一,本文详细讲讲。 电动车在刹车和滑行时都会能量回收。 先说刹车情况的能量回收: 一种设计是,在制动踏板安装传感器,检测踏板深度,启动能量回收,这种设计不改动传统踏板逻辑,只是把电机能量回收叠加上去一起工作,设计生产成本低廉。 另一种设计,踏板与刹车不再有机械连接(解耦),完全由传感器检测踏板深度,系统控制能量回收和刹车系统协同工作,这种设计驾驶体验特别好(刹车线性),但系统复杂。 检验属于哪种方案很简单,电动车由于没有发动机做真空源,都必须

  • Dockerfile怎么编写

      一、Dockerfile的定义 简单的讲,Dockerfile就是用来描述镜像打包过程的文件,Docker通过读取Dockerfile中的指令自动生成镜像。 dockerbuild命令用于从Dockerfile构建镜像,可以在dockerbuild命令中使用-f标志指向文件系统中任何位置的Dockerfile。 示例:dockerbuild-f/path/to/a/Dockerfile 二、Dockerfile基本命令 Dockerfile一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’为Dockerfile中的注释。 Docker会以从上到下的顺序运行Dockerfile的指令。为了指定基本镜像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。可以在Docker文件中使用RUN,CMD,FROM,EXPOSE,ENV等指令。 1、基础镜像信息 FROM:指定基础镜像,必须为第一个命令 格式: FROM<image> FROM<image>:<tag> FROM<image>@&

  • 使用 Fiddler 上传微信公众账号 自定义菜单

    0、你必须有微信公众账号的服务号。成为开发者之后。。。。 1、得到你的 appid(xxxxxxoooo)和 secret(oooooooxxxxxxx) 2、用这个链接得到你的access_token:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxxxxxxxooooooo&secret=oooooooxxxxxxx,得到的结果为 xxxxooooooxxxxx 3、在Fiddler里的Composer编辑一个网址 https://api.weixin.qq.com/cgi-bin/menu/create?access_token=xxxxooooooxxxxx;方法选择POST。RequestBody里写上你的菜单配置,如: { "button":[ { "type":"click", "name":"今日歌曲", "key":"V1001_TODAY_MUSIC" }, { "type":"click", "name

  • 生成器推导式和列表推导式的组合

    #defdemo(): #foriinrange(4): #yieldi # #g=demo() # #g1=(iforiing) #g2=[iforiing1]#执行了和数据类型的强制转换没有区别 # #print(list(g1))#空 #print(list(g2))#[0,1,2,3]复制 生成器不调用不运行列表推导式要值相当于调用生成器推导式,生成器中的值取了就没了

  • LeetCode #442 Find All Duplicates in an Array 数组

    Description     Givenanarrayofintegers,1≤a[i]≤n(n=sizeofarray),someelementsappeartwiceandothersappearonce. Findalltheelementsthatappeartwiceinthisarray. CouldyoudoitwithoutextraspaceandinO(n)runtime? Example: Input: [4,3,2,7,8,2,3,1] Output: [2,3]复制     思路   老年人回炉重造第5天。   这道题比较tricky,要求时间复杂度O(n),noextraspace(题目补充说明了待返回的数组不算在extraspace里,所以可以开辟一个数组保存算法的结果),没想出来,看了油管的一个讲解视频有了思路后才敲出来,视频链接如下: 《LeetCode442.FindAllDuplicatesinanArray(SolutionExplained)》   本题的难点之一是如

  • 1

    11111111111

  • Android之Activity

    摘自:http://www.cnblogs.com/tekkaman/archive/2011/06/07/2074211.html 【Activity】一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。 一个应用程序通常由多个activities组成,他们通常是松耦合关系。通常,一个应用程序中的activity被指定为"main"activity,当第一次启动应用程序的时候呈现给用户的那个activity。每一个activity然后可以启动另一个activity为了完成不同的动作。每一次一个activity启动,前一个activity就停止了,但是系统保留activity在一个栈上(“backstack”)。当一个新activity启动,它被推送到栈顶,取得用户焦点。BackStack符合简单“后进先出”原则,所以,当用户完成当前activity然后点击back按钮,它被弹

  • 关于软件开发需求分析的分享~

    一、什么是需求分析呢?   软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。   通俗的讲,对用户的意图不断揭示和确认的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述。  下面举个栗子:  假如你是个软件工程师,夏天到了,有位客户跟你说要给他们的家禽养殖场开发一个温感控制系统,这个时候要需要与客户沟通,来确定客户到底想要一个什么样子的温感控制系统。我们应该注意三点:   1 . 准确的理解和描述客户需要的功能。     客户说,我的温感系统系统可以感知当前天气温度,当温度过高时,采取洒水模式给环境降温,当天气太潮湿,可以开启除湿模式....客户滔滔不绝的讲了一大堆,你也都非常忠实的按照自己的理解再一一的向客户描述一遍,以便于确认客户的需求是否正确。  2. 帮助客户

  • 记入园第一天

    我学软件有半年了,七月份工作,平时上班闲了就看看博客园,好想自己什么时候也能在博客园里写写博客,一直都感觉自己水平太低,难以写出什么东西,照抄别人的东西又不是我的风格,于是一直没有写东西的习惯,只有每天自己给自己写的上班日报。几天前下定决心要入园,坚持写写工作中收获的点滴,在博客园留下自己成长的脚印。在此感谢乐哥给予的精神鼓励,还帮我取了昵称^_^,我要好好努力。

  • 自助饮料机实现

    一、流程设计   二、代码设计 #coding:utf-8 money=0 coinChoice=[1,5,10,20,50,100] printu'请注意只接受1,5,10,20,50,100的面值!' #drinkingchose drinklist={'milk':4,'cola':5,'juice':7,'xuebi':6} drinkNum=0 forkey,valueindrinklist.items(): drinkNum+=1 printu'饮料编号:%d,饮料名称:%s,单价:%s元'%(drinkNum,key,value) defputCoin(): whileTrue: coin=input(u'请输入投币金额(按q退出):'.encode('gbk')) #printtype(coin)#<type'int'> globalmoney ifcoin=='q': printu'投币结束,余额%d元'%money break else: ifcoinnotincoinChoice: printu'请注意只接受1,5,10,20,50

相关推荐

推荐阅读