1、可变不可变类型

指:对前面所学类型做一个可变和不可变类型的分类

可变类型:值改变,ID不变,证明改的是原值,原值是可以被改变的

不可变类型:值改变,ID也变了,证明是产生新的值,压根没有改变原值,所以证明原值是不可以被修改的

列:
x=10
print(id(x))
x=11
print(id(x)) #最终结果为不同的ID ,所以整型是不可变类型 列:
l=['aaa','bbb','ccc']
print(id(l))
l[0]='AAA'
print(id(l)) #最终结果为相同的ID ,所以列表是可变类型

小结:整型,浮点,字符串都被设计成了不可分割的整体,不能够改变

列表和字典类型是可变类型

布尔是不可变类型

关于字典补充:

定义:{}内用逗号分隔开key:vlaue,其中value可以是任何类型,但是key必须是不可变类型。

列:
msg={[aaa]:malin}
print(msg) #这是语法错误,解释器执行不了,会报错

2、条件

因为我们要判断一个条件是否成立需要一个值去对应它,而这个值就是bool值,因为可以根据它进行判断是

否执行下面的代码。

显式布尔值:True,False

条件可以是:比较运算符

列:
age=18
print(age>16) #条判断之后会得到一个布尔值

条件可以是True,False

列:
is_beautiful == True #直接用True和False作为判断条件

隐式布尔值:所有数据类型,其中0,None,空(空字符串,空列表,空字典)代表的值为False,

其余的都为真

列:
is_beautiful == 0 #代表is_beautiful为假
is_beautiful == 1 #代表is_beautiful为真

3、逻辑运算符

逻辑运算符用于连接多个条件,进行关联判断,会返回True或False有and,or,not。

3.1 not

not把紧跟其后的那个条件结果取反,比如not True为假,not False为真

print(not 16 > 13)  #结果为假
print(not 10) #结果为假
print(not 0) #结果为真
print(not None) #结果为真

ps:not与紧跟其后的那个条件是一个不可分割的整体

3.2 and:逻辑与

用来连接左右两个条件,两个条件同时为True,结果才为True。

可以用and连接多个条件会按照从左到右的顺序

依次判断,一旦某个条件为False,则不会再往右

判断,可以立即判定最终结果就为False,只有在

所有条件的结果都为True的情况下,最终结果才

为True。

列:
True and 1 and 10>1 #条件全为真,最终结果为真
not True and 9 #有一个为假,最终结果为假

3.3 or:逻辑或

用来间接左右两个条件,两个条件但凡有一个为True,

最终结果就为True。

可以用or连接多个条件,会按照从左到右的顺序

依次判断,一旦某个条件为True,则不会再往右判

断,可以立即判定最终的结果就为True,只有在所

有条件的结果都为False的情况下,最终结果才为

False。

列:
True or false or 8=1 #其中有一个条件为真,最终的结果就为真
9<3 or not True or 3>9 #只有所有条件都为假,最终的结果采为假

3.4优先级

ps:如果单独就只是一串and连接,或者说单独就只

一串or连接,按照从左到右的顺序一次运行

如果是混合使用就要考虑优先级了

次序:not>and>or

(1) not的优先级最高,就是把紧跟其后的那个条件

结果取反,所以not与紧跟其后的条件不可分割

(2) 如果语句中既有and也有or,那么先用括号把

and的左右两个条件给括起来,然后再进行运行

4、成员运算

in 可以判断某一个对象包含与另外一个对象则返回True否则False

nor in 可以判断某一个对象没有包含

于另外一个对象则返回True否则返回False

适用于字符串,列表,字典

列: print("egon" in "hello egon")     # 判断一个字符串是否存在于一个大字符串中

5、身份运算符

is 比较的是ID,两个对象的ID相同则返回True

列:
age=25
age1=22
print(age is age1) #它们的内存地址不同,所以最终结果为False

is not 在两个对象ID不同时会返回True

列:
age=25
age1=22
print(age is not age1) #在这里则会返回True

6、流程控制之if判断

一 引子:

流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)

二 分支结构

2.1 什么是分支结构

分支结构就是根据条件判断的真假去执行不同分支对应的子代码

2.2 为什么要用分支结构

人类某些时候需要根据条件来决定做什么事情,比如:如果今天下雨,就带伞

所以程序中必须有相应的机制来控制计算机具备人的这种判断能力

if判断是用if关键字来实现分支结构。在if判断中所有的数据类型也都会自动转换成布尔类型

语法一:只有if条件

列:
age=19
if age>16 and age<25:
print('你好')

语法二:if和else搭配

列:
age=19
if age>16 and age<25:
print('你好')
else:
print('走开')

语法三:if,elif搭配

列:
score=int(input('请输入你的成绩'))
if score >90:
print('优秀')
elif score >70:
print('良好')
elif score >50:
print('很差')

语法四:完整搭配if,elif,else

列:
score=int(input('请输入你的成绩'))
if score >90:
print('优秀')
elif score >70:
print('良好')
elif score >50:
print('很差')
else:
print('非常糟糕')

其他:if嵌套if

age = 17
is_beautiful = True
star = '水平座' if 16 < age < 20 and is_beautiful and star == '水平座':
print('开始表白。。。。。')
is_successful = True
if is_successful:
print('两个从此过上没羞没臊的生活。。。')
else:
print('阿姨好,我逗你玩呢,深藏功与名') print('其他代码.............')

最新文章

  1. mysql 中的LIMIT用法
  2. mac上spacemacs体验小记
  3. SPOJ GSS4 Can you answer these queries IV
  4. 太牛X了!神奇的故事 你猜得到开头,却猜不到结尾
  5. linux 2.6.37-3.x.x x86_64
  6. linux下报错处理经验
  7. POJ 1222
  8. wifi详解(二)
  9. eclipse打开文件目录
  10. Set up JBPM5.4 Final Installer to use MS SQL Server 2008 using JTDS(转)
  11. iOS开发——C篇&amp;动态内存分配
  12. python中的class
  13. ORACLE 建表语句(表名及字段名大写)
  14. SQL替换语句 批量修改、增加、删除字段内容
  15. Excel 2010去掉网格线
  16. SpringBoot学习之自动依赖
  17. 查看多核CPU各核的状态
  18. setTimeout()与clearTimeout()
  19. 【转】Vue组件一-父组件传值给子组件
  20. day5 笔记

热门文章

  1. 从2019-nCoV趋势预测问题,联想到关于网络安全态势预测问题的讨论
  2. [工具] Docker安装及portainer GUI
  3. 远程终端协议 TELNET
  4. Pom.xml的依赖自动生成
  5. 何用Java8 Stream API进行数据抽取与收集
  6. 造轮子系列(三): 一个简单快速的html虚拟语法树(AST)解析器
  7. css中grid属性的使用
  8. PAT-字符串处理-B 1002 写出这个数 (20分)
  9. ZTMap室内地图定位平台设计方案
  10. Androidstudio实现一个简易的加法器——分享两种方法实现(日常作业练习)