PEP8 style and Python version differences

Source: Internet
Author: User
Tags instance method

Python interpreter
官方CpythonC语言开发,最广泛的Python解释器IPython一个交互式,功能增强的CpythonPyPyPython语言写的Python解释器,JIT技术,动态编译Python代码JythonPython的源码编译成Java的字节码,跑在JVM上IronPython与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码
Version differences
2.X和3.X区别语句函数化,例如print(1,2)打印出1 2,但是2.x中意思是print语句打印元组,3.x中意思是函数的两个参数整数,例如1/2和1//2,3.x版本中/为自然除3.x中raw_input重命名为input,不在使用raw_inputround函数函数,在3.x中i.5的整数变为距离最近的偶数字符串统一使用Unicode异常的捕获、抛出的语法改变
Follow the PEP8 style guide blanks:
python中的空白(whitespace)会影响代码的含义。python程序员使用空白的时候尤其在意,因为它们还会影响代码的清晰程度。使用space(空格)来表示缩进,而不要用Tab(制表符)和语法相关的每一层缩进都用4个空格来表示每行的字符数不应超过79对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格文件中的函数与类之间应该用两个空格隔开在同一个类中,各方法之间应该用一个空格隔开在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格为变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格,而且只写一个就好
Named:
PEP8提倡采用不同的命名风格来编写python代码中的各个部分,以便在阅读代码时可以根据这些名称看出它们在python语言中的角色函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连,例如lowercase_underscore受保护的实例属性,应该以单个下划线开头,例如_leading_underscore私有的实例属性,应该以两个下划线开头,例如__double_leading_underscore类与异常,应该以每个单词首字母均大写的形式来命名,例如CapitalizedWord模块级别的常量,应该全部采用大写字母来拼写,各单词之间以下划线相连,例如ALL_CAPS类中的实例方法(instance method),应该把首个参数命名为self,以表示该对象自身类方法(class method)的首个参数,应该命名为cls,以表示该类自身
Expressions and statements:
《The Zen of python》(python之禅)中说:“每件事都应该有直白的做法,而且最好只有一种。”PEP8在制定表达式和语法的风格时,就试着体现了这种思想。采用内联形式的否定词,而不要把否定词放在整个表达式的前面,例如,应该写if a not b 而不是if not a is b不要通过检测长度的办法(如if len(somelist) == 0)来判断somelist是否为[]或”等空值,而不是采用if not somelist这种写法来判断,它会假设:空值将自动评估为False检测somelist是否为[1]或‘hi‘等非空值时,也应如此,if somelist语句默认会把非空的值判断为True不要编写单行的if语句、for循环、while循环及except复合语句,而是应该把这些语句分成多行来书写,以示清晰import语句应该总是放在文件开头引入模块的时候,总是应该使用绝对名称,而不应该根据当前模块的路径来使用相对名称。例如,引入bar包中的foo模块时,应该完整地写出from bar import foo,而不应该简写成import foo如果一定要以相对名称来编写import语句,那就采用明确的写法:from.import foo文件中的那些import语句应该按顺序划分成三个部分,分别表示标准库模块、第三方模块以及自用模块。在每一部分,各import语句应该按模块的字母顺序来排列
Points
当编写python代码时,总是应该遵循PEP8风格指南与广大python开发者采用同一套代码风格,可以使项目更利于多人协作采用一致的风格来编写代码,可以令后续的修改工作变得更为容易

PEP8 style and Python version differences

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.