Python 语法基础
Python 运行方式
交互解释器:进入交互解释器
Pycharm 里面有个 Terminal 终端,点击即可进入Python的交互环境
1 | [root@localhost xxx] # python3 |
文件形式:明确指定解释器
Terminal 终端运行
Python 语法结构
语句块缩进
Python 代码块通过缩进对齐表达代码逻辑而不是使用大括号
缩进表达一个语句属于哪个代码块
缩进风格:4个空格:非常流行,范-罗萨姆支持的风格
缩进
1 | #向右缩进时,按【Tab】键 |
- 代码的执行测试,可以直接在终端运行:
1 | [root@localhost xxx]# python3 hi.py |
- 右键点击代码页面任何位置,选择”Run hi”
注释(ctrl+/)
和很多 UNIX 脚本类似,Python 注释语句从 # 字符开始
注释可以在一行的任何地方开始,解释器会忽略掉该行 # 之后的所有内容
输出语句:print
1 | [root@localhost day01]# python3 |
*输出语句:print 图例 *
输入语句:input
input 接收用户从键盘输入的数据
1 | [root@localhost xxx]# python3 |
变量
概念理解
- 变量变量,也就是会变的量。它是一个装数据的容器,里面的数据是可以变的,因此叫变量
- 比如 “班长” 就是一个变量,这学期可能是李雷,那下学期就可能是韩梅梅了,老师想安排同学任务,想到的是班长,而非某个具体的同学
变量定义
- 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建
- 等号(=)用来给变量赋值
=
左边是一个变量名=
右边是存储在变量中的值
1 | 变量名 = 值 |
变量定义之后,后续就可以直接使用了
案例 1:定义变量
1 | [root@localhost xxx]# vim demo01.py |
练习 1:买包子(变量:单价,数量,总价)
- 可以用 其他变量的计算结果 来定义变量
- 变量定义之后,后续就可以直接使用了
需求
- 包子的价格是 1.5 元/个
- 买了 10 个 包子
- 计算付款金额
1 | [root@localhost xxx]# vim demo01.py |
练习 2:买包子进阶
- 今天老板高兴,总价打 9 折
- 请重新计算购买金额
1 | [root@localhost xxx]# vim demo01.py |
提问
- 上述代码中,一共定义有几个变量?
- 三个:
price
/number
/money
- 三个:
money = money * 0.9
是在定义新的变量还是在使用变量?- 直接使用之前已经定义的变量
- 变量名 只有在 第一次出现 才是 定义变量
- 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量
- 在程序开发中,可以修改之前定义变量中保存的值吗?
- 可以
- 变量中存储的值,就是可以 变 的
运算符
Python 中所支持的运算符:
算术运算符
- 算数运算符是 运算符的一种
- 是完成基本的算术运算使用的符号,用来处理四则运算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10 + 20 = 30 |
- | 减 | 10 - 20 = -10 |
* | 乘 | 10 * 20 = 200 |
/ | 除 | 10 / 20 = 0.5 |
// | 取整除 | 返回除法的整数部分(商) 9 // 2 输出结果 4 |
% | 取余数 | 返回除法的余数 9 % 2 = 1 |
** | 幂 | 又称次方、乘方,2 ** 3 = 8 |
演示
1 | [root@localhost xxx]# python3 |
比较运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True |
!= | 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True 1 != 2 -> True |
> | 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True |
< | 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True |
>= | 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True |
<= | 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True |
演示
1 | [root@localhost xxx]# python3 |
逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 只有 x 和 y 的值都为 True,才会返回 True 否则只要 x 或者 y 有一个值为 False,就返回 False |
or | x or y | 只要 x 或者 y 有一个值为 True,就返回 True只有 x 和 y 的值都为 False,才会返回 False |
not | not x | 如果 x 为 True,返回 False 如果 x 为 False,返回 True |
演示
1 | [root@localhost xxx]# python3 |
数据类型
数字
基本的数字类型有:
- int:有符号整数
- bool:布尔值
- True:1
- False:0
- float:浮点数
1 | [root@localhost xxx]# python3 |
整数数字表示方式
Python 默认以十进制数 显示
- 数字以 0o 或 0O 开头表示为 8 进制数
- 数字以 0x 或 0X 开头表示 16 进制数
- 数字以 0b 或 0B 开头表示 2 进制数
1 | [root@localhost xxx]# python3 |
字符串
- Python 中字符串被定义为引号之间的字符集合
- Python 支持使用成对的单引号或双引号
- 无论单引号,还是双引号,表示的意义相同
- Python 还支持三引号(三个连续的单引号或者双引号),可以用来包含特殊字符
演示
1 | [root@localhost xxx]# python3 |
字符串索引和切片
- 使用索引运算符 [ ] 和 切片运算符 [ : ] 可得到子字符串
- 第一个字符的索引是0,最后一个字符的索引是 -1
- 子字符串包含切片中的起始下标,但不包含结束下标
图例
演示
1 | [root@localhost xxx]# python3 |
切片:字符串 [ 起始索引 : 终止索引 : 步长 ]
特点:含头去尾,能获取到 起始索引 位置上的元素,获取不到 终止索引 上的元素
常规:只写头和尾,不写步长默认为1
从头切:起始索引不写,默认从头切
切到尾:终止索引不写,默认切到尾
头尾都不写:默认切全部,重新一个一模一样的字符串
加上步长切(案例1)
加上步长切(案例2)
倒着切
1 | [root@localhost xxx]# python3 |
字符串连接操作
- 使用 + 号可以将多个字符串拼接在一起
- 使用 * 号可以将一个字符串重复多次
1 | [root@localhost xxx]# python3 |
列表
列表的定义
List
(列表) 是Python
中使用 最频繁 的数据类型,在其他语言中通常叫做 数组专门用于存储 一串 信息,它能保存 任意数量,任意类型的 Python 对象
列表用
[]
定义,数据 之间使用,
分隔列表中的项目 可以改变
列表的 索引 从
0
开始- 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标
类似于排队,可动态变化
注意:从列表中取值时,如果 超出索引范围,程序会报错
演示
1 | [root@localhost xxx]# python3 |
列表操作
- 使用 in 或 not in 判断成员关系
- 使用 append 方法向列表中追加元素
1 | 10 in alist # 判断10, 是否在列表alist范围之内,为真 |