Python基础语法(三)基础入门——输入、 强制转换数据类型、 运算符
目标
- 输入功能的语法
- 输入input的特点
- 数据类型转换的必要性
- 数据类型转换常用方法
- 掌握常用运算符的作用
输入
在Python中,程序接收用户输入的数据的功能即是输入。
输入的语法
input("提示信息") |
输入的特点
-
当程序执行到
input
,等待用户输入,输入完成之后才继续向下执行。 -
在Python中,
input
接收用户输入后,一般存储到变量,方便使用。 -
在Python中,
input
会把接收到的任意用户输入的数据都当做字符串处理。
password = input("请输入您的密码:") |
控制台输出结果如下:
总结
-
输入功能
- input(‘提示文字’)
-
输入的特点
-
一般将input接收的数据存储到变量
-
input接收的任何数据默认都是字符串数据类型
-
强制转换数据类型
转换数据类型的作用
问:input()接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作?
答:转换数据类型即可,即将字符串类型转换成整型。将input()函数得到的数据(已自动成为字符串)强制转换为其他类型
转换数据类型的函数
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象(返回数据的原本类型) |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个Unicode字符 |
ord(x ) | 将一个字符转换为它的ASCII整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
快速体验
需求:input接收用户输入,用户输入“1”,将这个数据1转换成整型。
# 1. 接收用户输入 |
实验
# 1. float() -- 转换成浮点型 |
注:print得到数据是不会将得到的数据字符串化处理的,只有当格式化输出需要时,在print()函数加入格式化字符才会输出相应的类型
总结
-
转换数据类型常用的函数
- int()
- float()
- str()
- list()
- tuple()
- eval()
运算符
运算符的分类
-
算数运算符
-
赋值运算符
-
复合赋值运算符
-
比较运算符
-
逻辑运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果为 2 |
- | 减 | 1-1 输出结果为 0 |
* | 乘 | 2 * 2 输出结果为 4 |
/ | 除(除尽) | 10 / 2 输出结果为 5 |
// | 整除(取商,往小的方向取整数) | 9 // 4 输出结果为2 |
% | 取余(取模, 返回除法的余数) | 9 % 4 输出结果为 1 |
** | 指数 | 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2 |
() | 小括号 | 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9 |
注意:
-
混合运算优先级顺序:
()
高于**
高于*
/
//
%
高于+
-
-
只要运算中含浮点数(小数),计算出来的值一定是浮点数(小数)
赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值 | 将= 右侧的结果赋值给等号左侧的变量 |
-
单个变量赋值
num = 1 |
-
多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world' |
结果如下:
-
多变量赋相同值
a = b = 10 |
结果如下:
复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
:= | 海象运算符,可在表达式内部为变量赋值。 |
对于海象运算符=,它是Python3.8 版本新增运算符。在这个示例中,赋值表达式可以避免调用 len()
两次:
if (n := len(a)) > 10: |
示例:
a = 100 |
对于复杂的含复合赋值运算符的表达式:
先算复合赋值运算符右侧的表达式,再算复合赋值运算。
d = 56 |
比较运算符
比较运算符也叫关系运算符, 通常用来判断。
运算符 | 描述 | 实例 |
---|---|---|
== | 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True |
!= | 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True |
> | 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a > b) 为 True |
< | 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False |
>= | 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True |
<= | 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=3,b=3,则(a <= b) 为 True |
a = 7 |
结果只能得到True或False,用于判断语句较多
逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
a = 1 |
使用运算符时,尽量加小括号()来运算
拓展
数字之间的逻辑运算
and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
a = 0 |
位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
示例:
a = 60 # 60 = 0011 1100 |
以上实例输出结果:
1 - c 的值为: 12 |
总结
-
算数运算的优先级
- 混合运算优先级顺序:
()
高于**
高于*
/
//
%
高于+
-
- 混合运算优先级顺序:
-
赋值运算符
- =
-
复合赋值运算符
- +=
- -=
- 优先级
- 先算复合赋值运算符右侧的表达式
- 再算复合赋值运算的算数运算
- 最后算赋值运算
-
比较运算符
- 判断相等: ==
- 大于等于: >=
- 小于等于:<=
- 不等于: !=
-
逻辑运算符
- 与: and
- 或:or
- 非:not
-
位运算符
- 按位与&
- 按位或|
- 按位异或^
- 按位取反~
- 左移动<< 、右移动>>