跳至主要內容

Python

LincZero大约 6 分钟

Python

目录

[toc]

语言起步

学习资料

进度笔记

  • Python官网手册编写(主要参考
    • 跳着看

看完了的:

  • 《Python编程入门(第三版)Toby Donaldson著》
    • 进度:看完了
    • 书评:大学用书,书薄、很浅
  • 《Python编程 从入门到实践》
    • 进度:看完了教程,实战篇没看。书送给堂弟了
    • 书评:简单入门,但不是很全,内容较浅。其中有很多东西都没有涉及到
      • 比如:python的类成员是实例共享还是创建副本、异步await、多线程等
      • 没讲单一副本的类变量、也没讲私有方法和属性啊,太简略了

文档资源

网站文档

工具

  • 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/
终端中使用pythoncmd执行python
安装文本编辑器Python自带IDLEIntegrated 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] 被设定为 '-'
  • 使用 -copen in new window 指令 时,sys.argv[0] 被设定为 '-c'
  • 使用 -mopen in new window 模块 参数时,sys.argv[0] 被设定为指定模块的全名
  • -copen in new window 指令 或者 -mopen in new window 模块 之后的参数不会被 Python 解释器的选项处理机制所截获,而是留在 sys.argv 中,供脚本命令操作

解释器环境

默认情况下,Python 源文件是 UTF-8 编码。在此编码下,全世界大多数语言的字符可以同时用在字符串、标识符和注释中 — 尽管 Python 标准库仅使用 ASCII 字符做为标识符,这只是任何可移植代码应该遵守的约定。

你也可以为源文件指定不同的字符编码。为此,在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码:

# -*- coding: encoding -*-

比如有时会在Linux出现编码失败错误,也可以显式标明使用utf-8进行编码

# coding=utf-8	

注释

#单行注释

'''包括多行注释的内容