python笔记--input()、运算符、布尔、循环

1. input()函数

在这里插入图片描述

# 输入
present = input('请输入值:')
# 打印显示
print(present)

执行结果:
在这里插入图片描述

2. 运算符

2.1 算术运算符

# 除法运算
print(11/2)
# 整除运算
print(11//2)

在这里插入图片描述

# 取余运算
print(11%2)
# 幂运算 2^3
print(2**3)

在这里插入图片描述

一正一负整除向下取整
取余公式:余数=被除数-除数*商

print(9//-4)
print(-9//4)
print('\n')
# 9 - (-3) * (-4) = 9 - 12 = -3
print(9 % -4)
# -9 - (-3) * 4 = -9 - (-12) = -9 + 12 = 3
print(-9 % 4)

在这里插入图片描述

2.2 赋值运算符

  • 运算顺序从右到左 a=3+4
  • 支持链式赋值 a=b=c=20
  • 支持参数赋值 +=、-=、*=、/=、%=
  • 支持系列解包赋值 a,b,c=20,30,40

2.3 比较运算符

== 比较的是对象的值
is 比较的是对象的标识

a,b = 20,30
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
print(a == b)
print(a is b)

在这里插入图片描述

区别 == 和 is 的使用

list1 = [1,2,3]
list2 = [1,2,3]
print(list1 == list2)
print(id(list1), id(list2))
print(list1 is list2)
print(list1 is not list2)

在这里插入图片描述

2.4 布尔运算符

and 与
or 或
not 非
in
not in

list1 = [1,2,3]
print(1 in list1)

str = 'hello world'
print('e' in str)
print('z' not in str)

在这里插入图片描述

2.5 位运算符

& 位与
| 位或
<< 左移位运算符
>> 右移位运算符

左移低位补0
右移高位补0,低位截断

#   10011011
#   00101101
# & 00001001 等于10进制 9
# | 10111111 等于10进制 191
a = 0b10011011
b = 0b00101101
print(a & b)
print(a | b)

#   10011011 左移2位
# 1001101100 10进制 620
print(a << 2)
#   10011011 右移2位
# 00100110 10进制 38
print(a >> 2)

在这里插入图片描述

运算优先级

算术运算(+ - * /) > 位运算(& | << >>)> 比较运算(> < >= <= !=) > 布尔运算(and or not) > 赋值运算

在这里插入图片描述

3. 对象的布尔值

Python一切皆对象,所有对象都有一个布尔值
bool() 函数获取对象的布尔值

以下对象的布尔值为False

  • False
  • 数值0
  • None
  • 空字符串
  • 空列表
  • 空元组
  • 空字典
  • 空集合
print(bool(False))
print(bool(0))
print(bool(None))
print(bool(0.0))
print(bool(''))
print(bool([]))  # 空列表
print(bool(list()))  # 空列表
print(bool(()))  # 空元组
print(bool(tuple()))  # 空元组
print(bool({
    
    }))  # 空字典
print(bool(dict())) # 空字典
print(bool(set()))  # 空集合

在这里插入图片描述

4. pass语句

语句什么都不做,只是一个占位符,用在语法上需要语句的地方

# pass用来占位,用于搭建代码结构时,不知道具体逻辑的情况下填充
a = input('请输入:')
if a == 'Y':
    pass
else:
    pass

5. 循环结构

5.1 range()函数

  • 用于生成一个整数序列
  • 返回值是一个迭代对象
  • 不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为只有用到range对象时,才会去计算序列

创建range对象的三种方式:

range(stop)
range(start, stop)
range(start, stop, step)
r = range(10) # 0~9  [0, 10)
print(list(r))

r = range(1, 10) # 1~9  [1, 10)
print(list(r))

r = range(1, 10, 2) # 步长为2
print(list(r))

print(9 in r) # 判断9是否在r中
print(10 in r) # 判断10是否在r中

在这里插入图片描述

5.2 else语句

三种使用情况:

  • if else
  • while else
  • for else
# 当for语句正常结束时,与for相匹配的else才会执行
# 当for语句执行break结束时,非正常结束,与for相匹配的else不执行
for i in range(3):
    if False:
        break
    else:
        print('in')
else:
    print('out')

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/swy66/article/details/126321645