Python
大约 6 分钟
Python
目录
[toc]
语言起步
学习资料
进度笔记
- Python官网手册编写(主要参考)
- 跳着看
看完了的:
- 《Python编程入门(第三版)Toby Donaldson著》
- 进度:看完了
- 书评:大学用书,书薄、很浅
- 《Python编程 从入门到实践》
- 进度:看完了教程,实战篇没看。书送给堂弟了
- 书评:简单入门,但不是很全,内容较浅。其中有很多东西都没有涉及到
- 比如:python的类成员是实例共享还是创建副本、异步await、多线程等
- 没讲单一副本的类变量、也没讲私有方法和属性啊,太简略了
文档资源
网站文档
- 官网 - en
- 手册
- 官网文档 - 中文版(英文版)
- 菜鸟 - 官网手册(和官网文档是一样的,但:排版更好看、单页面应用、多了全局大纲但少了二级以上的大纲目录)
- 腾讯云 - 手册(含Tkinter)
- 菜鸟 - 教程 - py2
- 菜鸟 - 教程 -py3
- 菜鸟 - 编码规范
- 官网文档 - 术语对照表
工具
- IDLE中F1自带chm文档,不过是全英的
优质博客文章收藏
学习用书
其实更推荐直接去看官网文档,深入学习不推荐看书 (划掉,后两本挺深入的)
下面的书大致按从浅到深排
- **《Python编程入门(第三版)》**Toby Donaldson著 翻译书
- 进度:看完了
- 简评:大学被迫学习用书,书薄、很浅、是我见过的内容最少的Python书了
- **《Python编程 从入门到实践》**Eric Matthes著 袁国忠译
- 图灵系列丛书
- 进度:看完了教程,实战篇没看
- 优点:浅,适合入门,有三个项目
- 缺点:入门的部分比较浅,涉及面不广,其中有很多东西都没有说,太简略了 比如:python的类成员是实例共享还是创建副本、异步await、多线程等 没讲单一副本的类变量、也没讲私有方法和属性啊
- 《Python基础教程(第3版)》[挪] Magnus Lie Hetland著 袁国忠 译
- 图灵系列丛书
- 进度:无,只看目录
- 优点
- 实战项目多,项目部分有足足10个
- 深度适中
- **《Python学习手册(第4版)》**Mark Lutz著 李军 刘红伟译
- O'REILLY系列丛书
- 进度:无,只看目录
- 优点:
- 非常深!并且不会只教你怎么用,还会告诉你为什么,原理是什么。而且规范性好 如果之前有过C或其他语言基础的看这个或者会更好 比如有:解释器原理、OOP概念、多重继承
- 很全!还有运算符重载、迭代器生成器、静态方法、装饰器、元类等
- 缺点
- 我有的那个电子书的目录向导做得不是很好,emmm我有两本,好像另一本的大纲更好
- 没有实战项目
- **《Python Cookbook(第三版)》**熊能
- 进度:无,只看目录
- 作者自己在序章中说:这本书不适合 Python 的初学者
- 优点
- 好像是中国人写的,不是翻译本
- 很全!有:元编程、并发编程、测试、C语言扩展等内容
语言特点
- 语言
- 语言的名字来自于 BBC 的 “Monty Python’s Flying Cirecus” 节目,和爬行类动物没有任何关系
- 特点
- 解释型语言,无需编译和链接
- 解释器可以交互的使用,这使得试验语言的特性、编写临时程序或在自底向上的程序开发中测试方法非常容易
- 优点
- 易于使用
- 紧凑和可读。用 Python 编写的程序通常比同样的 C、C++ 或 Java 程序更短小,这是因为以下几个原因:
- 高级数据结构使你可以在一条语句中表达复杂的操作;
- 语句组使用缩进代替开始和结束大括号来组织;
- 变量或参数无需声明。
- 提供了比 C 更多的错误检查
- 内置支持高级的数据结构类型,例如:灵活的数组和字典
- 可扩展
- 如果你会 C 语言编程便可以轻易地为解释器添加内置函数或模块
- 可以将 Python 解释器集成进某个 C 应用程序,并把它当作那个程序的扩展或命令行语言
语言书写风格
- 程序结构风格:缩进风格
- Python之禅:
import this
- 代码规范:
PEP8
一些风格
- 命名规范
- 类名:大驼峰命名法
- 实例名和模块名:下划线命名法
- 空行
- 类中使用一个空行分割方法
- 模块中使用两个空行分割类
- 文件尾使用一个空行
环境安装
Linux
步骤 | 描述 |
---|---|
安装 | 大多数Linux计算机中都默认安装了Python,几乎不用安装 |
检查python2版本 | 终端执行python |
检查python3版本 | 终端执行python3 |
安装文本编辑器 | 终端执行sudo apt-get install geany |
OS X
略
Windows
步骤 | 描述 |
---|---|
安装 | 官网下载并安装:http://python.org/downloads/ |
终端中使用python | cmd执行python |
安装文本编辑器 | Python自带IDLE (Integrated Development and Learning Environment)该书介绍 Geany ,但我没用过 |
解释器与交互
调用解释器
这点解释性语言特有,编译性语言没有
调用Python解释器的几种方法
- cmd输入
python
并回车,进入python模式。按ctrl+z
或输出exit()
或quit()
退出解释器(Linux、Winodws等均可用) - 使用安装python时自带的
IDEL
- 额外安装
Anaconda
并在终端模式输入Jupyter Notebook
并回车
参数传递
调用解释器时,脚本名和附加参数传入一个名为 sys.argv
的字符串列表。你能够获取这个列表通过执行 import sys
,列表的长度大于等于1;
- 没有给定脚本和参数时,它至少也有一个元素:
sys.argv[0]
此时为空字符串 - 脚本名指定为
'-'
(表示标准输入)时,sys.argv[0]
被设定为'-'
- 使用 -c 指令 时,
sys.argv[0]
被设定为'-c'
- 使用 -m 模块 参数时,
sys.argv[0]
被设定为指定模块的全名 - -c 指令 或者 -m 模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在
sys.argv
中,供脚本命令操作
解释器环境
默认情况下,Python 源文件是 UTF-8 编码。在此编码下,全世界大多数语言的字符可以同时用在字符串、标识符和注释中 — 尽管 Python 标准库仅使用 ASCII 字符做为标识符,这只是任何可移植代码应该遵守的约定。
你也可以为源文件指定不同的字符编码。为此,在 #!
行(首行)后插入至少一行特殊的注释行来定义源文件的编码:
# -*- coding: encoding -*-
比如有时会在Linux出现编码失败错误,也可以显式标明使用utf-8
进行编码
# coding=utf-8
注释
#
单行注释
'''
包括多行注释的内容