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、运算符优先级
关于运算符优先级,太多了懒得记忆~在写代码过程中善用括号,还能提高可阅读性。

posted @ 2022-02-14 17:09  hook_what  阅读(174)  评论(0编辑  收藏  举报