跳至主要內容

简介

Sankgao约 1285 字大约 4 分钟LanguagesPython

Python 的历史

1989 年,Python 之父 Guido van Rossum 在阿姆斯特丹为了打发圣诞节的闲暇时间,开发了一门解释型编程语言。国内社区通常将 Guido van Rossum 简称为 “龟叔”,“龟” 的发音取自 Guido 中的 “Gui”。

Python 的特点

Python 之所以受到大家的欢迎,是因为它有很多优秀 “品质”。

  • 简单、易学、免费、开源:Python 简单、易学。我们可以自由发布其复制版本,阅读、修改其源代码,将其(部分)用于新软件中
  • 解释型:Python 是边解释边执行的,Python 解释器会将源代码转换为中间字节码形式,然后将其解释为机器语言并执行
  • 可移植:Python 解释器已被移植在许多平台上,Python 程序无须经过修改就可以在多个平台上运行
  • 代码规范:Python 所采用的强制缩进的方式,使得其代码具有极佳的可读性
  • 面向对象:与 C++ 和 Java 等相比,Python 以强大而简单的方式实现了面向对象编程
  • 胶水语言:标准版本的 Python 调用 C 语言,并可以借助 C 语言的接口驱动调用所有编程语言
  • 丰富的库:Python 的标准库种类繁多,可以帮助处理各种工作,我们不需要安装就可以直接使用这些库
  • 动态类型:Python 不会检查数据类型,在声明变量时不需要指定数据类型

Python 编写方式

编写和运行 Python 程序主要有两种方式:

  1. 交互方式:指我们每写一行 Python 代码,就可以敲回车键来运行和调试代码
  2. 文件方式:指先编写好 Python 代码文件(*.py),然后通过 Python 指令运行,保存文件时,文件命名推荐全部小写英文字母,后缀名必须为 .py,文件编码为 UTF-8

代码缩进

缩进可以使用空格或者 Tab 键实现。使用空格时,一般采用 4 个空格作为一个缩进量,而使用 Tab 键时,采用 1 个 Tab 键作为一个缩进量。

提示

通常情况下建议采用空格进行缩进

编写规则

  • 每个 import 语句只导入一个模块,尽量避免一次导入多个模块

    import os  # 推荐写法
    import os, sys  # 不推荐写法
    
  • 不要在行尾添加分号(;),也不要用分号将两条命令放在同一行,不规范语法:

    x = 20;
    x = 20; y = 30
    
  • 建议每行不超过 80 个字符,如果超过,建议使用小括号(())将多行内容隐式的连接起来,而不推荐使用反斜杠(\)进行连接

    # 推荐写法
    txt = ("1989年,Python 之父 Guido van Rossum 在阿姆斯特丹为了打发圣诞节的闲暇时间,开发了一门解释型编程语言。"
           "国内社区通常将 Guido van Rossum 简称为 “龟叔”,“龟” 的发音取自 Guido 中的 “Gui”。")
    
    # 不推荐写法
    txt = ("1989年,Python 之父 Guido van Rossum 在阿姆斯特丹为了打发圣诞节的闲暇时间,开发了一门解释型编程语言。\
       国内社区通常将 Guido van Rossum 简称为 “龟叔”,“龟” 的发音取自 Guido 中的 “Gui”。")
    

    以下两种情况除外:

    • 导入模块的语句过长
    • 注释里的 URL
  • 使用必要的空行增加代码的可读性。一般在顶级定义(如:函数或类的定义)之间空两行,而方法定义空一行

  • 通常情况,运算符两侧、函数参数之间、“,” 号两侧建议使用空格进行分隔

  • 应该避免在循环中使用 “+” 和 “+=” 运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象,推荐将每个字符串加入列表,然后在循环结束后使用 join() 方法连接列表

  • 适当使用异常处理结构提高程序的容错性,但不能过多依赖异常处理结构,适当的显示判断还是必要的

命名规范

  • 模块名尽量短,并且全部使用小写字母,可以使用下划线(_)分隔多个字母
  • 包名尽量短,并且全部使用小写字母,不推荐使用下划线(_
  • 类名采用单词首字母大写形式(即:驼峰风格命名)
  • 模块内部的类采用下划线(_)+ 驼峰风格的类名组成
  • 函数、类的属性、方法的命名全部使用小写字母,多个字母间用下划线(_)分隔
  • 常量命名时全部使用大写字母,可以使用下划线(_
  • 使用单下划线(_)开头的模块变量或函数是受保护的,在使用 from <模块名> import <代码元素> 语句从模块中导入时,这些变量或函数不能被导入
  • 使用双下划线(__)开头的实例变量或方法是类私有的