2400字整理Python编码规范,肝了一晚上~

对任何一门语言来说,学习编码规范都是第一要务,它制定了“游戏规则”,约束了我们的行动,我们只有在这个规则内编码才能被正确执行。想要写好Python代码,了解Python相关编码规范也是必要的。

接下来跟着我一起来了解一下吧~

1、解释型语言

Python 是一种解释型语言,不需要编译和链接,因此可以节省大量开发时间,但牺牲的是运行效率。

注:还有一种是编译型语言,比如C、Java等,需要有一个编译过程,编译成机器码执行,因此比解释型语言运行效率高,但开发调试没有解释型语言方便。

2、动态编程语言

由于Python是动态编程语言,所以在定义变量时并不需要事先指定变量的数据类型,变量的定义和初始化是同时进行的。Python解析器会根据初始化值的数据类型动态确定变量的类型。

注:与之对应的是静态编程语言,比如C、Java等,变量使用之前需要声明,且在其生命周期内不能改变!

举个栗子~

a = 1
b = True
c = "hello world"
print("a的数据类型:" ,type(a))
print("b的数据类型:" ,type(b))
print("c的数据类型:" ,type(c))
c = 3.5
print("c的数据类型:" ,type(c))

输出如下:

从输出结果可以看出,变量赋值时,相应的数据类型也已确定了。并且变量的数据类型是随时可以改变的,可以看到变量c先是字符串类型,后来变为浮点型,真是太灵活了!

3、字符编码

一般来说,Python的编码格式为UTF-8。但在Python2中,如果Python源码文件没有声明编码格式,Python解释器会默认使用ASCII编码,因此需要在开头统一加上编码格式声明。

# -- coding: utf-8 --

Python3 中字符默认编码是 UTF-8,所以无需再显示声明编码格式。

如果需要改成其他的编码格式,可以在Python源文件的第一行加上如下声明。

# -*- coding: gbk -*-

4、无需分号

在C、Java等大众编程语言中,需要在每个语句的末尾添加分号,但Python并非如此。Python奉行大道至简,你不需要添加不必要的字符和语法。在Python中,一条语句结束于一行的结尾(方括号,引号或括号除外)

a = 1
print(a)

simple is best!

5、多行拼接

显示拼接行:两个及两个以上的物理行可用反斜杠()拼接为一个逻辑行。

if 1900 < year < 2100 and 1 <= month <= 12 
				and 1 <= day <= 31 and 0 <= hour < 24 
				and 0 <= minute < 60 and 0 <= second < 60:                   # Looks like a valid date
								return 1

以反斜杠结尾的行,不能加注释;反斜杠也不能拼接注释。

隐式拼接行:Python会将圆括号、中括号和花括号中的行隐式的连接起来。圆括号、方括号或花括号以内的表达式允许分成多个物理行,无需使用反斜杠。例如:

number_names = ['1', '2', '3',      # 111
															'4', '5', '6']      # 222

隐式的行拼接可以带有注释。后续行的缩进不影响程序结构。后续行也允许为空白行。

6、缩进风格

与C、Java用 {}来定义代码块不同,Python使用缩进来区分不同的代码块,所以对缩进有严格要求。一般是以4个空格为缩进单位,相同逻辑层(同一个代码块)中的各行代码,缩进量必须一致。

我们来小试一下~

isPrint = False
if isPrint:
    print("1")
    print("2")
print("3")

可以看到,只会输出3:

再看一个栗子~

a = 1
    print(a)

运行出错:unexpected indent,print(a)属于单独代码块,需要顶格。

7、输入输出

学习一门语言,最有成就的就是看到程序跑通,输出“Hello world”。

Python中输入输出非常简单,常用的就是input()函数与print()函数。

print() 默认输出是换行的,如果要实现不换行需要在变量末尾加上end="";变量与字符串同时输出或多个变量同时输出时,需用, 隔开各项。

print("1")
print("2的4次幂是", end="")
print(2**4)

其实,end定义了语句结尾以什么符号分割。

input() 接收一个字符串类型的参数,作为输入提示,返回值即用户在命令行中录入的值,不管用户录入什么数据,都会以字符串形式返回。

name = input("请输入你的名字:")
print(name, type(name))
age = input("请输入你的年龄:")
print(age, type(age))

可以看到,即使我们输入了数字,输出的类型也还是字符串!

8、注释

编码过程中,注释必不可少,Python中主要有单行注释(#开头)与多行注释(3个单引号/双引号)

# 单行注释
"""
多行注释
"""
'''
多行注释
'''

9、空行

使用必要的空行可以增加代码的可读性,通常在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行,另外在用于分隔某些功能的位置也可以空一行。

def say_hi():
    print("say hi")


def print_hi(name=5):
    print("print hi")

10、制表符还是空格

强烈推荐仅使用空格而不用制表符,因为制表符和空格的不同会导致 Python 解释为两个不同的层次。

空格使用规则:

# 正确示例代码
person(name[1], {addr: 2}, [])

if x == 1:
    print x, y
x, y = y, x

a['key'] = list[index]

def complex(real, imag=0.0): return magic(r=real, i=imag)
# 错误示例代码:
person( name[ 1 ] , { addr: 2 } , [ ] )

if x == 1 :
    print x , y
x , y = y , x

a ['key'] = list [index]

def complex(real, imag = 0.0): return magic(r = real, i = imag)

好在现在的IDE基本都能检查出来这些语法错误,并能够快速的标准格式化。

11、下划线

Python中下划线有着特殊的含义,总的来说有以下几点(其实挺烦的,毕竟下划线很难敲):

12、命名规范

Python中的变量名要遵循一定的规则,如果违反,在运行Python的时候就会引发错误,一般要遵循以下原则:

ProductName = "AAA" # 大驼峰
productName = "BBB" # 小驼峰
_product_name = "CCC" # 下划线
11productName = 11 # 不能以数字开头
MAX_COUNT = 10
class Farm():
    pass

    
class AnimalFarm(Farm):
    pass


class _PrivateFarm(Farm):
    pass
def run():
    pass

    
def run_with_env():
    pass

    
class Person():
    def _private_func():
        pass
import os
import sys
展开阅读全文

页面更新:2024-05-17

标签:斜杠   下划线   括号   空格   注释   变量   数据类型   函数   开头   晚上   代码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top