目录
一、用户交互
什么是用户交互?
用户交互就是人往计算机中input/输入数据,计算机print/输出结果。也就是为了让计算机能够相认一样与用户沟通交流。
1、输入input
输入input,程序执行input,程序就会停下来等待用户输入 ,接收用户键盘输入任何的内容,都会被存成字符串类型
print() # 输出 type() # 获得变量的数据类型 input() # 输入 python内置函数 : python给提供好的一种功能
name = input("请输入姓名:") # input括号可以有内容,内容表示友好的提示作用 print(name) pwd = input("请输入银行卡密码:") print(pwd)
ps:输入的内容,存储的都是字符串类型
2、输出print
print("hello") # 输出单个值 print(12, 34, 56) # 一次性输出多个值,值用逗号隔开 print("100 + 200 =", 100 + 200) # print默认有换行功能 如果不想换行可以自行取消 print中有一个默认参数叫end , 默认 end = "\n"(代表换行) print("aaaa") # print("aaaa",end="\n") print("bbbb") print("aaaa",end="@") print("bbbb")
二、运算符
什么是运算符?
举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,+ 称为运算符。
1、算数运算符
完成基本运算的符号,简单来说就是四则运算符号
运算符 | 说明 | 实例 | 结果 |
+ | 加 | 12.45 + 15 | 27.45 |
- | 减 | 4.56 - 0.26 | 4.3 |
* | 乘 | 5 * 3.6 | 18.0 |
/ | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
// | 整除(只保留商的整数部分) | 7 // 2 | 3 |
% | 取余,即返回除法的余数 | 7 % 2 | 1 |
** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 2^4 |
ps:计算机中的除法一定是浮点数
1.1 数据类型转换
数据类型转换遵循一个基本原则:想转换什么类型就拿英文名包囊一下
int,float,bool,str
print(int('6') + int('9'))
price = float(input("请输入商品单价:")) # 2 块钱 农夫山泉 count = int(input("请输入商品数量:")) # 5频 money = float(input("请输入付款金额:")) # 给老板20块钱 res = money - price * count print("应该找回:", res)
str -> int
字符串转为其他类型时,必须长得像目标类型 前提是字符串得是整数字符串,否则报错
float -> int [截取小数部分,保留整数]
number = int(1.9) print(number)
bool -> int
True -> 1 False -> 0
int -> bool
除了0是False,其余都是True
print(bool(1)) # True print(bool(0)) # Fasle print(bool(100)) # True
str -> bool
除了空字符串是False,其余都是True
print(bool("摆烂阳")) print(bool("abc")) print(bool(""))
总结:所有类型转布尔型,除了0和空字符串以外都是True 字符串要转整型,int()内部必须是一个字符串数字,否则会报类型转换错误
要想转换成什么类型,就用这类型英文包囊一下就行
2、赋值运算符
运算符 | 说 明 | 用法举例 | 等价形式 |
= | 赋值运算 | x = y | x = y |
+= | 加赋值 | x += y | x = x + y |
-= | 减赋值 | x -= y | x = x - y |
*= | 乘赋值 | x *= y | x = x * y |
/= | 除赋值 | x /= y | x = x / y |
%= | 取余数赋值 | x %= y | x = x % y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 取整数赋值 | x //= y | x = x // y |
a = 10 a *= 6 # a = a * 6 print(a)
2.1 链式赋值
x=y=z=10 print(x) print(y) print(z) print(x,y,z)
2.2 交叉赋值
m = 10 n = 20 # m和n 两个变量的值 进行交换? # 方法一:借助第三方容器 思想 t = m m = n # m:20 n:20 n = t # 方法二:使用交叉赋值 python独有 m, n = n, m # 等号两边变量,顺序对应交换 print("m =", m) print("n =", n)
3、比较运算符
有比较运算符 就一定是一个 命题 ,有命题就一定有真和假。所以比较运算符的结果肯定是一个bool值
比较运算符 | 说明 |
> | 大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< | 小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== | 数学中的等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= | 大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= | 小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= | 不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
# 判断输入的是否是偶数 number = int(input("请输入一个整数:")) # 整数 => 可以被2整除 => n % 2 == 0 print(number % 2 == 0) # 判断一个数能否被 5整除 => n % 5 == 0
4、逻辑运算符
可以使用逻辑运算符来对 布尔值 进行 运算
and : 且 or : 或 not : 非
逻辑运算符 | 含义 | 基本格式 | 说明 |
and | 逻辑与运算,等价于数学中的“且” | a and b | 当两边为真时,结果为真,否则为假 |
or | 逻辑或运算,等价于数学中的“或” | a or b | 当两边有1个为真时,结果就就为真 |
not | 逻辑非运算,等价于数学中的“非” | not a | 取反,not后面跟布尔型 |
5、 身份运算符
身份运算符用于比较两个值的内存地址
运算符 | 描述 | 实例 |
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
id() : 获取一个变量在内存中的地址 a is b:判断a和b的内存地址是否相等 a is b # 等价于 id(a) == id(b)
关于python中的小整数池 [-5,256] 提前就固定了内存地址 但是仅限于cmd中。pycharm会将小整池扩展
6、 运算符优先级
从最高到最低优先级的所有运算符
运算符说明 | Python运算符 | 优先级 | 结合性 |
小括号 | ( ) | 19 | 无 |
乘方 | ** | 16 | 右 |
符号运算符 | +(正号)、-(负号) | 14 | 右 |
乘除 | *、/、//、% | 13 | 左 |
加减 | +、- | 12 | 左 |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
is 运算符 | is、is not | 6 | 左 |
逻辑非 | not | 4 | 右 |
逻辑与 | and | 3 | 左 |
逻辑或 | or | 2 | 左 |
优先级记得以下三句话 - 算术优先级 大于 比较优先级 - 比较优先级 大于 逻辑优先级 - 逻辑运算符内部:not > and > or 总结:加减乘除 > 比较 > not and or . 括号是老大 res = 3 > 4 and not 4 > 3 or 1 == 3 and 'x' == 'x' or 3 > 3 # F and not T or F and T or F # F and F or F and T or F # F or F or F # F