python学习day04

可变不可变类型

1.可变类型:list,dict
在值改变的情况下,id号不变,也就是说内存地址不变,证明就是在改原来内存空间中的值,即原值可变

x=10
print(id(x))
x=11
print(id(x))	

x=10.3
print(id(x))
x=11.4
print(id(x))

2、不可变类型:int、float、str
在值改变的情况下,id号也跟着变了,也就是说内存地址变了,证明不是在改原来内存空间中的值, 而是申请了新的内存空间,产生了新的值,即原值不可变

x="abc"
print(id(x))
x="aBc"
print(id(x))

l1=[111,"aaaa"]
print(id(l1))
l1[0]=222222
print(l1)
print(id(l1))

dic={'k1':111,'k2':222}
print(id(dic))
dic['k1']="abc"
print(dic)
print(id(dic))

#字典的value可以是任意类型,但是字典的key必须是不可变类型
dic={1111111:"abc","k2":"def",3.1:'aaa'}
print(dic[1111111])

赋值运算符

# 1、增量赋值
# age=18
# age += 1
# print(age)

# 2、链式赋值
# x=10
# y=x
# z=y

# z = y = x = 10
# print(x, y, z)
# print(id(x), id(y), id(z))

# 3、交叉赋值
# m = 111
# n = 222

# temp=m
# m=n
# n=temp
# m, n = n, m
# print(m, n)

# 4、解压赋值
# salaries = [1.1, 2.2, 3.3, 4.4, 5.5]
# mon0 = salaries[0]
# mon1 = salaries[1]
# mon2 = salaries[2]
# mon3 = salaries[3]
# mon4 = salaries[4]

# mon0, mon1, mon2, mon3, mon4 = salaries
# print(mon0)
# print(mon1)
# print(mon2)
# print(mon3)
# print(mon4)

# 变量名的个数必须与包含的值的个数相同,多一个不行,少一个也不行
# mon0, mon1, mon2, mon3, mon4, mon5 = salaries
# mon0, mon1, mon2, mon3 = salaries

# mon0, mon1, mon2, *_ = salaries
# print(mon0)
# print(mon1)
# print(mon2)
# print(_)

# *_, x, y, z = salaries
# print(x)
# print(y)
# print(z)

# x, *_, z = salaries
# print(x)
# print(z)


# dic={"k1":111,"k2":222}
# del dic['k1']
# print(dic)
# dic["kkk"]=111
# print(dic)

# 对于字典来说解压赋值取出来的是字典的key
# dic = {"k1": 111, "k2": 222}
# x, y = dic
# print(x, y)

身份运算is与==

# ==判断的是值是否相等
x = ['a', 'b']
y = ['a', 'b']
# print(x == y)

# is判断的是id是否相等
print(id(x))
print(id(y))
print(x is y)

# 分析:
# is判断的结果为True,即二者的id一样,即二者内存地址一样,即二者就是一个东西,即值一定相等
# 如果==判断的结果为True,即二者的值一样,那么二者的内存地址可能不一样

# x=None
# y=None
# # print(x == None)
print(x is None)
print(x is y)

print((10 > 3) is True)
print((10 > 3) == True)
# x=True
# y=True
# z=True
print(id(x))
print(id(y))
print(id(z))


# 结论:如果要变量一个变量是否等于None、True、False,推荐使用is去判断
x = 10
y = 10
# print(x is y)
print(x == y)
# print(x == 10)
# print(x is 10) # 不要这么用

流程控制之if判断

1.什么是if判断
判断 条件1 并且 条件2:
    做什么事。。。
否则:
    做什么事。。。
2.为何要有if判断
为了控制计算机能够像人一样去完成判断的过程
3.如何用if判断


# 1、介绍
"""
print('start....')
if 3 != 3 and 10 > 8:
	print("条件成立1")
    print("条件成立2")
    print("条件成立3")
else:
    print("条件不成立1")
    print("条件不成立2")
    print("条件不成立3")
print('end....')
"""
"""
if 条件1:
    子代码块1
elif 条件2:
    子代码块2
elif 条件3:
    子代码块3
...
else:
    子代码块
"""
# 2、必须要有的是if,只有一个if是可以的
inp_name=input('你的名字: ')
if inp_name == "egon":
    print('输入正确')

print('其他代码')

# 3、if+elif
# inp_name=input('你的名字: ')
# if inp_name == "egon":
#     print('您的身份是超级vip')
# elif inp_name == "张三":
#     print('您的身份是钻石vip')
# elif inp_name == "李四":
#     print('您的身份是铂金vip')
#
# print('其他代码')

# 4、if+else
# inp_name = input('你的用户名: ')
# inp_pwd = input('你的密码: ')
#
# if inp_name == "egon" and inp_pwd == "123":
#     print('登录成功')
# else:
#     print("刚刚输入的用户名或密码错误")
#
# print('其他代码')

# 5、if+elif+else
"""
如果:成绩>=90,那么:优秀

如果成绩>=80且<90,那么:良好

如果成绩>=70且<80,那么:普通

其他情况:很差
"""
# score = input("请输入您的成绩: ")
# score = int(score)
# if score >= 90:
#     print("优秀")
# elif score >= 80:
#     print("良好")
# elif score >= 70:
#     print("普通")
# else:
#     print("很差")

# if判断嵌套if
print('ok0')
if 10 > 3:
    if 1 == 1:
        print('ok1')
        print('ok2')
    print('ok3') 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值