简介:前言学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆。全文分为两大部分,分别是Python基础语法和面向对象。第一部分 Python基础语法第一部分 Python基础语法1. 认识Python1.1 Python ...
前言
学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆。全文分为两大部分,分别是Python基础语法和面向对象。
第一部分 Python基础语法
第一部分 Python基础语法1. 认识Python1.1 Python 简介Python 的创始人为吉多·范罗苏姆(Guido van Rossum)。Python 的设计目标:一门简单直观的语言并与主要竞争者一样强大
开源,以便任何人都可以为它做贡献
代码像纯英语那样容易理解
适用于短期开发的日常任务Python 的设计哲学:优雅、明确、简单Python 开发者的哲学是:用一种方法,最好是只有一种方法来做一件事
Python 是完全面向对象的语言,在 Python 中一切皆对象。可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用 C 或 C++ 编写,然后在 Python 程序中使用它们。
1.2. 第一个Python程序执行 Python 程序的三种方式:解释器、交互式运行、IDE运行Python 是一个格式非常严格的程序设计语言。python 2.x 默认不支持中文。ASCII 字符只包含 256 个字符,不支持中文
Python 2.x 的解释器名称是 python
Python 3.x 的解释器名称是 python3
为了照顾现有的程序,官方提供了一个过渡版本 —— Python 2.6。提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议先使用 Python 3.0 版本进行开发
然后使用 Python 2.6、Python 2.7 来执行,并且做一些兼容性的处理
IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多,它支持 bash shell 命令,适合于学习/验证 Python 语法或者局部代码。集成开发环境(IDE,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:图形用户界面
代码编辑器(支持 代码补全/自动缩进)
编译器/解释器
调试器(断点/单步执行)
……
PyCharm 是 Python 的一款非常优秀的集成开发环境
PyCharm运行工具栏1.3. PyCharm 的设置PyCharm 的 配置信息 是保存在 用户家目录下 的 .PyCharmxxxx.x 目录下的,xxxx.x 表示当前使用的 PyCharm 的版本号1.3.1 恢复 PyCharm 的初始设置:关闭正在运行的 PyCharm在终端中执行以下终端命令,删除 PyCharm 的配置信息目录:
$ rm -r ~/.PyCharm2016.3重新启动 PyCharm
1.3.2 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
1.3.3 设置启动图标在专业版中,选择菜单 Tools / Create Desktop Entry... 可以设置任务栏启动图标
注意:设置图标时,需要勾选 Create the entry for all users
快捷方式文件
/usr/share/applications/jetbrains-pycharm.desktop在 ubuntu 中,应用程序启动的快捷方式通常都保存在 /usr/share/applications 目录下
1.3.4 卸载之前版本的 PyCharm要卸载 PyCharm 只需要做以下两步工作:删除解压缩目录
$ sudo rm -r /opt/pycharm-2016.3.1/删除家目录下用于保存配置信息的隐藏目录
$ rm -r ~/.PyCharm2016.3/如果不再使用 PyCharm 还需要将 /usr/share/applications/ 下的 jetbrains-pycharm.desktop删掉
1.4. 多文件项目的演练开发 项目 就是开发一个 专门解决一个复杂业务功能的软件
通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件
在 PyCharm 中,要想让哪一个 Python 程序能够执行,必须首先通过 鼠标右键的方式执行 一下
对于初学者而言,在一个项目中设置多个程序可以执行,是非常方便的,可以方便对不同知识点的练习和测试
对于商业项目而言,通常在一个项目中,只有一个 可以直接执行的 Python 源程序
让选中的程序可以执行2.2 多行注释(块注释)要在 Python 程序中使用多行注释,可以用 一对 连续的 三个 引号(单引号和双引号都可以)
"""
这是一个多行注释
在多行注释之间,可以写很多很多的内容……
""" print("hello python")
提示:注释不是越多越好,对于一目了然的代码,不需要添加注释
对于 复杂的操作,应该在操作开始前写上若干行注释
对于 不是一目了然的代码,应在其行尾添加注释(为了提高可读性,注释应该至少离开代码 2 个空格)
绝不要描述代码,假设阅读代码的人比你更懂 Python,他只是不知道你的代码要做什么
2.3 代码规范:Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档,其中第 8 篇文档专门针对 Python 的代码格式 给出了建议,也就是俗称的 PEP 8:
文档地址:https://www.python.org/dev/peps/pep-0008/
谷歌有对应的中文文档:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
3. 运算符3.1 算数运算符是完成基本的算术运算使用的符号,用来处理四则运算,而“+”和“*”还可以用来处理字符串。运算符描述实例+加10 + 20 = 30-减10 - 20 = -10*乘10 * 20 = 200/除10 / 20 = 0.5//取整除返回除法的整数部分(商) 9 // 2 输出结果 4%取余数返回除法的余数 9 % 2 = 1**幂又称次方、乘方,2 ** 3 = 83.2 比较(关系)运算符运算符描述==检查两个操作数的值是否 相等,如果是,则条件成立,返回 True!=检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True>检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True=检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True<=检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 TruePython 2.x 中判断 不等于 还可以使用 <> 运算符
!= 在 Python 2.x 中同样可以用来判断 不等于
3.3 赋值运算符在 Python 中,使用 = 可以给变量赋值。在算术运算时,为了简化代码的编写,Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符,注意:赋值运算符中间不能使用空格。
运算符描述实例=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c+=加法赋值运算符c += a 等效于 c = c + a-=减法赋值运算符c -= a 等效于 c = c - a*=乘法赋值运算符c *= a 等效于 c = c * a/=除法赋值运算符c /= a 等效于 c = c / a//=取整除赋值运算符c //= a 等效于 c = c // a%=取 模 (余数)赋值运算符c %= a 等效于 c = c % a**=幂赋值运算符c **= a 等效于 c = c ** a3.4 身份运算符身份运算符比较两个对象的内存位置。常用的有两个身份运算符,如下所述:运算符描述示例is判断两个标识符是不是引用同一个对象x is y,类似 id(x) == id(y)is not判断两个标识符是不是引用不同对象x is not y,类似 id(a) != id(b)辨析is 用于判断 两个变量引用的对象是否为同一个
== 用于判断 引用变量的值 是否相等
3.5 成员运算符Python成员运算符测试给定值是否为序列中的成员。 有两个成员运算符,如下所述:运算符描述in如果在指定的序列中找到一个变量的值,则返回true,否则返回false。not in如果在指定序列中找不到变量的值,则返回true,否则返回false。3.6 逻辑运算符运算符逻辑表达式描述andx and y只有 x 和 y 的值都为 True,才会返回 True否则只要 x 或者 y 有一个值为 False,就返回 Falseorx or y只要 x 或者 y 有一个值为 True,就返回 True只有 x 和 y 的值都为 False,才会返回 Falsenotnot x如果 x 为 True,返回 False如果 x 为 False,返回 True3.7 运算符优先级以下表格的算数优先级由高到最低顺序排列:
运算符描述**幂 (最高优先级)* / % //乘、除、取余数、取整除+ -加法、减法<= < > >=比较运算符== !=等于运算符= %= /= //= -= += *= **=赋值运算符is is not身份运算符in not in成员运算符not or and逻辑运算符程序执行原理
Python程序执行示意图操作系统会首先让 CPU 把 Python 解释器 的程序复制到 内存 中
Python 解释器 根据语法规则,从上向下 让 CPU 翻译 Python 程序中的代码
CPU 负责执行翻译完成的代码
Python 的解释器有多大?执行以下终端命令可以查看 Python 解释器的大小