Python介绍
python是一种解释型语言、面向对象语言。
特点
- 可读性强。
可读性比听上去要重要的多。一个程宇会被反复的修改,可读性强意味着让你可以在更短时间学习和记忆。
- 简洁~
研究证明,程序员每天写的有效代码是有限的,完成相同功能只要一半的代码,其实就是提高的很大的生产率、
python由C开发。但是没有C语言中指针等复杂数据类型,Python的简洁让开发难度和代码幅度大幅度降低,开发任务大大简化,程序员不再需要关注复杂的语法,更多关注的是任务本身。
- 面型对象
- 免费开源
- 可移植跨平台
- 丰富的库
- 可拓展性,可以嵌入到其他语言代码中,胶水语言。
应用范围广泛。
- 科学计算
- 人工智能
- web
- 图形界面GUI开发
- 游戏开发
- 移动设备
- 嵌入式设备
- 系统运维
- 测试
- 等等
什么时候不应该用Python
- python是解释型语言,性能比较低。
版本和兼容问题
现在主要使用的有python2和python3
python2是2000年10月发布。最新版本2.7,不会有2.8了。
python3是2008年发布,python3有了较大的提升。不兼容python2
兼容问题解决:
1. python3的很多新特性也被移植到了python2.7,作为过渡。如果程序可以在2.7运行,可以通过一个名为2to2(python自带的脚本)的转换工具无缝迁移到python3.
2. 建议学习从python3开始。
python解释器
python程序的执行依赖于python解释器,常用的解释器有
- CPython:使用C语言实现的解释器,最常用的就是这个。
- JPython:使用java语言实现的解释器,可以直接调用java的类库,适合在java平台上开发。
- IronPython:.NET平台上使用的解释器。可直接调用.NET平台的类,适合.NET平台上开发。
- Pypy:使用Python语言实现解释器。
Python开发入门
Python运行机制
常见的运行机制:
- 编译型: 源代码,通过编译器,生成一段机器码文件(可以直接运行的二进制文件)。运行的时候直接运行当前的机器码文件。
- 解释型: 源代码,通过解释器。逐行翻译。不生成任何文件。 执行效率较低。但是比较常用。
python程序的构成
- python程序由模块组成,一个模块对应python源文件,一般后缀为py。
- 模块是由于语句组成的,运行python的时候,按照模块中的语句的顺序依次执行。
- 语句是python程序的构造单元,用于创建对象、变量赋值、语句调用等。
python文件的创建和执行。
代码的组织和缩进
IDLE常用快捷键
快捷键 | 说明 |
---|---|
Alt +N Alt +P | 查看历史命令上一条、下一条 |
Ctrl +F6 | 重启shell,以前定义的变量全部失效 |
F1 | 打开帮助文档 |
Alt +/ | 自动补全前面曾经出现过的单词 |
Ctrl +[] Ctrl +] | 缩进代码和取消缩进 |
Alt +M | 打开模块代码,先选中模块,然后按下此快捷键,会帮你打开改模块的py源码供浏览。 |
Alt +C | 打开类浏览器,方便在原发文件中的各个方法体之间切换 |
F5 | 运行程序 |
Python基本结构
-
恰当的空格,缩进问题。
- 逻辑行首的空白(空格和制表符)用来决定逻辑行的索引层次,从而决定语句的分组。
- 语句从新行的第一列开始(不能随便空格)
- 缩进风格统一:
- 每个缩进层次使用 单个制表符 或者四个空格。
- python用缩进不是使用{}表示程序块。
-
python区分大小写
-
注释
-
行注释
每行注释前加#。当解释器看到#,则忽略这行#后面的内容。
-
段注释
使用三个连续的单引号(’’’)当解释器看到这个符号,则会扫描到下一个三引号,然后忽略他们中间的内容。
-
import turtle # 引入绘图模块
t = turtle.Pen()
# 这是一个循环
for i in range(100):
t.forward(i)
t.right(10)
'''
这是另一种注释
'''
使用注释
使用\行连接符
一行程序长度是没有限制的,但是为了可读性更强,通常将一行比较长的程序分为多行。这时我们可以用\行连接符,把他放在行结束的地方。
a = [1,2,3,4,5,6,7,8,\
1,2,3,4,5,6,7,8\
,2,5,8,3,6,9]
图形化程序设计
写一个奥运五环
# 绘制奥运五环
import turtle as t
t.width(10)
t.color("blue")
t.circle(50)
t.penup()
t.goto(120, 0)
t.pendown()
t.color("black")
t.circle(50)
t.penup()
t.goto(240, 0)
t.pendown()
t.color("red")
t.circle(50)
t.penup()
t.goto(60, -50)
t.pendown()
t.color("yellow")
t.circle(50)
t.penup()
t.goto(180, -50)
t.pendown()
t.color("green")
t.circle(50)