下划线

分析一套源代码的代码规范和风格并讨论如何改进优化代码

寵の児 提交于 2019-12-01 06:59:52
我的工程实践课题是设计面向特定对象的搜索引擎。我在Github上找到了一套爬取今日头条、网易、腾讯新闻建立的简单搜索引擎。 目录结构、命名: 其目录如下图所示: 从目录结构来看,data主要存放数据库文件,web存放前端的一些内容。命名也算规范。 代码规范、风格: 截取其中一部分代码如下图: 可以看出, 代码基本上是符合python的编程规范的,例如变量名和函数名均是小写+下划线的形式进行,类名使用驼峰命名法。至于接口,这个项目比较简单,并没有传统意义上的接口,类之间也没有继承关系,方法都直接实现了。代码的风格良好,缩进与空行使用得当,命名也易于解读,代码整体简介明了,方便人的阅读。 列举违背代码一般原则,可以改进的地方: 以上图为例,在整体代码风格良好的情况下,缺少注释。注释是利于别人读懂代码的重要工具,没有注释很可能让别人甚至代码的作者后来都无法读懂代码,不利于代码交流以及后期代码的更正改进。另外,这套项目的目录结构混乱不够简洁,命名也不够明晰。 总结同类编程语言或项目在代码规范和风格的一般要求,总结如下: 一 代码编排 1 缩进。4个空格的缩进(编辑器都可以完成此功能), 不要使用Tap,更不能混合使用Tap和空格。 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。 3 类和top-level函数定义之间 空两行;类中的方法定义之间

pytorch clamp 与clamp_区别

[亡魂溺海] 提交于 2019-11-30 10:50:20
pytorch clamp 与clamp_ ,有下划线的表示修改并付给自身,无下划线的表示需要返回处理后的值,比如: h = k.clamp(min=0) #将结果存入h,k保留原值 k.clamp_(min=0) # 将结果存入k 来源: https://www.cnblogs.com/YouXiangLiThon/p/11579895.html

Python中单下划线和双下划线

孤街浪徒 提交于 2019-11-30 05:33:57
Python中单下划线和双下划线: 一、分类 (1)、以单下划线开头,表示这是一个 保护成员 ,只有类对象和子类对象自己能访问到这些变量。 以单下划线开头的变量和函数被默认是内部函数,使用from module import *时不会被获取,但是使用import module可以获取。 (2)、以单下划线结尾仅仅是为了区别该名称与关键词 (3)、双下划线开头,表示为 私有成员 ,只允许类本身访问,子类也不行。 在文本上被替换为_class__method (4)、双下划线开头,双下划线结尾。一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突。是一些 Python 的“魔术”对象,表示这是一个特殊成员,例如:定义类的时候,若是添加__init__方法,那么在创建类的实例的时候,实例会自动调用这个方法,一般用来对实例的属性进行初使化,Python不建议将自己命名的方法写为这种形式。即以双下划线开头的方法和变量不会被继承 [ 作者:别拽我红领巾 链接:https://www.zhihu.com/question/19754941/answer/336260809 来源:知乎 ] 二、例子 转载:python 中的下划线 https://segmentfault.com/a/1190000002611411 来源: https://www.cnblogs.com

移动端tab切换时下划线的滑动效果

谁都会走 提交于 2019-11-30 02:43:05
1、当前 tab 出现下划线的同时,前一个下划线同时消失(出现方向与消失方向保持一致),伴随过渡效果。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>change tab</title> <style> ul { display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%); list-style: none; } li { position: relative; padding: 20px; color: #000; line-height: 1; transition: 0.2s all linear; cursor: pointer; } li::before { content: ""; position: absolute; top: 0; left: 100%; width: 0; height: 100%; border-bottom: 2px solid #f00; transition: 0.2s all linear; } li:active { background: #000; color: #fff; } .active

PEP8编码规范

眉间皱痕 提交于 2019-11-29 14:35:48
item detail PEP 8 Title Style Guide for Python Code Version c451868df657 Last-Modified 2016-06-08 10:43:53 -0400 (Wed, 08 Jun 2016) Author Guido van Rossum <guido at python.org> , Barry Warsaw <barry at python.org> , Nick Coghlan <ncoghlan at gmail.com> Status Active Type Process Content-Type text/x-rst Created 05-Jul-2001 Post-History 05-Jul-2001, 01-Aug-2013 Introduction 介绍 A Foolish Consistency is the Hobgoblin of Little Minds 尽信书则不如无书 Code lay-out 代码布局 Indentation 缩进 Tabs or Spaces 制表符还是空格 Maximum Line Length 行的最大长度 Should a line break before or after a binary operator 在二元运算符之前应该换行吗 Blank

python命名规范

萝らか妹 提交于 2019-11-29 14:30:00
1、 模块 名尽量 短小 ,并且 全部使用小写字母 , 可以使用下划线分割 多个字母,如game_main、game 2、 包名 尽量 短小 ,并且 全部使用小写字母 , 不 使用下划线,如com.mr 3、 类名 采用 单词首字母大写 ,如BorrowBook,模块内部的类采用下划线(_),例如BorrowBook类中的内部类可以使用_BorrowBook命名 4、函数、类的属性和方法的命名规则和模块类似,也是全部使用小写字母,多个字母间用下划线(_)分割 5、常量全部大小字母命名,可以使用下划线 6、使用单下划线(_)开头的模块变量或函数是受保护的,在使用from xxx import* 语句从模块中导入时这些变量或函数不能被导入 7、使用双下划线(__)开头的实例变量或方法是类私有的 来源: https://www.cnblogs.com/heruiguo/p/11238071.html

python代码规范

旧时模样 提交于 2019-11-29 14:29:43
为什么要有代码规范? 1.做哪一行都有高低级别之分,别写一行代码就被人鄙视了。 2.好的规范会形成好的编码风格,看着熟悉、亲切,心情好。 3.增加可读性,易维护,提高工作效率。 4.遵循规范,代码会自己写代码。 5.国家为啥要有法律,就是为了管理。 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入 #-*-coding:utf-8-*- 标识 2、代码格式 2.1、缩进 统一使用 4 个空格进行缩进 2.2、行宽 每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120) 理由: 这在查看 side-by-side 的 diff 时很有帮助 方便在控制台下查看代码 太长可能是设计有缺陷 2.3、引号 简单说,自然语言使用双引号,机器标示使用单引号,因此 代码里 多数应该使用 单引号 自然语言 使用双引号 "..." 例如错误信息;很多情况还是 unicode,使用u"你好世界" 机器标识 使用单引号 '...' 例如 dict 里的 key 正则表达式 使用原生的双引号 r"..." 文档字符串 (docstring) 使用三个双引号 """......""" 2.4、空行 模块级函数和类定义之间空两行; 类成员函数之间空一行; 可以使用多个空行分隔多组相关的函数

PHP中用下划线开头的变量含义

好久不见. 提交于 2019-11-29 11:29:33
命名的规则 加一个为私有的 加两个一般都是系统默认的,系统预定义的,即所谓: “魔术方法”与“魔术常量” PHP起止为双下划线的常量即为“魔术常量”: __LINE__文件中的当前行号。 __FILE__文件的完整路径和文件名。 __DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠 注:以上内容来自“PHP中文手册->语言参考->常量->魔术常量”。 从php5以后的版本,php的类就可以使用魔术方法了。 php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。 PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload __autoload __autoload 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。 如果要定义一个全局的自动加载类,则必须用spl_autoload

Python 代码风格 和 PEP8

冷暖自知 提交于 2019-11-29 06:56:28
Python 代码风格 和 PEP8 Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。 1 变量 常量 : 大写加下划线 USER_CONSTANT 对于不会发生改变的全局变量,使用大写加下划线。 私有变量 : 小写和一个前导下划线 _private_value Python 中不存在私有变量一说,若是遇到需要保护的变量,使用小写和一个前导下划线。但这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。但实际上,外部类还是可以访问到这个变量。 内置变量 : 小写,两个前导下划线和两个后置下划线 __class__ 两个前导下划线会导致变量在解释期间被更名。这是为了避免内置变量和其他变量产生冲突。用户定义的变量要严格避免这种风格。以免导致混乱。 2 函数和方法 总体而言应该使用,小写和下划线。但有些比较老的库使用的是混合大小写,即首单词小写,之后每个单词第一个字母大写,其余小写。但现在,小写和下划线已成为规范。 私有方法 : 小写和一个前导下划线 def _secrete(self): print "don't test me." 这里和私有变量一样,并不是真正的私有访问权限