码迷,mamicode.com
首页 > 编程语言 > 详细

Python 入门第四天

时间:2020-06-04 19:53:10      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:tar   并且   tag   temp   第四天   list   cal   地址   color   

 

目录:

一、布尔类型

二、可变、不可变类型

三、赋值运算符:
       增量赋值
       链式赋值

       增量赋值

       交叉赋值
       解压赋值

四、、身份运算is与==

五、if判断

一、布尔类型:True和False

1、显式的布尔值
1.1.直接定义布尔类型的变量值
tag=True


1.2.通过比较运算得到布尔值
10 == 10
3 > 2

2、隐式的布尔值
隐式的布尔值为False的数据类型有:0,None,空

print(bool(0))
print(bool(None))
print(bool(""))
print(bool([]))
print(bool({}))

print(bool(1))

print(bool([‘a‘]))

3、布尔值: 算到哪个位置结束就把那个位置的值当做结果返回

 print(1 or 3)
 print(1 and 3)
 print(0 and 2 and 1)
 print(0 and 2 or 1 or 4)
print(0 or False and 1)

二、可变不可变类型

1、可变类型:list,dict

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

 2、不可变类型:intfloatstr

在值改变的情况下,id号也跟着变了,也就是说内存地址变了,证明不是在改原来内存空间中的值,

 而是申请了新的内存空间,产生了新的值,即原值不可变

 x=10

 print(id(x))

 x=11

 print(id(x))

 

 x=10.3

 print(id(x))

 x=11.4

 print(id(x))

 

 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))

 

 ps:字典的value可以是任意类型,但是字典的key必须是不可变类型

 dic={1111111:"abc","k2":"def",3.1:‘aaa‘}

 print(dic[1111111])

 

 

 下面写法推荐使用列表代替

 dic={0:‘egon‘,1:"egon1",2:"egon3"}

 

 print(dic[0])

 print(dic[1])

 print(dic[2])

 

 了解:不可哈希类型就是可变类型,可哈希类型就是不可变类型

 dic={[1,2,3]:"abc"}

三、赋值运算符补充知识点

 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)

 

 ps.变量名的个数必须与包含的值的个数相同,多一个不行,少一个也不行

 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)

 

 了解

 a,b,c,d,e="hello"

 print(a,type(a))

 print(b)

 print(c)

 print(d)

 print(e)

 四、身份运算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))

 

 

 结论:如果要变量一个变量是否等于NoneTrueFalse,推荐使用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判断完整的语法

"""

if 条件1:

    子代码块1

elif 条件2:

    子代码块2

elif 条件3:

    子代码块3

...

else:

    子代码块

"""

 

 2、必须要有的是if,只有一个if是可以的

 inp_name=input(‘你的名字: ‘)

 if inp_name == "egon":

     print(‘输入正确‘)

 

 print(‘其他代码‘)

 

 3if+elif

 inp_name=input(‘你的名字: ‘)

 if inp_name == "egon":

     print(‘您的身份是超级vip‘)

 elif inp_name == "张三":

     print(‘您的身份是钻石vip‘)

 elif inp_name == "李四":

     print(‘您的身份是铂金vip‘)

 

 print(‘其他代码‘)

 

 4if+else

 inp_name = input(‘你的用户名: ‘)

 inp_pwd = input(‘你的密码: ‘)

 

 if inp_name == "egon" and inp_pwd == "123":

     print(‘登录成功‘)

 else:

     print("刚刚输入的用户名或密码错误")

 

 print(‘其他代码‘)

 

 5if+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("很差")

 

 

 补充

 age = 19

 age >= 18 and age <= 20

 print(20 >= age >= 18)

 print(18 <= age <= 20)

 

 if判断嵌套if

print(‘ok0‘)

if 10 > 3:

    if 1 == 1:

        print(‘ok1‘)

        print(‘ok2‘)

    print(‘ok3‘)

print(‘ok4‘)

 

Python 入门第四天

标签:tar   并且   tag   temp   第四天   list   cal   地址   color   

原文地址:https://www.cnblogs.com/gy1996-07/p/13045528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!