七、变量(重点)
1. 变量的作用
编写程序的目的就是将待处理的数据, 经过程序计算, 得出结果数据.
计算器举例:
1. 我们通过键盘输入两个操作数.
2. 程序获得键盘输入的数据后是否要将数据临时保存用于后续计算?
3. 输出运算结果.
简言之, 变量的作用是在程序运行过程中, 临时存储程序所需要的数据.
2. 变量的定义
变量在程序中表现为不重复的名字, 只需定义一个名字, 给这个名字变量赋值即可.
注意: 变量意味着存储的数据是可以变化的.
# 定义一个变量, 名字为 val, 这个变量临时存储的值为 100
val = 100
# 下面将这个变量的值重新赋值成其他的值 200
val = 200
# 输出变量的值, 变量名不要加引号, 例如: print('val')
print(val)
注意: 这里的等号(=), 叫做赋值运算符, 表示将=号后面的数据存储到名字为=号前面的名字变量里.
3. 标识符和关键字
在编写 Python 程序过程中, 经常需要给标识符(变量名字、函数名字等)取名字, 这些标识符需要遵循一定的规则.
1. 标识符规则:
1. 标识符由字母、下划线和数字组成,且数字不能开头.
2. Python 中的标识符是区分大小写的.
3. 变量名一般用小写加下划线组成.
4. 不能和关键字和已有的名字冲突.
2. 关键字:
关键字就是程序发明者规定的有特殊含义的单词, 又叫保留字.
3. 命名格式:
标识符名字要做到见名知意.
Python 使用 2 种命名格式:
1. 小写+下划线. 如果名字由1个单词组成, 则单词小写. 如果有多个单词构成, 多个小写的单词之间下划线连接. 例如: user_password. 在 Python 中, 变量名和函数名都使用该格式.
2. 大驼峰命名法. 如果名字只有一个单词, 首字母大写. 如果有多个单词构成, 每个单词首字母大写. 例如: EmployeeList. 在 Python 中, 类名使用大驼峰法.
3. 变量的类型
我们临时存储数据的目的是为了计算, 获取最终结果. 数据在运算过程中, 不同类型的数据之间的运算规则是不同的.
例如: 两个整数的运算规则和一个是整数、一个是’abc’字符串运算规则是不一样的. Python 为了理解我们要进行何种运算, 为我们提供了数据类型, 各种相同数据类型的运算规则, 以及各种不同数据类型之间的运算规则.
简言之, Python 中数据是有类型的, 不同的数据类型约束了数据之间的运算规则.
下面我们先了解下, 在 Python 中的数据都有哪些类型?
1. 字符串类型: 除了数字类型的数据, 我们处理更多的就是字符串类型数据, 例如 Word 中编辑文本, 其实就是在处理文本信息, 这些文本信息就是字符串类型.
2. 在Python 程序里, 无论任何字符写到两个单引号或者双引号内部, 我们称之为字符串. 例如: ‘abcd’
3. 布尔类型: 用于表示逻辑运算结果, 该变量只有两个值, True 或 False.
注意: Python中定义变量时不需要指定类型, Python 会根据变量的值来推导变量的类型. 我们可使用 type() 函数来查看变量的类型.
函数指的是一个单独的功能. type 函数的功能就是为了获得变量的类型.
4.不同类型之间的运算规则
我们需要借由 Python 提供的算术运算符来完成变量之间的运算, Python 提供了两种: 算术运算符和复合运算符.
1.算术运算符
运算符描述实例
+加a + b
–减a – b
*乘a * b
/除a / b
//取整除返回除法的整数部分(商) 9 // 2 输出结果 4
%取余数返回除法的余数 9 % 2 = 1
**幂又称次方、乘方,2 ** 3 = 8
2.复合赋值运算符
运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c – a
*=乘法赋值运算符c = a 等效于 c = ca
/=除法赋值运算符c /= a 等效于 c = c / a
//=取整除赋值运算符c //= a 等效于 c = c // a
%=取 模 (余数)赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a
注意:
1. 数字和数字之间可以进行所有的运算
2. 数字和字符串之间只能进行乘法运算.
3. 字符串和字符串之间可以进行加法运算.
5.变量的输入和输出
输入和输出, 都是相对于程序而言的. 输入和输出, 简称 I/O(input/output).
1. 从键盘读取数据到程序中, 并且从程序中将数据显示到屏幕, 叫做标准输入和输出.
2. 从文件读取数据到程序中, 并且从程序中将数据存储到文件, 叫做文件输入和输出.
3. 从网络读取数据到程序中, 并且从程序中将数据发送到网络, 叫做网络输入和输出(就业班学习).
我们本小节学习标准输入和输出. 我们知道数据的接收和发送需要依赖于计算机操作系统来控制硬件设备来完成, 内部实现机制很复杂, 但 Python 将这些复杂的步骤封装起来, 给了我们一种极其简单的实现方式. 通过调用 print 函数和 input 函数来完成.
5.1 print函数使用
print 用于向屏幕输出数据. 分为普通输出和格式化输出.
1. 普通输出变量
# 定义一个整数类型变量
my_number = 100
# 定义一个字符串类型变量
my_string = 'hello itcast'
# 输出两个变量
print(my_number)
print(my_string)
2.格式化输出变量
格式化输出就是让数据按照一定的格式输出, 例如: 我的名字是xxx.
进行格式化输出的流程;
1. 先定义输出格式.
2. 在格式中填充数据.
案例: 已知有数据: name = ‘司马二狗’, age = 30, salary = 19988.78, 请按照 “我的名字是xxx, 我的年龄是xxx, 我的工资是xxx” 的格式将变量输出.
% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符
定义输出格式, 需要用到格式化占位符. 用来暂时替代不确定的值.
% 被称为 格式化操作符,专门用于处理字符串中的格式
包含 % 的字符串,被称为 格式化字符串.
常用格式化字符含义
%s字符串
%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f浮点数,%.2f 表示小数点后只显示两位
%%输出 %
3. 格式化输出练习
1. 定义字符串变量 name,输出 我的名字叫 小明,请多多关照!
2. 定义整数变量 student_no,输出我的学号是 000001
3. 定义小数 price、weight、money,输出苹果单价 9.00 元/斤,购买了 5.00 斤,需要支付 45.00 元
name = "小明"
print("我的名字叫%s ,请多多关照!"%name)
student_no = 1
print("我的学号是:%06d"%student_no)
price = 9.00
weight = 5.0
money = price * weight
print("苹果单价%.2f 元/斤,购买了%.1f斤,需要支付%.3f元"%(price,weight,money))
5.2input函数使用
用python中可以使用input 函数从键盘等待用户的输入
字符串的变量 = input(“提示信息”)
注意:用户输入的任何内容,python中都是字符串
# 输入语句 得到的都是字符串 str
pass_word = input("请输入密码:")
print(pass_word) # 输出的数据
print(type(pass_word)) # str 输出类型
练习:
输入,姓名names 年龄age 地址address 邮箱email
输出 姓名是XXX 年龄是XXX 地址XXX 邮箱XXX
6.变量的类型转换
int(变量)将xxxx转换为int 整数
float(变量)将xxxx转换为浮点型
str(xxxx)将XXXX转换为字符串
案例:
需求
收银员输入 苹果的价格,单位:元/斤
收银员输入 用户购买苹果的重量,单位:斤
计算并且 输出 付款金额
7.其他的运算符
7.1 比较运算符
返回的结果只有 True False 是布尔型bool
# 两个数的比较 是布尔型 True False
jg1 = 3>4 #False
print(jg1)
jg2 = 3 !=4 # True
print(jg2)
jg3 = 3==3 #True
print(jg3)
# ==判断是否相等
7.2 逻辑运算符
and 左边和右边都是True 结果是True
凤姐
要求: 年龄 是大于25 薪资 并且 月薪 大于100万
鹿晗 年龄 28 并且 月薪 1000万
True and True ===True
宋小宝 年龄 38 并且 月薪 小于 30
True and False ==False
宝宝 年龄 18 并且 月薪 500万
False and True ===False
Or 或
左边 和右边 有一个 True 结果就是 True
not 取反
not False ===True
not True ===False
7.3 赋值运算符
注意:
一个等号= 是赋值
两个等号== 是判断是否相等
优先级
运算符 > 比较运算符 >逻辑运算符> 赋值运算符
Jg = 3*4>5 and 3+9>8
Jg = 12>5 and 12>8
Jg = True and True
Jg = True
八、判断(重点)
生活中的判断的场景
火车站安检
密码判断
1.if语句的基本格式(单分支)
If语句的格式:
if 要判断条件:
条件成立,执行该代码段
执行的流程
案例:判断年龄是否条件
# 输入你的年龄 判断 如果大于 18 允许处对象
age = int(input("请输入年龄:")) # int("8") 8
if age >18: # 满足条件 True
print("你可以处对象了")
注意:如果条件不满足,代码一条都不会执行
提示:代码段缩进为一个tab键,就是四个空格
2.If…. else编程条件判断(双分支)
If….else 语句的格式:
if 判断条件:
满足条件执行该代码段1
else:
不满足条件执行该代码段2
流程结构
从键盘获取是否有对象 1有/0没有
obj =int( input("是否有对象 1有 /0没有 请输入: "))
if obj ==1:
print("你好牛有对象")
else:
print("给你介绍柳岩")
3.if …elif …else编程判断语句(多分支)
If…elif…else语句的格式:
if 判断条件1:
如果判断条件1满足,执行代码段1
elif 判断条件2:
如果判断条件2满足,执行代码段2
elif 判断条件3:
如果判断条件3满足,执行代码段3
else:
上面的条件都不满足执行该语句
流程结构
案例:判断
定义 holiday_name 字符串变量记录节日名称
如果是 情人节 应该 买玫瑰/看电影
如果是 平安夜 应该 买苹果/吃大餐
如果是 生日 应该 买蛋糕
其他的日子每天都是节日啊……
day =input("请输入节日的名称:")
if day == "情人节":
print("买玫瑰/看电影")
elif day == "平安夜":
print("买苹果/吃大餐")
elif day == "生日":
print("买蛋糕")
else:
print("其他的日子每天都是节日")
注意:通常在后面加else ,如果上面的条件都不满足执行该代码
Input语句输入明星
案例:
如果姓名 是 鹿晗 输出我爱你
如果 名字 是关晓彤 输出 我恨你
如果 名字 是凤姐 输出 我不要你
否则 我谁都不爱
4.if嵌套
想一想:
坐火车的经过
If 嵌套语句的格式:
if 判断条件1:
满足条件1执行该语句
If 判断条件2:
条件2满足 执行该代码
else:
不满足条件1执行该代码
案例: 判断是否有票(1 有 0 没有)
ticket,判断携带物品刀子的长度length
能够用randint获取一个随机数
Import random # 模块导入
random.randint(0,10) #0 到10之间的随机数 int
案例:猜拳游戏
玩家输入 剪刀(0) 石头(1) 布(2)
电脑 产生一个随机数 0,1,2中的某一个
判断用户和电脑 输赢
玩家赢
电脑 0 玩家1
电脑 1 玩家 2
电脑 2 玩家 0
平局 玩家 ==电脑
否则
电脑赢
import random
# 让玩家自己输入
play = int(input("请输入:剪刀(0) 石头(1) 布(2):"))
# 电脑 随机数 0 1 2
com = random.randint(0,2)
print(play,com)
if (play==0 and com==1) or (play==1 and play==2 )or (play==2 and play==0):
print("玩家胜 牛")
elif play == com:
print("平局")
else:
print("输了,不要走,洗洗手在来")
源码
视频
1_关键字和回顾
2_命名规则
3_字符串
4_type测试数据类型
5_赋值运算
6_布尔型参与运算
7_字符串运算
8_格式化输出字符串和整型数
9_格式化输出案例
10_输出语句
11_输入语句
12_练习输入和输出
13_类型的转换
14_运算符的优先级
15_判断if
16_判断语句
17_总结
教程有播放和其他问题欢迎留言
更加欢迎你在评论区留下学习笔记,让更多的人能从中获取经验