文章目录
前言
python 技能树学习总结。
1 python简介
1.1 python 定义
- python 是解释型语言:开发过程没有编译这个环节。
- python 是交互式语言:可以在一个 python 提示符 >>> 后直接执行代码。
- python 是面向对象语言:python 支持代码封装在对象(数据+方法)的编程技术。
解释和编译的区别:
- 解释程序不产生目标代码;编译将源程序翻译成可执行的机器语言或汇编语言,再运行。
- 解释程序可跨平台使用;编译程序跨平台性不好。
- 解释程序可以随时修改,立即生效;编译程序不行。
- 解释程序运行效率低;编译程序执行速度快。
1.2 python 2.0 与 python 3.0 的区别
- 输出方面
python 2.0 使用 print 关键字,比如:print ‘‘Hello’’;
python 3.0 使用 print() 函数,比如:print(“Hello”)。 - 输入方面
Python2.0 使用raw_input()函数,比如:name=raw_input(“请输入你的名字:”);
Python3.0 使用input()函数,比如:name=input(“请输入你的名字:”)。 - 字符串的编码格式
Python2.0 默认采用ASCII编码对输入的字符串进行编码;
Python3.0 默认采用Unicode编码对字符串进行编码。 - 格式化字符串的方式
Python2.0 用%占位符进行标准化格式输出字符串,比如:‘‘Hello,%s" % (“World”);
Python3.0 用format()函数,比如:’‘Hello,{}’’.format(“World”)。 - 源文件的编码格式
Python2.0 默认采用ASCII,因此使用中文时要在源文件开头加上一行注释:# – coding: utf-8 --;
Python3.0 默认采用utf-8。 - 数据类型
python2.0 有整型int、长整型long
python3.0 只有整型int - 代码规范
python 2.0 源码不规范,重复代码很多
python 3.0 源码精简,美观、优雅
1.3 Python编译和运行过程
首先将Python源代码(.py 文件)编译生成Python字节码(Python Byte Code,字节码文件的扩展名一般是 .pyc),然后再由Python虚拟机(Python Virtual Machine,简称PVM)来执行Python字节码,最后在终端输出运行结果。
Python是一种解释型语言,指的是解释Python字节码,而不是Python源代码。
2 程序设计思想
2.1 基本的程序设计模式
任何的程序设计都包含IPO,它们分别代表如下:
- I:Input 输入,程序的输入
- P:Process 处理,程序的主要逻辑过程
- O:Output 输出,程序的输出
2.2 模块实现三步骤
因此如果想要通过计算机实现某个功能,那么基本的程序设计模式包含三个部分,如下:
- 确定IPO:明确需要实现功能的输入和输出,以及主要的实现逻辑过程;
- 编写程序:将计算求解的逻辑过程通过编程语言进行设计展示;
- 调试程序:对编写的程序按照逻辑过程进行调试,确保程序按照正确逻辑正确运行。
3 编码规范
3.1 代码编码格式
python 代码的开头添加:
# --coding:utf-8 --
表示使用统一码进行编码
3.2 缩进规则
python 采用代码缩进和冒号(:)来区分代码块之间的层次。
一般缩进使用4个空格实现,而不是Tab键实现。
3.3 注释
# 单行,一般行注释
'''
多行,一般块注释、文档注释
'''
3.4 命名规范
模块名:小写,下划线。
import module
import module_basics
变量:小写,下划线。重复可以在变量名后加下划线_。
count = 0
is_empty = Ture # bool变量
常量或全局变量:大写,下划线。
MAX_SIZE = 500
函数:小写,下划线。私有函数在函数名前加下划线_。
def run():
pass
def run_with_env()
pass
class Person:
def _private_func(self):
pass
类:驼峰(CamelCase)风格。
class Case:
pass
class CamelCase(Case):
pass
3.5 Main
def main():
...
if __name__ == '__main__':
main()
4 模块管理
4.1 模块、包
模块 module:一般情况下,是一个.py为后缀的文件。
来源:
(1)标准库
(2)第三方模块
(3)自定义模块
包 package:当一个文件夹下有__init__.py 时,意味着该文件夹是一个包,其下的多个模块 module构成一个整体,通过一个包 package导入其他代码中。其中__init__.py用于管理各个模块,当导入包时会先加载它。
4.2 导入
import module as mod # mod为module别名
import package # 执行__init__.py
import item.subitem.subsubitem
# 最后一项前都是包,最后一项可以是模块或包
from package import module
from module import function,variable