教师妹学python之二:变量与运算符
计算机的存储系统
计算机可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。-百度百科
计算机是存储数据、计算数据的电子设备。那么计算机系统包含三种存储介质:寄存器、内存、硬盘。
寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。寄存器存储的数据都是CPU正在使用的数据,存取速度非常快。
内存(Memory)也称内存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。
例如我们平常上网打开的网页、后台打开的音乐播放软件等,因为这些网页、软件没有关闭,它们的数据展暂时储在内存中。下图是我的电脑内存存储空间使用情况:
硬盘是计算机最主要的数据存储设备。像我们平常下载的电影、音乐、PDF文档等资源都是存储在硬盘上,硬盘的特点就是价格便宜但是数据存储速度较慢。
下图是我的电脑的硬盘存储空间使用情况:
下图很好的说明了这几种存储介质存取数据的速度大小。在一个计算机中,通常硬盘空间>内存空间>寄存器空间。
考一考:
看一下自己手里的手机配置怎样的呢?例如华为mate40Pro,8G+128G
8G->内存
128G->存储硬盘
通常来说大容量的存储硬盘可以存储更多数据,较大的内存手机运行速度要相对较快。这也是为什么配置越高价格越高的原因。
变量
通过上述介绍大家都已经了解到我们通过电脑打游戏、看片下电影都是离不开计算机的存储系统的。例如下图:
我的桌面有这些PDF文件,每个PDF文件都有一个名字,当然我可以随意修改文件的名字。但是你尝试把两个文件使用同一个名字的时候,其实是行不通的,例如修改第二个文件名字为097,则会提示你名字已被占用。
为什么同一个文件路径下相同的文件类型不能有相同的名字?这是因为你的电脑硬盘存储的数据都是有唯一的存储地址。你可以把这个存储地址理解为 某个文件的唯一索引。
什么是变量呢?
如果把箱子比作存储地址,将箱子里装满书,那么“我是箱子”就是变量,而这个变量指向书的存储地址。我是变量代表的内容随着箱子里的内容变化而变化。
简言之:变量就是编程中最基本的存储单位,变量会暂时性存储你放进去的东西。
定义
变量的概念基本上和初中代数的方程变量是一样的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型(字符、布尔等)。
下面使用Python操作一下变量的赋值过程:
命名规则
当然,变量的命名也是遵循一定规则的,我们一般不使用中文字符进行变量命名,上述例子为了方便大家理解的。
变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
想一想:此时变量b的值是多少?
a = '123' b = a a = '456' print(b)
运算符
什么是运算符呢?
回想一下数学中的算术运算符 加减乘除(+-x/),编程的运算符概念也是类似的。数学中的运算符主要是进行多个数据之间的运算,程序中的运算符主要用于执行程序代码运算,会针对一个以上操作数进行运算。
运算符类型
算术运算符
a = 10, b = 21
运算符 | 描述 | 实例 |
+ | 加 - 两个对象相加 | a + b 输出结果 31 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -11 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 210 |
/ | 除 - x 除以 y | b / a 输出结果 2.1 |
% | 取模 - 返回除法的余数 | b % a 输出结果 1 |
** | 幂 - 返回x的y次幂 | a**b 为10的21次方 |
// | 取整除 - 向下取接近商的整数 | 9//2 = 4 -9//2 = -5 |
比较运算符
a = 10, b = 21
运算符 | 描述 | 实例 |
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y | (a < b) 返回 True。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 True。 |
逻辑运算符
a = 10, b = 20
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与": 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" : 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非": 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
赋值运算符
算符 | 描述 | 实例 |
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
实践
利用Python编写一个计算器
# 定义函数 def add(x, y): """相加""" return x + y def subtract(x, y): """相减""" return x - y def multiply(x, y): """相乘""" return x * y def divide(x, y): """相除""" return x / y # 用户输入 print("选择运算:") print("1、相加") print("2、相减") print("3、相乘") print("4、相除") choice = input("输入你的选择(1/2/3/4):") num1 = int(input("输入第一个数字: ")) num2 = int(input("输入第二个数字: ")) if choice == '1': print(num1,"+",num2,"=", add(num1,num2)) elif choice == '2': print(num1,"-",num2,"=", subtract(num1,num2)) elif choice == '3': print(num1,"*",num2,"=", multiply(num1,num2)) elif choice == '4': print(num1,"/",num2,"=", divide(num1,num2)) else: print("非法输入")
计算1+2=3实例: