1. 计算机组成
计算机由硬件系统与软件系统组成.
计算机硬件系统包含:
运算器: CPU 内计算的硬件
控制器: CPU 内用于控制部件工作
存储器(内存储器(内存条)/ 外存储器(U 盘))
输入设备: 鼠标, 键盘等
输出设备: 显示屏等
计算机软件系统包含:
系统软件: Windows,Linux,Unix 等
应用软件: QQ,Word 等
2.Python 语音
Python 语言是一种面向对象的解释型计算机程序设计语言.
Python 语言创始人为吉多 • 范罗苏姆(Guido van Rossum)
Python 语言的特点
优点:
简单, 易学, 免费, 开源, 高层语言, 可移植性, 解释性, 面向对象, 可拓展性, 丰富的库, 规范的代码等.
缺点:
运行速度慢, 目前国内市场小, 中文资料匮乏, 构架选择太多等.
基础语法
1. 注释
1.1 单行注释
语法格式: #[空格]说明性文字信息
添加快捷键: Ctrl+/
取消快捷键: Ctrl+/
1.2 多行注释
语法格式: """说明性文字信息"""
快捷键:<无>
1.3 工作日志说明
语法格式: # TODO 说明文字
快捷键:<无>
1.4 注释的使用场景
添加说明性的文字
调试程序, 将制定代码行的功能取消, 使其在代码中不生效
记录工作日志, 方便信息查找
2. pycharm 中提示性信息
语法错误: 文字底部红色波浪线
语法不符合规范: 文字底部灰色波浪线
单词拼写提示: 文字底部绿色波浪线
3. 算数运算符
3.1 算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | 计算两个数的和 |
- | 减 | 计算两个数的差 |
* | 乘 | 计算两个数的乘积 |
/ | 除 | 计算两个数的商 |
// | 整除 | 两个整数相除后,取结果的整数部分 |
% | 取余 | 两个整数相除后,取结果的余数部分 |
** | 乘方 | 计算 a 的 b 次方 |
3.2 算术优先级
乘方> 乘, 除, 整除, 取余> 加, 减
相同等级的运算顺序为从左到右
可以使用括号改变运算顺序
4. 关键字
4.1 概念
关键字是 python 中已占用, 具有特殊含义的符号
4.2 关键字表
and | as | assert | break |
---|---|---|---|
class | continue | def | del |
elif | esle | except | finally |
---|---|---|---|
for | from | global | if |
import | in | is | lambda |
---|---|---|---|
nonlocal | not | or | pass |
raise | return | try | while |
---|---|---|---|
with | yield | False | None |
True |
5. 标识符
5.1 概念
标识符是指用来标识某个实体的符号
5.2 标识符规范
1. 只能由数字, 字母,_(下划线)组成
2. 不能以数字开头
3. 不能是关键字
4. 区分大小写
5.3 命名约束
下划线分割法(推荐):first_name
驼峰命名法: 首字母大写, 或每个单词首字母大写
6. 变量
6.1 变量概念
变量用于描述计算机中的数据存储空间
6.2 变量作用
在计算机内存中保存数据
6.3 变量语法格式
定义变量: 变量名 = 值 使用变量: 变量名
6.4 特殊使用格式
a = b = 1 相当于 b = 1 , a = 1
7. 变量的类型
7.1 变量类型
名称 | 中文名称 | 作用 |
---|---|---|
int | 整型 | 表示所有整数 |
float | 浮点型 | 表示所有的小数 |
bool | 布尔型 | 表示逻辑值 |
str | 字符串 | 表示字符串信息 |
7.2 变量类型获取
使用 type(数据)即可获取数据对应的类型
7.3 注意事项
变量的类型在变量使用过程中随时发生改变, 以最后一次执行 = 操作的结果为准
8. 赋值运算符
8.1 赋值运算符
符号 | 作用 | 格式 |
---|---|---|
= | 赋值 | a=b,将 b 的值给 a |
+= | 加后赋值 | a+=b,将 a+b 的值给 a |
-= | 减后赋值 | a-=b,将 a-b 的值给 a |
*= | 乘后赋值 | a*=b,将 a*b 的值给 a |
/= | 除后赋值 | a/=b,将 a/b 的值给 a |
//= | 整除后赋值 | a//=b,将 a//b 的值给 a |
%= | 取余后赋值 | a%=b,将 a%b 的值给 a |
**= | 次方后赋值 | a**=b,将 a**b 的值给 a |
8.2 注意事项
基本赋值运算 = 操作, 左侧只能是变量, 右侧可以是任意数据或变量
特殊赋值运算的左侧只能是变量, 右侧可以是变量, 也可以是数字
9. 字符串运算
9.1 字符串连接运算
字符串之间可以使用 + 运算符完成多个字符串之间的拼接操作
9.2 字符串反复连接运算
字符串可以使用 * 运算符完成单个字符串的连续拼接操作
9.3 注意事项
字符串连接运算 + 不能在字符串类型与其他类型间进行操作
案例: 计算圆的面积
- """
- 案例: 计算圆面积
- 圆面积 = 圆周率 * 半径的平方
- 分析:
- 半径需要设置变量 r
- 圆周率需要设置变量 pi
- 计算结果圆的面积需要设置变量 area
- """
- # r 表示半径
- r = 3.5
- # pi 表示圆周率
- pi = 3.14
- # area 表示面积
- area = pi * r ** 2
- print(area)
10. 标准输入输出
10.1 输入
10.1.1 语法格式
格式一: input()
格式二: input("提示信息")
10.1.2 输入数据的接收
格式一: 变量 = input()
格式二: 变量 = input("提示信息")
10.1.3 注意事项
控制台执行到 input()操作后, 会将程序挂起, 等待用户输入数据, 在用户未完成数据输入之前, 程序不向下执行, 一旦控制台接收到用户输入的数据后, 继续向下执行
10.2 输出
10.2.1 语法格式
格式一: 直接输出变量 print(变量)
格式二: 输出包含单个占位符字符串的信息 print("包含 1 个占位符的格式化字符串" % 变量 )
格式三: 输出包含多个占位符字符串的信息 print("包含多个占位符的格式化字符串" % (变量 1, 变量 2,...) )
10.2.2 输出占位符
10.3 数据类型转换
10.3.1 输入数据的类型
input 函数接收的数据默认为字符串类型
10.3.2 转换函数
通过转换函数实现接收其他类型的数据
1. 接收整数: 字符串→整型数据: int("整数格式的字符串")
2. 接收小数: 字符串→浮点型数据: float("小数格式的字符串")
10.3.3 注意事项
1. 字符串类型数据可以转换成其他类型数据, 但是数据必须是可转换的. 例如:"123" 可以转化成 123 例如:"23x" 不可以转化
2. 整型 (int) 数据可以转换成浮点型 (float) 数据, 在原始整型数据后面补. 0 例如: 123 可以转化成 123.0
浮点型 (float) 数据无法转换成整型 (int) 数据, 无论原始数据是不是整数 例如: 123.0 不可以转化成 123
案例: 计算圆面积(输入输出版)
- """ 完成" 输入输出 " 版计算圆面积程序
- 需求:
- 1. 圆的半径需要通过键盘录入, 半径值必须兼容小数
- 2. 输出格式: 半径为 10 的圆形面积为 314.
- 分析:
- 1.input 最终类型要使用 float
- 2."半径为 %.2f 的圆形面积为 %.4f."
- """
- # 定义圆周率
- pai = 3.14
- # 从键盘录入半径值
- r = float(input("请输入您要计算的圆的半径值(最多 2 位小数):"))
- # 计算圆的面积
- area = pai * r ** 2
- # 格式化输出
- print("半径为 %.2f 的圆形面积为 %.4f." % (r , area))
11. 分支语句
11.1 比较运算符
比较运算是发生在两个同类型数据间的一种操作, 比较运算是使用固定的比对规则对两个数据进行比对, 如果比较运算式子成立得到结果 True, 如果不成立, 得到结果 False
11.1.1 常用的比较运算符
符号 | 说明 |
---|---|
= = | 判断两个操作数的值是否相等,成立为 True |
!= | 判断两个操作数的值是否不相等,成立为 True |
> | 判断左操作数是否大于右操作数,成立为 True |
< | 判断左操作数是否小于右操作数,成立为 True |
>= | 判断左操作数是否大于等于右操作数,成立为 True |
<= | 判断左操作数是否小于等于右操作数,成立为 True |
11.1.2 字符进行比较运算的排序规则
0.. 数字..9 <A.. 大写字母..Z < a.. 小写字母..z
11.1.3 字符串比较运算规则
1. 对两个字符串中对应位置每个字符逐一比对
2. 排序较小的整体字符串值小
3. 如果比较结果相等, 比较下一个字母
4. 直到比对到最后一个字母
5. 若比对的一方没有字符, 则整体字符串值小
11.2 关系运算符
11.2.1 关系运算
关系运算是发生在两个布尔型数据间的一种操作, 关系运算是根据固定规则对两个布尔值进行运算, 最终结果是布尔值
11.2.2 常见的关系运算符
and: 表示两个布尔值之间的并且关系, 例如 True and False
or: 表示两个布尔值之间的或者关系, 例如 True or False
not: 表示一个布尔值的反向对立关系, 例如 not False
11.2.3 真值表
and | True | False |
---|---|---|
True | True | False |
False | False | False |
逻辑与: 同真则真
or | True | False |
---|---|---|
True | True | True |
False | True | False |
逻辑或: 同假则假
True | False | |
---|---|---|
not | False | True |
逻辑非: 非真即假, 非假即真
11.2.4 注意事项
1. 数字可以作为关系运算的数据进行运算, 0 表示 False, 非 0 表示 True
2. 数字与布尔值混用出现在关系运算中时, 任意操作数可以决定整个式子值的, 最终结果即为该操作数(参看真值表)
例如: True and 0 → 0
例如: 0 and True → 0
例如: 4 or False → 4
例如: False or 4 → 4
3. 数字与布尔值混用出现在关系运算中时, 如果两个操作数都无法单独决定整个式子值的(参看真值表), 最终结果即为后面的操作数
例如: True and 10 → 10
例如: 10 and True → True
例如: False or 0 → 0
例如: 0 or False → False
11.3 分支语句
11.3.1 概念
分支语句: 计算机三种基础语句 (顺序, 分支, 循环) 之一, 用于描述 "如果满足什么条件, 就怎么样, 否则就怎么样" 的语法.
11.3.2 语法格式
格式一: if 条件: 条件成立执行的代码
格式二: if 条件: 条件成立执行的代码 else: 条件不成立执行的代码
格式三: if 条件 1:
条件 1 成立执行的代码
elif 条件 2:
条件 2 成立执行的代码
elif 条件 3:
条件 3 成立执行的代码
else:
条件都不成立执行的代码
- score = 73
- if score == 100:
- print("买自行车")
- elif score>= 95 and score <100:
- print("去游乐场玩")
- elif score>= 90 and score <95:
- print("买大玩具")
- elif score>= 80 and score <90:
- print("不奖不罚")
- else:
- print("小心屁屁")
- print("结束")
11.3.3 执行流程
1.if 语句执行流程
2.if..else.. 语句执行流程
3.if..elif..else.. 语句执行流程
11.3.4 分支嵌套
分支嵌套即分支语句的执行代码中包含全新的分支语句结构
11.4 代码书写规范(了解)
11.4.1 超长行处理方案
方案一: 换行处使用 \
方案二: 对整体添加 (),() 中随意换行
案例: 减肥计划
- """
- 案例: 减肥计划
- 要求: 输入星期数, 显示今天的减肥活动
- 周一: 跑步 周二: 游泳 周三: 健身房
- 周四: 动感单车 周五: 拳击 周六: 爬山
- 周日: 好好吃一顿
- """
- # 分析
- # 1. 键盘输入一个数字, 表示今天是星期几. int str? 都可以
- # 2. 分 7 种情况, 选择 if..elif..else 语法结构, 写 6 个条件, 最后一个用 else
- # 3. 每种情况中按照要求打印即可
- week = int(input("请输入今天星期几:"))
- if week == 1:
- print("跑步")
- elif week == 2:
- print("游泳")
- elif week == 3:
- print("健身房")
- elif week == 4:
- print("动感单车")
- elif week == 5:
- print("拳击")
- elif week == 6:
- print("爬山")
- else:
- print("大吃一顿")
案例: 外卖结算
- """
- 案例: 外卖结算
- 要求: 满 30 减 10 块, 满 50 减 20, 满 100 减 50, 会员折上再 8 折.
- """
- # 分析
- # 1. 输入的数据有两个, 1 是价格(小数),2 是会员资格(布尔)
- # 2. 满减活动分 4 种情况, 选择 if..elif..else 结构
- # 3. 在每种情况中做一件事, 就是价格发生变化
- price = float(input("请输入您的总价:"))
- member = input("请输入您是否是会员(是 / 否)")
- if price>= 100:
- price -= 50
- elif price>= 50:
- price -= 20
- elif price>= 30:
- price -= 10
- if member == "是":
- price *= 0.8
- print("您最终需要支付 %0.2f 元" % price)
来源: https://juejin.im/post/5c0759dde51d451def759f48