Python基础教程-基础
Python简介
Python是一种跨平台、解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,于1991年第一个公开发行版发行。
目前 Python 有Python2和Python3两个版本,但是两个版本并不完全兼容。
Python的官方网站为https://www.python.org/
环境搭建
Python安装
可以从官网下载对应平安装包安装即可。Linux, Unix、Mac等操作系统基本都 内置Python. 无需下载,
运行Python
有三种方式可以运行Python:
- 交互式解释器
通过命令行窗口进入python并开在交互式解释器中开始编写Python代码。
你可以在Unix,DOS或任何其他提供了命令行或者shell的系统进行python编码工作。
1 | $ python # Unix/Linux |
- 命令行脚本
通过引入解释器可以在命令行中执行Python脚本,如下所示:
1 | $ python script.py # Unix/Linux |
- 集成开发环境
推荐使用 PyCharm。
PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
Python基础语法
编码
默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 Python2 并没有指定UTF-8 编,因此,如果在代码中使用中文,需要在文件头加上 utf-8.
1 | #!usr/bin/env python |
和其它脚本语言一样,在文件第一行指定解释器。
如无特殊情况, 文件头部必须加入#--coding:utf-8--标识
注释
Python中单行注释以 # 开头
1 | # 第一个注释 |
多行注释可以用多个 # 号,还有 ‘’’ 和 “””:
1 | # 第一个注释 |
标识符
- 标识符必须是字母表中字母或下划线 _ 开头。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
保留字
保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
1 | >>> import keyword |
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。【推荐都使用4个空格】
1 | if True: |
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
1 | total = item_one + \ |
字符串(String)
python中单引号和双引号使用完全相同。
使用三引号(‘’’或”””)可以指定一个多行字符串。
转义符 ‘'
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r”this is a line with \n” 则\n会显示,并不是换行。
按字面意义级联字符串,如”this “ “is “ “string”会被自动转换为this is string。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标]
1 | word = '字符串' |
多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
1 | if expression : |
编码风格
可以参考Google Python 编码风格
http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
Python基础
变量
Python 中的变量赋值不需要类型声明。
等号(=)用来给变量赋值。
Python允许你同时为多个变量赋值。
1 | counter = 100 # 赋值整型变量 |
输入和输出
输出
Python使用print()向屏幕上输出。
1 | print('hello, world') |
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
1 | >>> print('The quick brown fox', 'jumps over', 'the lazy dog') |
输入
Python使用input(),让用户输入字符串,并存放到一个变量里。
1 | name = input() |
数据类型
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
Numbers
Python支持不同的数字类型:
- 整数 -> Python可以处理任意大小的整数,当然包括负整数。
- 浮点数 -> 浮点数也就是小数。
- 布尔值 -> 布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值。
- 空值 -> 空值是Python里一个特殊的值,用None表示。
String
字符串或串(String)是由数字、字母、下划线等组成的一串字符。
python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
List(列表)
列表用 [ ] 标识,内部元素用逗号隔开。
列表中值的切也可以用到变量 [头下标:尾下标]
从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
加号 + 是列表连接运算符,星号 * 是重复操作
1 | list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] |
Tuple(元组)
元组用”()”标识,类似于List(列表)。区别是元组是只读的, 元素不能修改。
Dictionary(字典)
字典用”{ }”标识。字典由索引(key)和它对应的值value组成。
与列表的区别是:
- 列表是有序的对象集合,字典是无序的对象集合。
- 字典当中的元素是通过键来存取的,而不是通过偏移存取。
1 | dict = {} |
Python 运算符
Python的运算符的和其它语言类似。
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 位运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
- 运算符优先级
逻辑运算符
Python逻辑运算符包括 and or not, 分别表示逻辑与或非。
成员运算符
Python成员运算符包括 in 和 not in , 用来测试字符串,列表或元组实例中是否包含了一系列的成员。
- in 如果在指定的序列中找到值返回 True,否则返回 False。
- not in 如果在指定的序列中没有找到值返回 True,否则返回 False
身份运算符
Python身份运算符包括 is 和 is not , 用于比较两个对象的存储单元
- is is 是判断两个标识符是不是引用自一个对象 x is y, 如果引用的是同一个对象则返回 True,否则返回 False。
- is not is not 是判断两个标识符是不是引用自不同对象 x is not y 。如果引用的不是同一个对象则返回结果 True,否则返回 False。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
控制流程
顺序
条件
IF-ELSE
1 | if 判断条件: |
IF-ELSE 多重
1 | if 判断条件1: |
循环
循环语句
- WHILE
1 | while 判断条件: |
- FOR
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的语法格式如下:
1 | for iterating_var in sequence: |
通过序列索引迭代
1 | fruits = ['banana', 'apple', 'mango'] |
循环控制语句
循环控制包括Break, Continue, Pass。
- break语句用来终止循环语句,
- continue 语句跳出本次循环,
- pass 不做任何事情,一般用做占位语句。