人生苦短,我用 Python —— Life is short, you need Python
Python 的创始人为吉多·范罗苏姆(Guido van Rossum)
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
1999 年,吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:
这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言
在 Python 社区,吉多被称为“仁慈的独裁者”
同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下Python
是Java
的 1/5,所以说 人生苦短,我用 Python
C
或 C++
编写,然后在 Python
程序中使用它们HelloPython
程序Python 2.x
与 3.x
版本简介Python
程序的三种方式
python
/ python3
ipython
PyCharm
HelloPython
程序Python
的开发.py
认识Python
目录认识Python
目录下新建 01-HelloPython.py
文件01-HelloPython.py
并且输入以下内容:print("hello python")
print("hello world")
01-HelloPython.py
$ python 01-HelloPython.py
python
中我们学习的第一个 函数
BUG
,是程序员在开发时非常常见的,初学者常见错误的原因包括:每一个程序员都是在不断地修改错误中成长的
pirnt("Hello world")
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
print
写在一行SyntaxError: invalid syntax
语法错误:语法无效
每行代码负责完成一个动作
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
SyntaxError: Non-ASCII character 'xe4' in file 01-HelloPython.py on line 3,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 'xe4',但是没有声明文件编码
请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
ASCII
字符只包含 256
个字符,不支持中文* error 错误
* name 名字
* defined 已经定义
* syntax 语法
* invalid 无效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 编码
* declared 声明
* details 细节,详细信息
* ASCII 一种字符编码
Python 2.x
与 3.x
版本简介目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 3.x
新的 Python 程序建议使用 Python 3.0
版本的语法
Python
的早期版本,这是一个 较大的升级Python 3.0
在设计的时候 没有考虑向下兼容
Python
版本设计的程序都无法在 Python 3.0
上正常执行Python 2.x
的语法和库Python 3.0
的迁移,允许使用部分 Python 3.0
的语法与函数Python 2.7
被确定为 最后一个Python 2.x 版本提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议
Python 3.0
版本进行开发Python 2.6
、Python 2.7
来执行,并且做一些兼容性的处理python
/ python3
# 使用 python 2.x 解释器
$ python xxx.py
# 使用 python 3.x 解释器
$ python3 xxx.py
Python 的解释器 如今有多个语言的实现,包括:
CPython
—— 官方版本的 C 语言实现Jython
—— 可以运行在 Java 平台IronPython
—— 可以运行在 .NET 和 Mono 平台PyPy
—— Python 实现的,支持 JIT 即时编译Shell
中直接输入 Python 的代码,会立即看到程序执行结果exit()
>>> exit()
在 python 解释器中,按热键 ctrl + d
可以退出解释器
python shell
好用得多
bash shell
命令exit
In [1]: exit
在 IPython 解释器中,按热键 ctrl + d
,IPython
会询问是否退出解释器
$ sudo apt install ipython
PyCharm
集成开发环境(IDE
,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:
PyCharm
是 Python 的一款非常优秀的集成开发环境PyCharm
除了具有一般 IDE 所必备功能外,还可以在 Windows
、Linux
、macOS
下使用PyCharm
适合开发大型项目
PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/
PyCharm
的 配置信息 是保存在 用户家目录下 的 .PyCharmxxxx.x
目录下的,xxxx.x
表示当前使用的 PyCharm
的版本号
如果要恢复 PyCharm
的初始设置,可以按照以下步骤进行:
PyCharm
PyCharm
的配置信息目录:$ rm -r ~/.PyCharm2016.3
PyCharm
PyCharm
时,会首先提示用户是否导入 之前的配置信息Editor colors and fonts
选择 编辑器的配色方案PyCharm
的 欢迎界面了,通过 欢迎界面 就可以开始开发 Python 项目了.idea
的目录,用于保存 项目相关的信息,例如:解释器版本、项目包含的文件等等PyCharm
对项目进行初始设置PyCharm
建立的项目目录,有的时候 使用的解释器版本是 Python 2.x
的,需要单独设置解释器的版本hm_xx_知识点
方式来命名
01_Python基础
项目,使用 Python 3.x 解释器hm_01_hello.py
Python 文件print("Hello Python")
代码PyCharm 提供了对 学生和教师免费使用的版本
$ tar -zxvf pycharm-professional-2017.1.3.tar.gz
/opt
目录下,可以方便其他用户使用 /opt
目录用户存放给主机额外安装的软件
$ sudo mv pycharm-2017.1.3/ /opt/
$ cd /opt/pycharm-2017.1.3/bin
PyCharm
$ ./pycharm.sh
Create the entry for all users
/opt
目录下PyCharm
后,会在用户家目录下建立一个 .PyCharmxxx
的隐藏目录PyCharm
相关的配置信息/usr/share/applications/jetbrains-pycharm.desktop
在ubuntu
中,应用程序启动的快捷方式通常都保存在/usr/share/applications
目录下
PyCharm
只需要做以下两步工作:$ sudo rm -r /opt/pycharm-2016.3.1/
$ rm -r ~/.PyCharm2016.3/
如果不再使用 PyCharm 还需要将/usr/share/applications/
下的jetbrains-pycharm.desktop
删掉
# 1. 解压缩下载后的安装包
$ tar -zxvf pycharm-edu-3.5.1.tar.gz
# 2. 将解压缩后的目录移动到 `/opt` 目录下,可以方便其他用户使用
$ sudo mv pycharm-edu-3.5.1/ /opt/
# 3. 启动 `PyCharm`
/opt/pycharm-edu-3.5.1/bin/pycharm.sh
后续课程 都使用专业版本演练
$ sudo gedit /usr/share/applications/jetbrains-pycharm.desktop
pycharm
目录[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm
Icon=/opt/pycharm-edu-3.5.1/bin/pycharm.png
Exec="/opt/pycharm-edu-3.5.1/bin/pycharm.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
01_Python基础
项目中新建一个 hm_02_第2个Python程序.py
hm_02_第2个Python程序.py
文件中添加一句 print("hello")
hm_02_第2个Python程序.py
PyCharm
中,要想让哪一个 Python
程序能够执行,必须首先通过 鼠标右键的方式执行 一下使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性
#
开头,#
右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用# 这是第一个单行注释
print("hello python")
为了保证代码的可读性, #
后面建议先添加一个空格,然后再编写相应的说明文字
#
在代码的后面(旁边)增加说明性的文字print("hello python") # 输出 `hello python`
"""
这是一个多行注释
在多行注释之间,可以写很多很多的内容……
"""
print("hello python")
在一些正规的开发团队,通常会有 代码审核 的惯例,就是一个团队中彼此阅读对方的代码
Python
官方提供有一系列 PEP(Python Enhancement Proposals) 文档任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步
计算机,顾名思义就是负责进行 数学计算 并且 存储计算结果 的电子设备
| 运算符| 描述 | 实例 | | :---: | :---: | --- | | + | 加 | 10 + 20 = 30 | | - | 减 | 10 - 20 = -10 | | * | 乘 | 10 * 20 = 200 | | / | 除 | 10 / 20 = 0.5 | | // | 取整除 | 返回除法的整数部分(商) 9 // 2 输出结果 4 | | % | 取余数 | 返回除法的余数 9 % 2 = 1 | | | 幂 | 又称次方、乘方,2 3 = 8 |
*
运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果In [1]: "-" * 50
Out[1]: '----------------------------------------'
()
调整计算的优先级| 运算符 | 描述 | | --- | --- | | ** | 幂 (最高优先级) | | * / % // | 乘、除、取余数、取整除 | | + - | 加法、减法 |
2 + 3 * 5 = 17
(2 + 3) * 5 = 25
2 * 3 + 5 = 11
2 * (3 + 5) = 16
计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是:
| CPU | 内存 | 硬盘 | | :---: | :---: | :---: | |
cpu|
内存条|
硬盘|
4G
/ 8G
/ 16G
/ 32G
程序要执行,首先要被加载到内存
# 1. 确认解释器所在位置
$ which python
# 2. 查看 python 文件大小(只是一个软链接)
$ ls -lh /usr/bin/python
# 3. 查看具体文件大小
$ ls -lh /usr/bin/python2.7
提示:建立 软链接 的目的,是为了方便使用者不用记住使用的解释器是 哪一个具体版本
程序就是 用来处理数据 的!
在 QQ 这个程序将 QQ 号码 和 QQ 密码 发送给服务器之前, 是否需要先存储一下 QQ 号码 和 密码?
答案
肯定需要!—— 否则 QQ 这个程序就不知道把什么内容发送给服务器了!
QQ 这个程序把 QQ 号码 和 QQ 密码 保存在哪里?
答案
保存在 内存 中,因为 QQ 程序自己就在内存中
QQ 这个程序是怎么保存用户的 QQ 号码 和 QQ 密码 的?
答案