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)