很多初学Python的同学经常问我这样的问题:学Python应该看什么书啊?我会非常自信的把之前整理的Python教程扔给他,后来收到很多反馈:你的排版太烂了,你遗漏了好多知识点,能不能加一点练习题?

经过较长时间的反思,准备整理第二版Python基础教程–菜鸟学Python,第二版会加上自己这一段时间来学习python过程中的一些感悟,走过的弯路,毕竟之前的自己还是太嫩了,会补充之前遗漏的知识点,同时会增加一些练习题和面试题,希望帮助大家轻松愉快,由浅入深的学习Python。

/ 01 / 什么Python?

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python的源代码同样遵循GPL(GNU General Public License)协议。本教程基于Python3,Python的3.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python3.0在设计的时候没有考虑向下兼容。

那么这里会有一个面试题:

Python2.0和Python3.0的区别?

print 函数
print语句没有了,取而代之的是print()函数。Python2.6与Python 2.7部分地支持这种形式的print语法。在Python2.6与Python2.7里面,以下三种形式是等价的:

1print "fish"
2print ("fish"#注意print后面有个空格
3print("fish"#print()不能带有任何其它参数

Unicode

Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。

现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。

除法运算

敲黑板,这里非常重要!

Python中的除法较其它语言显得非常高端,有套很复杂的规则。Python中的除法有两个运算符,/和//

首先来说/除法:

在python2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。

在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。

1#Python 2.x:
2>>> 1 / 2
30
4>>> 1.0 / 2.0
50.5
6
7#Python 3.x:
8>>> 1/2
90.5

而对于//除法,这种除法叫做floor除法,会对除法的结果自动进行一个floor操作,在python 2.x和python 3.x中是一致的。

1#python 2.x:
2
3>>> -1 // 2
4-1
5
6#python 3.x:
7
8>>> -1 // 2
9-1
注意的是并不是舍弃小数部分,而是执行floor操作,如果要截取整数部分,那么需要使用math模块的trunc函数。

异常

在 Python 3 中处理异常也轻微的改变了,在Python3中我们现在使用 as 作为关键词。

捕获异常的语法由 except exc, var 改为 except exc as var

使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。 Python 2.6已经支持这两种语法。

  • 1. 在2.x时代,所有类型的对象都是可以被直接抛出的,在3.x时代,只有继承自BaseException的对象才可以被抛出。
  • 2. 2.x raise语句使用逗号将抛出对象类型和参数分开,3.x取消了这种奇葩的写法,直接调用构造函数抛出对象即可。

在2.x时代,异常在代码中除了表示程序错误,还经常做一些普通控制结构应该做的事情,在3.x中可以看出,设计者让异常变的更加专一,只有在错误发生的情况才能去用异常捕获语句来处理。

以上的答案节选自菜鸟教程,并不是特别完整,大家可以看看知乎上的答案。
https://www.zhihu.com/question/19698598

/ 02 / 环境搭建

Python3下载:

Python官网:https://www.python.org/

选择响应的平台和版本进行下载。

Python 安装:

以Window平台安装Python为例,访问:

https://www.python.org/downloads/windows/

一般就下载executable installer,x86 表示是32位,x86-64表示64位。

勾选 Add Python 3.6 to PATH

按 Win+R 键,输入 cmd 调出命令提示符,输入 python回车:

跟上图一样就表示你已经安装成功

对于编译器大家随意吧,我用的是pycharm,后台回复【python安装包】可以获得pycharm和python的安装包。

/ 03 / 基础语法

标识符跟其他语言的命名规范基本类似:

  • 第一个字符必须是字母表中字母或下划线 _
  • 标识符的其他的部分由字母、数字和下划线组成。
  • 标识符对大小写敏感。

以下划线开头的标识符是有特殊意义的。

注:

单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;
双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

保留字:任何语言都有自己的保留字,Python提供了一个keyword模块,可以输出当前版本的所有关键字。

1>>> import keyword
2>>> keyword.kwlist
3['False''None''True''and''as''assert''break'4'class''continue''def''del''elif''else''except',
5 'finally''for''from''global''if''import''in',
6 'is''lambda''nonlocal''not''or''pass''raise'7'return''try''while''with''yield']

注释:python中的注释有#单行注释,”’ ”’和”””  “””多行注释。

1# 单行注释
2'''
3多行注释
4'''
5"""
6多行注释
7"""

行与缩进:python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {},这个地方是很多初学者特别容易出错的地方,虽然缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

如果出现下面的错误,那么你要去检查你的代码是不是因为缩进而出现的错误。

1IndentationError: unindent does not match any outer indentation level

import 与 from…import:

在 python 用 import 或者 from…import 来导入相应的模块。

将整个模块(somemodule)导入,格式为:

1import module

从某个模块中导入某个函数,格式为:

1from module import function

从某个模块中导入多个函数,格式为:

1 from module import func, func, func

将某个模块中的全部函数导入,格式为:

1from module import *

多行与一行显示语句:

Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句;当然也以在同一行中使用多条语句,语句之间使用分号(;)分割。

1total = item_one + 
2        item_two + 
3        item_three
1 x = 'Ahab杂货铺'; print(x)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。