本篇将介绍python中有关用户交互和运算符的知识
目录
前言
对于计算机来说,需要输入与输出,只有输入之后再通过运算将结果进行输出。本篇主要介绍python中的输入、输出以及运算。
一、用户交互
用户交互就是与人与计算机进行交流,通过输入,计算机通过计算后输出值。
1.1 输入 input
在python中输入语句就是input(),通过调用input函数可以在python中进行输入数据的操作,然后控制台就会读取到你所输入的数据。
但在这里有一个很重要的点:无论输入的数字类型还是字符串类型,最后接受到的都是字符串类型。
具体使用如下所示:
name = input() # 进行输入,并将输入得到的值赋值给name
print(name) # 输出值
print(type(name)) # 输出name的类型
石昊
>> 石昊
>> <class 'str'>
进程已结束,退出代码0
当然在python中为了方便提示输入,可以在input()里面写入字符串用作提示符,在命令台中如实输出提示符。如下:
name = input('输入你的名号:') # 进行输入,并将输入得到的值赋值给name
print(name) # 输出值
print(type(name)) # 输出name的类型
输入你的名号:荒天帝
>> 荒天帝
>> <class 'str'>
进程已结束,退出代码0
在进行input提示符输入的时候,记得要打上引号,因为提示符是作为字符串进行输出的。
1.2 输出 print
在前面,我已经使用过很多次print()函数了,相信大家对这个不陌生的,在打开python大门的第一行代码就是print('hello,world')
输出其实就是计算机向用户输出数据。
但在print()中,有一个参数就是end参数,默认值就是\n,换行符。
从下面的代码中我们可以很好的看到end参数的作用:
print('石昊')
print('石毅')
print('小熊',end=' ')
print('小强')
>> 石昊
>> 石毅
>> 小熊 小强
进程已结束,退出代码0
可以看到,加上end参数以后,相当于取消了换行。在end参数中引号的内容其实就是在输出后,再一次输出的值。
print('石昊')
print('石毅')
print('小熊',end='$$$')
print('小强')
>> 石昊
>> 石毅
>> 小熊$$$小强
进程已结束,退出代码0
在print()中其实可以输出多项内容,其中用逗号隔开,在俩值中间输出空格。
name = '石昊'
do_thing = '在干架'
print(name,do_thing) # 输出两个变量,当然也可以直接输出两个字符串常量
>> 石昊 在干架
进程已结束,退出代码0
二、运算符
2.1、算术运算符
算术运算符就是我们在数学中常见的一些加减乘除,以及python中还有一些求余之类的运算符
在这里有一张算术运算符的表格:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加——两个数相加 | a + b 输出结果 30 |
- | 减——得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘——两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除——x 除以 y | b / a 输出结果 2 |
% | 取模——返回除法的余数 | b % a 输出结果 0 |
** | 幂——返回x的y次幂 | a**b为10的20次方,输出结果100000000000000000000 |
// | 取整数——返回商的整数部分(向下取整) | 9 // 2 ——>4 |
() | 小括号 | 提高运算符优先级,比如(1+2)*3 |
2.2、赋值运算符
赋值运算符就是平时给变量进行赋值的运算符,以及一些快捷进行加减乘除的赋值运算
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | 把 = 号右边的结果 赋给 左边的变量 如:num = 1 + 2 * 3,结果num的值为? |
+= | 加法赋值运算符 | 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 |
2.3、比较运算符
比较运算符主要就是用于比较两个值是否大于小于或者等于之类的。
所有的比较运算符返回的值都是布尔值True或者False
对于字符串的比较来说,主要是通过ascii编码表进行比较大小的
2.4、逻辑运算符
p为真,q为假,p且q为假,p或q为真,非q为真
前两个主要用于判断两个表达式的真假,后一个是对值进行取反
逻辑运算符 | 含义 | 基本格式 | 说明 |
---|---|---|---|
and | 逻辑与运算,等价于数学中的”且“ | a and b | 当a和b两个表达式都为真时,a and b 的结果才为真,否则为假 |
or | 逻辑或运算,等价于数学中的”或“ | a or b | 当 a 和 b两个表达式都为假时,a or b 的结果才是假,否则为真 |
not | 逻辑非运算,等价于数学中的”非“ | not a | 如果 a 为真,那么not a的结果为假;如果 a 为假,那么not a的结果为真,相当于对 a 取反 |
其实计算机是很懒的,对于or运算来说,只要判断第一个表达式为真之后,程序就会跳过后面的表达式,直接输出为真,如果为假,则要计算两次。
对于and运算来说,始终都要进行两次运算。
2.5、成员运算符 in、not in
用于判断元素是否在某个集合之中,返回的类型为布尔值类型
lst = [1,2,3,4] # 定义一个列表
print(1 in lst)
print(1 not in lst)
>> True
>> False
进程已结束,退出代码0
2.6、身份运算符 is、is not
判断两个值是否相等
这里有一点需要特别注意的,is主要是从根本上去比较的,主要是比较内存地址。
is和==有区别,==只是看两个值是否长得一样,is主要是看本质是不是一样
比如两个人都叫张三,用==就是True,用is就是False,一个是比较名字,一个是比较整个人。
python中可以用id()查看一个值的内存地址
2.7、比较符的优先级
常用的主要是三种:算术运算符>比较运算符>逻辑运算符
逻辑运算符内部三个优先级为:not>and>or
以下是一张优先级的表
运算符说明 | Python运算符 | 优先级 | 结合性 | 优先级顺序 |
---|---|---|---|---|
小括号 | ( ) | 19 | 无 | 高 ︿ | | | | | | | | | | | | | | | | | | | | | | 低 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 | |
属性访问 | x.attribute | 17 | 左 | |
乘方 | ** | 16 | 右 | |
按位取反 | ~ | 15 | 右 | |
符号运算符 | +(正号)、-(负号) | 14 | 右 | |
乘除 | *、/、//、% | 13 | 左 | |
加减 | +、- | 12 | 左 | |
位移 | >>、<< | 11 | 左 | |
按位与 | & | 10 | 右 | |
按位异或 | ^ | 9 | 左 | |
按位或 | | | 8 | 左 | |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 | |
is 运算符 | is、is not | 6 | 左 | |
in 运算符 | in、not in | 5 | 左 | |
逻辑非 | not | 4 | 右 | |
逻辑与 | and | 3 | 左 | |
逻辑或 | or | 2 | 左 | |
逗号运算符 | exp1, exp2 | 1 | 左 |
总结
在进行与计算机交互的时候,我们常常需要输入值,然后控制台给我们返回值,这就要用到python里面的input()和print()函数来进行交互。
除此之外,本篇还介绍了除位运算之外的7种运算符,位运算后面单独进行讲解,因为其中涉及到一些二进制有关的知识,本篇就先跳过。
在python中我们会常常用到一些数学运算,用到时,我们就需要借助符号去表达式子,但是在python中的运算符和在数学上面的运算符是有一些差别的,所以我们需要单独进行记忆。