首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python学习笔记:PEP8常用编程规

PEP8编码规范是一种非常优秀的编码规范,也得到了Python程序员的普遍认可,如果实践中或者项目中没有统一的编码规范,建议尽量遵循PEP8编码规范,当然如果项目中已经有了自身的编码规范,应当优先遵循自身的编码规范...2.行宽:代码行宽限制在79个字符(也可以是99个字符),文档和注释限制在72个字符 3.对齐:当圆括号、方括号和花括号中的元素需要换行时,元素应该垂直对齐,而且如果下一条语句需要缩进时,比如if的条件语句和要执行的代码块...4.行尾的空格:避免在行尾添加空格,比如在换行符反斜杠\后有空格的话,那这个反斜杠\就不是换行符了,因为行尾是空格而不是反斜杠\ 5.二元运算符:除了函数传参和函数指定默认值等特殊情况外,应该总是在二元运算符的两边添加一个空格...Python内部关键字冲突的一种约定 6.双下划线开头:当在类中以双下划线开头定义时,调用它的时候会在前面加上“_ClassName”,如调用类A中的属性__a时,__a就变成了_A__a,这样子类就不可以随便调用这个属性了...或str1 = str1 + str2的方式连接字符(串),建议使用字符串方法join()方法来连接字符(串) 2.单例对象判断:在于如None这样的单例对象进行判断时,应该使用is None或者is

87010

优雅的代码--PEP8规范

PEP8规范 当入职一家公司,看到了一份乱糟糟的源码,你是不是心里奔腾着无数的草泥马?当你离职,留给后人的代码又如何呢?与人方便与己方便,规范代码,从我做起。...为了让我们的代码提高可读性,便于后期维护,官方提供了一种规范,这就是PEP8。那么具体的内容是什么呢?下面一起来看看吧。...4.空行 1.顶层函数和类定义时,前后用两个空行隔开。 2.类里面的方法定义用一个空行隔开。 3.对于函数中不同的逻辑块可以用空行隔开。...10.函数名要小写。 11.一些常量名要全部使用大写。比如在项目中的一些常量放在一个单独的文件中,他们的名字应该如下:MAX_OVERFLOW。 11.其他的建议 1.避免在尾部添加空格。...因为尾部的空格通常都看不见,会产生混乱。比如,一个反斜杠后面跟一个空格的换行符,不算续行标记。

83510
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    你写的Python代码规范吗?

    关于更深层次的概念,大家有兴趣的可以自行去了解。 PEP 后面的数字从0开始一直累加,不同的数字代表不同的文档,我们今天介绍的是 PEP8,这个文档主要是用来规范 Python 代码的写法。 ?...2.1缩进 我们知道在写 if条件、for循环、while循环、函数等语句时都是需要缩进的,正常来说缩进只要有缩进空格就行,具体缩进几个都行,所谓的无规矩不成方圆,想象一下,你习惯缩进3个,我习惯缩进5...比如下面的运算符遇上换行符中的例子。 当我们使用括号进行续行时,就涉及到不同行与行的对齐情况。 在多行结构中右括号可以与内容对齐单独起一行作为最后一行的第一个字符。...my_list = [ 1,2,3, 4,5,6 ] 2.3运算符遇上换行 有的时候多个变量名进行运算,在一行放不下时,这个时候就需要换行,那么当运算符遇上换行时我们该怎么换呢?...# 建议这样 np.array([1,2,3]) # 不建议这样 np.array( [1,2,3] ) np.array([1 ,2 ,3]) 在给某个函数参数传入参数值时,不建议使用空格。

    1.6K30

    Python正则表达式,这一篇就够了!

    MULTILINE 语法: re.MULTILINE 或简写为 re.M 作用: 多行模式,当某字符串中有换行符\n,默认模式下是不支持换行符特性的,比如:行开头 和 行结尾,而多行模式下是支持匹配行开头的...代码案例: 虽然debug模式下确实会打印编译信息,但猪哥并不理解这是什么语言 以及表达的含义,希望了解的朋友能不吝赐教。...常量在re常用函数中都可以使用,查看源码可得知。 常量可叠加使用,因为常量值都是2的幂次方值,所以是可以叠加使用的,叠加时请使用 | 符号,请勿使用+ 符号!...而且,有些同学可能看过re模块的源码,你会发现其实compile函数 与 其他 re函数(search、split、sub等等) 内部调用的是同一个函数,最终还是调用正则对象的函数!...5.Python 正则面试 笔试可能会遇到需要使用Python正则表达式,不过不会太难的,大家只要记住那几个方法的区别,会正确使用,基本问题不大。

    1.2K20

    Python编程中的反模式

    一方面你避免了正确初始化列表可能带来的错误,另一方面,这样写代码让看起来很干净,整洁。 对于那些有函数式编程背景的人来说,使用map函数可能感觉更熟悉,但是在我看来这种做法不太Python化。...在C语言时代或者更早,当int统治编程世界的时候,对于需要返回一个期望的错误结果的函数来说为通用的模式为返回-1。 例如,当你想要返回列表中某一元素的索引值: ?...在print_file函数里,当一个局部变量filename没有被找到时,下一步是在全局作用域中去寻找。...由于print_file的调用在外作用域中(即使有缩进),这里声明的filename对于print_file函数是可见的。 那么如何避免这样的错误呢?...如果你不遵循PEP8,你应该有除“我只是不喜欢那样的风格”之外更好的理由。下边的风格指南都是从PEP8中摘取的,似乎是编程者经常需要牢记的。

    1.4K70

    Python编程中的反模式

    一方面你避免了正确初始化列表可能带来的错误,另一方面,这样写代码让看起来很干净,整洁。 对于那些有函数式编程背景的人来说,使用map函数可能感觉更熟悉,但是在我看来这种做法不太Python化。...在C语言时代或者更早,当int统治编程世界的时候,对于需要返回一个期望的错误结果的函数来说为通用的模式为返回-1。 例如,当你想要返回列表中某一元素的索引值: ?...在print_file函数里,当一个局部变量filename没有被找到时,下一步是在全局作用域中去寻找。...由于print_file的调用在外作用域中(即使有缩进),这里声明的filename对于print_file函数是可见的。 那么如何避免这样的错误呢?...如果你不遵循PEP8,你应该有除“我只是不喜欢那样的风格”之外更好的理由。下边的风格指南都是从PEP8中摘取的,似乎是编程者经常需要牢记的。

    1K30

    技术规范(2): 后端技术开发规范

    续行应该与其包裹元素对齐,要么使用圆括号、方括号和花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐3。当使用挂行缩进时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。...在接口被文档化并且主要被用于调用的情况下,可以使用函数的命名风格代替。...无论何时获取和释放资源,都应该通过单独的函数或方法调用上下文管理器,比如使用with 表达式来确保这个资源使用完后被清理干。...如果复制一个 Buffer,副本中的 slice 可能会对原始数组进行别名操作,从而导致后续方法调用产生令人惊讶的效果。...否则这将不适用于日志记录,因为它是隐式的面向行,而不是在其他消息中组合。 添加新包时,请包含预期用法的示例:可运行的示例,或是演示完整调用链的简单测试。

    1.1K20

    Python 代码风格

    1.4 不要做重复工作 当编写代码时,请考虑随着时间重复使用的值将会变更的情况。该值是否被用于多个模块或函数中?如果必要,需要花费多大代价修改它? 同样的原则适用于函数。...如果文档字符串有多行,则将结束的双引号单独放一行。 2.3 空行 空行用于逻辑分块。 PEP8规定“最高级”的类和函数定义之间有两个空行。...): do_something() 代码清单6 只要可能,使用该方法,而不是在换行符之前使用 \字符。...注意在使用诸如and之类的操作符时,尽可能将其置于换行符之前。 封装函数调用也是可以的。PEP 8列出了许多可接受的方式完成封装。一般规则是使得同级别行缩进保持一致。...', ) 代码清单7 当在函数调用、列表或字典中分行时,在行结尾部分添加逗号。 3 小结 大多数时候,一年后阅读你代码的人就是你自己。记忆并不像一开始时那么好用。

    1.2K90

    标识符和关键字

    标识符和关键字 标识符 计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。...思考:下面的标识符哪些是正确的,哪些不正确为什么 fromNo12 from#12 my_Boolean my-Boolean Obj2 2ndObj myInt...起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student a = "zhangsan" # bad name =...小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母...Python的命令规则遵循PEP8标准: 变量名,函数名和文件名全小写,使用下划线连接; 类名遵守大驼峰命名法; 常量名全大写; 关键字 关键字的概念 一些具有特殊功能的标识符,这就是所谓的关键字

    29630

    Python编程中的反模式

    一方面你避免了正确初始化列表可能带来的错误,另一方面,这样写代码让看起来很干净,整洁。对于那些有函数式编程背景的人来说,使用map函数可能感觉更熟悉,但是在我看来这种做法不太Python化。...在C语言时代或者更早,当int统治编程世界的时候,对于需要返回一个期望的错误结果的函数来说为通用的模式为返回-1。...在print_file函数里,当一个局部变量filename没有被找到时,下一步是在全局作用域中去寻找。...如果你不遵循PEP8,你应该有除“我只是不喜欢那样的风格”之外更好的理由。下边的风格指南都是从PEP8中摘取的,似乎是编程者经常需要牢记的。...工厂函数可以显式生成list; [2] string.find(str)返回str在string中开始的索引值,如果不存在则返回-1; [3] 在外作用于中不要给函数中的局部变量名设置任何值,以防止函数内部调用局部变量时发生错误而调用外部作用域中的同名变量

    1.1K60

    python 开发规范 预览版

    长语句缩进 编写长语句时,可以使用换行符""换行。在这种情况下,下一行应该与上一行的最后一个“.”句点或“=”对齐,或者是缩进4个空格符。...方法与函数名:小写_以及_下划线(lowercase_with_underscores)。 常量:大写_以及_下划线(UPPERCASE_WITH_UNDERSCORES)。...预编译的正则表达式:name_re。 受保护的元素以一个下划线为前缀。双下划线前缀只有定义混入类(mixin classes)时才使用。...命名要有寓意, 不使用拼音,不使用无意义简单字母命名 (循环中计数例外 for i in) 命名缩写要谨慎, 尽量是大家认可的缩写 尽量 避免使用全局变量, 用类变量来代替 函数和方法的参数: 类方法:...property函数中使用匿名函数(lambdas)时,匿名函数的第一个参数可以用 x 替代, 例如:display_name = property(lambda x: x.real_name or x.username

    72060

    Python 进阶指南(编程轻松进阶):四、起个好名字

    模块应该用短的,全部小写的名字。 类名要使用PascalCase风格。 常量变量要用大写SNAKE_CASE风格。 函数、方法和变量名应该用小写snake_case书写。...事实上,在 1999 年,当洛克希德·马丁公司提供的软件使用英制标准单位进行计算时,火星气候轨道器机器人太空探测器丢失了,而美国宇航局的系统使用公制,导致了不正确的轨迹。...我不知道这意味着什么,因为我们正在创造的产品与鸟类或下载鸟类毫无关系。当我找到最初编写这个函数的更资深的同事时,他解释说goose是一个动词,意思是“推动引擎”,我也不知道这句话是什么意思。...当你试图调用 Pyperclip 的copy()或paste()函数时,你会得到一个错误,说它们不存在: >>> # Run this code with a file named pyperclip.py...,尤其是当您意外地得到这些has no attribute错误消息时。

    45940

    【从零学习python 】04. Python编程基础:变量、数据类型与标识符

    ) 说明: 所谓变量名,可以理解为箱子,当需要使用变量值,就把对应的箱子拿来。...标识符和关键字 标识符 计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。...思考:下面的标识符哪些是正确的,哪些不正确为什么 fromNo12 (正确) from#12 (错误,不能使用特殊字符) my_Boolean (正确) my-Boolean (错误,不能使用连字符)...起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性) 比如: 名字 就定义为 name , 定义学生 用 student a = "zhangsan" # bad name = "zhangsan...Python的命令规则遵循PEP8标准: 变量名,函数名和文件名全小写,使用下划线连接; 类名遵守大驼峰命名法; 常量名全大写; 关键字 关键字的概念一些具有特殊功能的标识符,这就是所谓的关键字

    13910

    C语言中的字符串处理

    •字符串字面量(字符串常量,在C标准中称为,字符串字面量)如何存储字符串字面量  从本质上而言,C/C++ •字符串字面量(字符串常量,在C标准中称为...当C语言编译器在程序中遇到长度为n的字符串字面量时,它会为字符串字面量分配长度为n+1的内存空间,在末尾增加一个额外的字符——空字符(\0)。...如果编写自己的字符串处理函数,请千万注意要正确地处理空字符。 假设需要变量用来存储最多80个字符的字符串。既然字符串会在末尾处需要空字符,那么要声明的变量是含有81个字符的数组。...调用时,scanf 函数会跳过空白字符,然后读入字符,并且把读入的字符存储到 str 中,知道遇到空白字符为止。scanf 函数始终会在字符串末尾存储一个空字符。...(2) gets 函数会持续读入直到找到换行符才停止(scanf 函数会在任意空白字符处停止)。 此外,gets 函数会忽略掉换行符,而不会把它存储到数组中,用空字符代替换行符。

    1.1K30

    Python - 100天从新手到大师|D1-D7学习笔记

    又又又更新了 PEP8:编程基础与规范代码 Sublime Text - 高级文本编辑器 Sublime Text 在Python编辑中也非常友好,这里就mark一下作者安装包管理的方法及插件推荐吧。...Python PEP8 Autoformat - PEP8规范自动格式化插件。 ConvertToUTF8 - 将本地编码转换为UTF-8。...其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。...D2:语言元素 此节从计算语言出发,主要梳理的常量、变量及逻辑计算。引用 @ zoe 在技能树上的对操作符及逻辑计算的总结图。 ?...add函数时可以传入0个或多个参数 print(add()) print(add(1)) print(add(1, 2)) print(add(1, 2, 3)) print(add(1, 3, 5,

    97010

    关于python中带下划线的变量和函数的意义

    (__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。)...1 变量 常量 : 大写加下划线USER_CONSTANT对于不会发生改变的全局变量,使用大写加下划线。...同时也应该注意一般函数不要使用两个前导下划线(当遇到两个前导下划线时,Python 的名称改编特性将发挥作用)。特殊函数后面会提及。...断言应该用于避免函数不被毫无意义的调用。5.2 不要滥用 *args 和 **kwargs *args 和 **kwargs 参数可能会破坏函数的健壮性。...一个类 : 不要超过 200 行代码,不要有超过 10 个方法。 一个模块 不要超过 500 行。8 验证脚本可以安装一个 pep8 脚本用于验证你的代码风格是否符合 PEP8。

    11.1K42

    python新手应注意的一些小问题

    其他情况,比如列表的下标获取元素时,调用函数或关键字参数赋值时,不要加空格。 6.函数,变量及属性应小写,_分隔,如sort_list。命名应尽量让人清楚,不要拼音。...7.在一个模块里的常量应该应该全大写,如ALL_CONSt 8.判断容器对象是否为空,请用if list:等 9.请不要在写if,while,for等条件语句时,只有单行 10.import语句请放在开头...四、列表推导 不要使用两个以上的列表推导 当使用一个时, a = [ j for j in range(12)] 这样会使人一看就明白,但是为了简洁,超过两个 a = [ i for j in range...七、在函数里的错误处理 在函数里应该把错误抛给调用者,并且在文档里做好说明 def divide(a, b): """ 在b为0的时候,会出现错误 """ try:...,你调用过的值就不会再出现了 九、学会使用关键字参数,可以减少很多工作量 十、最最重要的一点,请为你的每一个函数和类以及模块编写文档!!!!

    1K20

    Python 基础语法

    基本常用函数 函数就是一个功能的集合 3.1 print 3.1.1 print函数的功能 输出一段内容,显示给用户 3.1.2 常用参数 end:输出内容之后默认采用的符号,默认是换行符\n print...变量必须先定义,再调用 定义: name = "zhangsan" age = 18 gender = "male" a_list = [1, 2, 3] 调用: print(name) info =...#正确的变量名 不能以数字开头 1name = 123 #错误的变量名 name1 = 123 #正确的变量名 不能用python中的关键字来作为变量名 print = 123 #错误的示范,语法上不会出错...//不要用 4.4 变量命名规范 PEP8规范:业界定义的一种规范,理论上来讲不需要强制遵守,但是建议采用这种格式 在pycharm当中可以自动的检查代码是否符合PEP8的规范,使用快捷键Ctrl+Alt...+L来进行调整 在定义变量时,尽量使用英文,不要使用拼音的缩写 xuehao = "123456" #错误的命名规范 下划线连接:一般来说,定义变量,函数时采用下划线连接 student_id = "123456

    24510

    关于Python的前后、单双下划线作用,看完这篇文章,吊打面试官!

    重磅干货,第一时间送达 ? 来源:清风python python的各种下划线 在Python中,可能最常见的就是各种常量、变量、函数、方法前后添加的那些下划线了。...,但是万事无绝对,面试官的阴人考点来了: __all__ = ["Name", "_Age"] 当demo1.py在开头声明如上,使用__all__单独声明了可导入内容时,可以正常导入。...首先双前导下划线(__xxx)的命名,90%情况下是真切的私有变量、方法,剩下10%一会儿再说。下来说说双前导下划线的作用,既然为私有属性,那么仅在当前类中可用,外部、子类均无法调用和继承。..._Demo__say_hello() 我们定义一个Demo类,其中存在双前导下划线的__name __say_hello,当我们使用通常的调用方式时,是无法执行的,但Python的私有属性声明时,其实就是将某个私有属性前添加单下划线...装饰器,可以将方法声明为类的属性,当某人调用D.money得到自己余额为100块时,肯定想着我重新赋值余额秒变土豪,但真实的余额我们使用的是私有的self.

    3.3K10
    领券