6.可变不可变类型+运算符(下)+流程控制之if判断

本文介绍了Python中的数据类型,强调了可变与不可变类型的特性,如int、float、str的不可变性,以及list和dict的可变性。此外,详细讲解了逻辑运算符not、and、or的用法,并通过实例展示了成员运算符in和notin的使用。最后,阐述了if判断语句的三种语法形式,包括简单的条件判断、带有else子句的判断以及多条件elif结构。文章旨在帮助读者深入理解Python的基础语法和逻辑控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.可变不可变类型(可哈希不可哈希)

1.可变不可变类型

可变类型:

值改变,id不变,证明改的是原值,证明原值是可以被改变的

不可改变类型:

值改变,id变,证明产生了新的值,压根没有改变原值,证明原值不可被改变

2.验证

2.1 int是不可改变类型

x = 10
print(id(x))  # 1667066912
x = 11
print(id(x))  # 1667066944

2.2 float是不可改变类型

y = 3.1
print(id(y))  # 30282112
y = 4.2
print(id(y))  # 30282136

2.3 str是不可改变类型

z = 'aaa'
print(id(z))  # 31175600
z = 'bbb'
print(id(z))  # 31209208
小结:int、float、str都被设计成了不可分割的整体,不能被改变

2.4 list是可变类型

l = ['111', 222, '555']
print(id(l))  # 32026312
l[0] = '666'
print(l)  # ['666', 222, '555']
print(id(l))  # 32026312

2.5 dict是可变类型

dic = {'a': 55555, 'b': 6666}
print(id(dic))  # 31157848
dic["a"] = 888
print(dic)  # {'a': 888, 'b': 6666}
print(id(dic))  # 31157848

2.6 bool类型 不可变 True和False

补充:dict字典类型中的key值,必须是不可变类型

2.运算符(下)

2.1逻辑运算符

条件:

​​​​​​​什么是条件?什么可以当做条件?为何要用条件?

显示布尔值 条件可以是比较运算符和布尔值
age=18
print(age>16)#条件判断后得到一个布尔值
is_beautiful=True
print(is_beautiful)
隐式布尔值 所有值都可以当做条件去用
其中0,None,空(空字符串、空列表、空字典)代表布尔值为False,其余都为True

1.not and or 的基本语法

not:就是把紧跟其后的那个条件结果取反
not与紧跟其后的条件是一个不可分割的整体
print(not 16 > 12)  # False
print(not True)  # False
print(not False)  # True
print(not 10)  # False
print(not 0)  # True
print(not '')  # True
and 逻辑与 ,用于连接左右两个条件,两个条件全True,最终结果才为True
条件1 and 条件2
print(True and 1 > 0)  # True
print(True and 2 > 3)  # False
or 逻辑或,用于连接左右两个条件,但凡有一个条件为True,最终结果为True
两个结果都为False时,最终结果才为False
print(3 > 2 or 0)  # True
print(0 or 3 < 2)  # False

2.not and or的优先级not>and>or

但是在编程中,为了一目了然,尽量配合括号使用,将各个逻辑运算分组,最后用and连接

2.2成员运算符 in 和 not in

print('e'in 'hello')#True
print(111 in [111 ,222])#True
#判断key是否在字典里
print(111 in {'a':111,'b':222})#False
print('a' in {'a':111,'b':222})#True

2.3身份运算符 is

判断两个变量id是否相等

3.流程控制之if判断

语法1:

# if 条件:
#     代码1
#     代码2
#     代码3
age=18
is_beautiful=True
star="水瓶座"
if 20>age>=18 and is_beautiful and star=='水瓶座':
    print('可以')

语法2:

# if 条件:
#     代码1
# else:
#     代码2
age=60
is_beautiful=True
star="水瓶座"
if 20>age>=18 and is_beautiful and star=='水瓶座':
    print('可以')
else:
    print('再见,然后深藏功与名。')

语法3:

# if 条件1:
#     代码1
#elif 条件2:
    # 代码2
# else:
#     代码3

score=88
if score>=90:
    print('优秀')
elif score<90 and score>=80:
    print('良好')
elif score<80 and score>=60:
    print('及格')
else:
    print('不及格')

#改进,因为只能执行一段,如果上面的条件符合就不会执行下面的条件判断了
#所以可以改进为:
score=88
if score>=90:
    print('优秀')
elif score>=80:
    print('良好')
elif score>=60:
    print('及格')
else:
    print('不及格')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值