Python巩固基础01—输入输出、运算符及优先级
一、输入输出
1、输出
使用print()
函数
- print函数接收各种类型的参数,将其打印。
- print函数中,遇到逗号则会输出空格,因此可以使用逗号拼接多个字符串。
- 可以实现数据的格式化输出
- 该函数默认换行,但可以使用其end参数来指定以什么结尾
## 格式化输出
>>> print('%.3f' % 3.1415926)
3.142
>>> print('{:.3f}'.format(3.1415926))
3.142
>>> for i in range(4):
... print(i, end=',')
...
0,1,2,3,
2、输入
使用input()
函数
- input函数可以加字符串参数,用于输入时的提示语
- input函数以字符串的形式来处理用户输入的数据,因此读取后的数据都是字符串格式,需要手动转换格式。
>>> name = input('please input name:')
please input name:
>? kangkang
>>> print(name)
kangkang
二、运算符及优先级
1、算术运算符
- 加 +,也可用于字符串的拼接
- 减 -
- 乘 *,也可用于生成重复n次的字符串
- 除 /
- 取余 %
- 地板除(取整除,向下取整) //
- 幂 **
>>> a = 2
>>> b = 5
>>> a + b
7
>>> a - b
-3
>>> a * b
10
>>> a / b
0.4
>>> a % b
2
>>> a // b
0
>>> a ** b
32
2、比较(关系)运算符
用于对常量、变量、表达式的结果进行大小比较
- 等于 ==
- 不等于 !=
- 大于 >
- 小于 <
- 大于等于 >=
- 小于等于 <=
>>> a = 6
>>> b = 9
>>> a == b
False
>>> a!= b
True
>>> a > b
False
>>> a < b
True
>>> a >= b
False
>>> a <= b
True
3、赋值运算符
- 赋值 =
- 加法赋值 +=
- 减法赋值 -=
- 乘法赋值 *=
- 除法赋值 /=
- 取模赋值 %=
- 幂赋值 **=
- 取整除赋值 //=
>>> a = 8
>>> b = 9
>>> a = b # 将b赋值给a
>>> a
9
>>> a = 1
>>> b = 2
>>> a += b # a = a + b
>>> a
3
>>> a -= b # a = a - b
>>> a
1
>>> a *= b # a = a * b
>>> a
2
>>> a /= b # a = a / b
>>> a
1.0
>>> a %= b # a = a % b
>>> a
1.0
>>> a **= b # a = a ** b
>>> a
1.0
>>> a //= b # a = a // b
>>> a
0.0
4、位运算符
位运算符,即将数字看作二进制形式,针对每一位来进行运算
- 按位与 & ,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
- 按位或 |,只要对应的二个二进位有一个为1时,结果位就为1
- 按位异或 ^ ,当两对应的二进位相异时,结果为1
- 按位取反 ~ ,对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
- 左移 << ,运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
- 右移 >> ,把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
5、逻辑运算符
类似于布尔值之间的运算
- 与-and,x and y,若x为False,则返回x的值;相反则返回y的值
- 或-or,x or y,若x不是False,则直接返回x的值;相反,则返回y的值
- 非-not ,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
>>> 0 and 3
0
>>> 2 and 3
3
>>> 0 or 1
1
>>> 2 or 0
2
>>> not 0
True
>>> not 3
False
6、成员运算符
判断某个成员是否在指定的序列中
- in,若在,则返回True;否则返回False
- not in, 若不在,则返回True;否则返回False
7、身份运算符
用于比较两个对象是否为同一个内存地址的对象;与==
不同的是,==
比较的是两个对象的值是否相同,而is比较的是两个对象的内存地址
- is,a is b,即判断id(a) == id(b)
- is not,a is not b,即判断id(a) != id(b)
>>> a = 7 # id=4383656800
>>> b = 7 # id=4383656800
>>> a is b
True
>>> a = 257 # id(a)=140269325210352
>>> b = 257 # id(b)=140269325212560
至于为何如此,因为python有个对象池,[-5, 256]这些小整数被定义在了一个小整数对象池中,若定义的数在这个范围内,就会直接引用该对象池中的对象,不会重新进行创建,所以他们的id(即内存地址)是一样的,也是同一个对象;而在这个范围外的,就会重新进行创建,因此是两个不同的对象。
8、运算符优先级
关于运算符优先级,太多了懒得记忆~在写代码过程中善用括号,还能提高可阅读性。