第1 章 Python 入门
001、Python 介绍
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
· 简介
Python 是一种解释型、面向对象的语言。由吉多·范罗苏姆(Guido van Rossum)于
1989 年发明,1991 年正式公布。官网:https://www.python.org/
Python 单词是“大蟒蛇”的意思。但是龟叔不是喜欢蟒蛇才起这个名字,而是正在追
剧:英国电视喜剧片《蒙提·派森的飞行马戏团》(Monty Python and the Flying Circus)。
使用www.python.org 提供的interactive shell 入门Python
·特点
1. 可读性强
可读性远比听上去重要的多得多。一个程序会被反复的修改,可读性强意味着让你
可以在更短时间内学习和记忆,直接提高生产率。
2. 简洁,简洁,简洁
研究证明,程序员每天可编写的有效代码数是有限的。完成同样功能只用一半的代
码,其实就是提高了一倍的生产率。
Python 是由C 语言开发,但是不再有C 语言中指针等复杂数据类型,Python 的
简洁性让开发难度和代码幅度大幅降低,开发任务大大简化。程序员再也不需要关注复
杂的语法,而是关注任务本身。
完成这样的螺旋线,代码只有几行:
import turtle
t = turtle.Pen()
for x in range(360):
t.forward(x)
t.left(59)
3. 面向对象
4. 免费和开源
5. 可移植性和跨平台
Python 会被编译成与操作系统相关的二进制代码,然后再解释执行。这种方式和
java 类似,大大提高了执行速度,也实现了跨平台。
6. 丰富的库(丰富的标准库, 多种多样的扩展库)
7. 可扩展性。可嵌入到C 和C++语言。胶水式语言。
· 应用范围
1. 科学计算
2. 人工智能
3. WEB 服务端和大型网站后端。
YouTube、gmail 等应用基于python 开发。
4. GUI 开发(图形用户界面开发)
5. 游戏开发
6. 移动设备
7. 嵌入式设备
8. 系统运维
9. 大数据
10. 云计算
· 什么时候不应该用Python
Python 是解释执行。性能较低。
因此,一些影响性能的功能可以使用C/C++/JAVA/GO(GO 是一种新语言,写 起了像Python,性能像C)去开发。
不过,不用担心Python 解释器会越来越快。
· 版本和兼容问题解决方案
目前主要两个版本:Python2 和Python3
Python2:
2000 年10 月发布。最新版本是2.7,已经停止更新,不会再有2.8 以后了。预计
2020 年退出历史舞台。
Python3:
2008 年发布。Python3 有了较大的提升,不兼容Python2。
兼容问题解决:
- Python3 的很多新特性也被移植到了Python2.7,作为过渡。如果程序可以在2.7
运行,可以通过一个名为2to3(Python 自带的一个脚本)的转换工具无缝迁移到Python3. - 建议大家学习从Python3 开始,毕竟这才是未来。
· Python 解释器
Python 程序的执行依赖于Python 解释器。常用的Python 解释器有:
1. CPython
使用c 语言实现的解释器,最常用的解释器。通常说的解释器指的就是它。
2. Jython
使用java 语言实现的解释器。Jython 可以直接调用java 类库,适合在java 平台上开
发
3. IronPython
.NET 平台上使用的解释器。可直接调用.NET 平台的类,适合.NET 平台上开发
4. PyPy
使用Python 语言实现的解释器
002、Python 开发入门
Python 下载安装和配置
- 进入官网:https://www.python.org/downloads/
- 下载
- 安装(和安装一般软件区别不大)
- 环境变量问题
勾选:“Add Python to environment variable”。这样就会将Python 添加到环境
变量Path 中,我们可以在windows 的命令行模式下运行Python 解释器。
问题:由于dll 缺失造成安装出错:
下载dll 修复软件,运行修复即可,重启计算机。
Python 开发环境
开发环境,英文是IDE(Integrated Development Environment 集成开发环境)。
不要纠结于使用哪个开发环境。开发环境本质上就是对Python 解释器python.exe 的
封装,核心都一样。可以说:“开发环境IDE,只是解释器的一个外挂而已”,只是为了让
程序员更加方便编程,减少出错率,尤其是拼写错误。
常用的开发环境如下:
- IDLE
- Pycharm
- wingIDE
- Eclipse
- IPython
交互模式(脚本shell 模式)
1. 进入命令行窗口,输入:python
2. >>>即为“提示符”
3. 关闭交互窗口:
(1) Ctrl+Z 和回车
(2) 输入quit()命令
(3) 直接关闭命令行窗口
4. 中断程序执行:ctrl+C
交互模式工作原理和Python 处理文件的方式一样。除了一点:当你输入一些值时,交
互模式会自动打印输出。Py 文件中则必须使用print 语句。
003、IDLE 开发环境使用入门
IDLE 介绍
- IDLE 是Python 的官方标准开发环境,Python 安装完后同时就安装了IDLE。
- IDLE 已经具备了Python 开发几乎所有功能(语法智能提示、不同颜色显示不同类型等
等),也不需要其他配置,非常适合初学者使用。 - IDLE 是Python 标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、
调试器等基本组件,足以应付大多数简单应用。 - IDLE 是用纯Python 基于Tkinter 编写,最初的作者正是Python 之父Guido van
Rossum。
IDLE 实操
- 交互模式
启动IDLE,默认就是进入交互模式。 - 编写和执行Python 源文件
IDLE 常用快捷键
快捷键 | 说明 |
---|---|
Alt+N Alt+P | 查看历史命令上一条、下一条 |
Ctrl+F6 | 重启shell,以前定义的变量全部失效 |
F1 | 打开帮助文档 |
Alt+/ | 自动补全前面曾经出现过的单词 |
Ctrl+[ Ctrl+] | 缩进代码和取消缩进 |
Alt+M | 打开模块代码,先选中模块,然后按下此快捷键,会帮你打开改模块的py 源码供浏览 |
Alt+C | 打开类浏览器,方便在源码文件中的各个方法体之间切换 |
F5 | 运行程序 |
004、第一个Python 源程序
源码
print("a")
print("b")
print("c")
将源代码保存
在IDLE 中单击F5 或者run–>run module 执行这个源程序。
第一个Python 程序中需要注意的小要点:
- 不要在程序中,行开头处增加空格。空格在Python 中有缩进的含义。
- 符号都是英文符号,不是中文。比如:(,”
005、程序基本格式
- 恰当的空格,缩进问题
(1) 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句
的分组。
(2) 语句从新行的第一列开始。
(3) 缩进风格统一:
1 每个缩进层次使用单个制表符或四个空格(IDE 会自动将制表符设置成4 个
空格)
2 Python 用缩进而不是{}表示程序块 - Python 区分大小写
- 注释
(1) 行注释
每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容
(2) 段注释
使用三个连续单引号(’’’)。当解释看到’’’,则会扫描到下一个’’’,然后忽略他们
之间的内容。
006、开始学习图形化程序设计
为了让初学者更加容易接受编程,我们这里先从海龟画图开始讲解。这样,大家在不接触其他编程概念时,就能开始做出一些简单的效果。提高兴趣,寓教于乐。
import turtle # 导入turtle模块
turtle.showturtle() # 显示箭头
turtle.write("高") # 写字符串
turtle.forward(300) # 前进300像素
turtle.color("red") # 画笔颜色改为red
turtle.left(90) # 箭头左转90度
turtle.forward(300)
turtle.goto(0,50) # 去坐标(0,50)
turtle.goto(0,0)
turtle.penup() # 抬笔。这样,路径就不会画出来
turtle.goto(0,300)
turtle.pendown() # 下笔。这样,路径就会画出来
turtle.circle(100) # 画圆
006、绘制奥运五环标记
import turtle # 导入turtle模块
turtle.width(10) # 画笔宽度设置为10像素
turtle.color("blue") # 画笔颜色设置为蓝色blue
turtle.circle(50) # 画圆
turtle.penup() # 抬笔。
turtle.goto(120,0) # 下笔
turtle.pendown()
turtle.color("black")
turtle.circle(50)
turtle.penup()
turtle.goto(240,0)
turtle.pendown()
turtle.color("red")
turtle.circle(50)
turtle.penup()
turtle.goto(60,-50)
turtle.pendown()
turtle.color("yellow")
turtle.circle(50)
运行结果:
007、python程序的构成
(一)对象
Python中一切皆对象,每个对象由:标识(identity)、类型(type)、值(value)组成。
对象的本质是:一个内存块,拥有特定的值,支持特定类型的相关操作。
-
标识用于唯一标识对象,通常对应于对象在计算机内存中的地址,使用内置函数id(obj)可返回对象obj的标识。id()
-
类型用于表示对象存出的数据类型,类型可限制对象的取值范围以及可执行的操作。type()
-
值表示对象所存储的数据的信息,使用print(obj)可以直接打印出值。
>>> a = 3
>>>
>>> a
3
>>> id(3)
140728924611024
>>> type(3)
<class 'int'>
>>> b = "我爱你"
>>> id(a)
140728924611024
>>> print(a)
SyntaxError: unexpected indent
>>> print(a)
3
>>> type(b)
<class 'str'>
>>> id(b)
2501798723472
(二)标识命名规则
(三)变量的声明和赋值
(四)删除变量和垃圾回收机制
>>> a = 123
>>> a
123
>>> del a
>>> a
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
a
NameError: name 'a' is not defined
008、本章实操作业
-
建立Python 开发环境,并完成第一个Python 程序。将整个过程使用图文描述出来。
-
根据老师代码,完成奥运五环的绘图程序
import turtle # 导入turtle模块
turtle.width(10) # 画笔宽度设置为10像素
turtle.color("blue") # 画笔颜色设置为蓝色blue
turtle.circle(50) # 画圆
turtle.penup() # 抬笔。
turtle.goto(120,0) # 下笔
turtle.pendown()
turtle.color("black")
turtle.circle(50)
turtle.penup()
turtle.goto(240,0)
turtle.pendown()
turtle.color("red")
turtle.circle(50)
turtle.penup()
turtle.goto(60,-50)
turtle.pendown()
turtle.color("yellow")
turtle.circle(50)
- 使用海龟绘图,输出四个矩形:
# 绘制四个矩形
import turtle # 导入turtle模块
turtle.width(2) # 画笔宽度设置为2像素
turtle.color("brown") # 画笔颜色设置为棕色
turtle.goto(50,0) # 画笔移动到坐标(50,0)
turtle.goto(50,-50)
turtle.goto(0,-50)
turtle.goto(0,0)
turtle.penup() # 抬起画笔
turtle.goto(70,0)
turtle.pendown() # 放下画笔
turtle.goto(120,0)
turtle.goto(120,-50)
turtle.goto(70,-50)
turtle.goto(70,0)
turtle.penup()
turtle.goto(70,-70)
turtle.pendown()
turtle.goto(120,-70)
turtle.goto(120,-120)
turtle.goto(70,-120)
turtle.goto(70,-70)
turtle.penup()
turtle.goto(0,-70)
turtle.pendown()
turtle.goto(50,-70)
turtle.goto(50,-120)
turtle.goto(0,-120)
turtle.goto(0,-70)