day06可变与不可变类型,if判断,运算符
1:可变不可变类型
2、什么是条件?什么可以当做条件?为何要要用条件?
显式布尔值:True、False
隐式布尔值:所有数据类型,其中0、None、空为假
3:逻辑运算符:用来
# not、 and 、 or
# 区分优先级:not > and > or
4、成员运算符
5、身份运算符
6、流程控制之if判断
# 一、可变不可变类型
# 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
# 不可变类型:值改变,id也变了,证明是产生新的值,压根没有改变原值,证明原值是不可以被修改的
# 2、验证
# 2.1 int是不可变类型
# x=10
# print(id(x))
# x=11 # 产生新值
# print(id(x))
# 2.2 float是不可变类型
# x=3.1
# print(id(x))
# x=3.2
# print(id(x))
# 2.3 str是不可变类型
# x="abc"
# print(id(x))
# x='gggg'
# print(id(x))
# 小结:int、float、str都被设计成了不可分割的整体,不能够被改变
# 2.4 list是可变类型
# l=['aaa','bbb','ccc']
# print(id(l))
# l[0]='AAA'
# print(l)
# print(id(l))
# 2.5 dict
# dic={'k1':111,'k2':222}
# print(id(dic))
# dic['k1']=3333333333
# # print(dic)
# print(id(dic))
#2.6 bool不可变
# 关于字典补充:
# 定义:{}内用逗号分隔开多key:value,
# 其中value可以是任意类型
# 但是key必须是不可变类型
# dic={
# 'k1':111,
# 'k2':3.1,
# 'k3':[333,],
# 'k4':{'name':'egon'}
# }
#
# dic={
# 2222:111,
# 3.3:3.1,
# 'k3':[333,],
# 'k4':{'name':'egon'}
# }
# print(dic[3.3])
# dic={[1,2,3]:33333333}
# dic={{'a':1}:33333333}
# 二、什么是条件?什么可以当做条件?为何要要用条件?
# 第一大类:显式布尔值
# 2.1 条件可以是:比较运算符
# age = 18
# print(age > 16) # 条件判断之后会得到一个布尔值
# 2.1 条件可以是:True、False
# is_beautiful=True
# print(is_beautiful)
# 第二大类:隐式布尔值,所有的值都可以当成条件去用
# 其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为真
# 三:not、and、or的基本使用
# not:就是把紧跟其后的那个条件结果取反
# ps:not与紧跟其后的那个条件是一个不可分割的整体
# print(not 16 > 13)
# print(not True)
# print(not False)
# print(not 10)
# print(not 0)
# print(not None)
# print(not '')
# and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真
# print(True and 10 > 3)
# print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
# print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3) # 偷懒原则
# or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,
# 两个条件都为False的情况下,最终结果才为False
# print(3 > 2 or 0)
# print(3 > 4 or False or 3 != 2 or 3 > 2 or True) # 偷懒原则
# 二:优先级not>and>or
# ps:
# 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
# 如果是混用,则需要考虑优先级了
# res=3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3 >3
# print(res)
#
# # False False False
# res=(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3 >3
# print(res)
res=3>4 and ((not 4>3) or 1==3) and ('x' == 'x' or 3 >3)
print(res)
# 四.成员运算符与身份运算符
# 1、成员运算符
# print("egon" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
# print("e" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
# print(111 in [111,222,33]) # 判断元素是否存在于列表
# 判断key是否存在于字典
# print(111 in {"k1":111,'k2':222})
# print("k1" in {"k1":111,'k2':222})
# not in
# print("egon" not in "hello egon") # 推荐使用
# print(not "egon" in "hello egon") # 逻辑同上,但语义不明确,不推荐
# 2、身份运算符
# is # 判断的是id是否相等 还有 is not
x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False
x = 5
d = 5
print(x is d)
# 五.流程控制之if判断
# print(1)
# print(2)
# print(3)
# if 条件:
# 代码1
# 代码2
# 代码3
# print(4)
# print(5)
'''
语法1:
if 条件:
代码1
代码2
代码3
'''
# age = 60
# is_beautiful = True
# star = '水平座'
#
# if age > 16 and age < 20 and is_beautiful and star == '水平座':
# print('我喜欢,我们在一起吧。。。')
#
# print('其他代码.............')
'''
语法2:
if 条件:
代码1
代码2
代码3
else:
代码1
代码2
代码3
'''
# age = 60
# is_beautiful = True
# star = '水平座'
#
# if age > 16 and age < 20 and is_beautiful and star == '水平座':
# print('我喜欢,我们在一起吧。。。')
# else:
# print('阿姨好,我逗你玩呢,深藏功与名')
#
# print('其他代码.............')
'''
语法3:
if 条件1:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
'''
# score=73
# if score >= 90:
# print('优秀')
# elif score >= 80 and score < 90:
# print('良好')
# elif score >= 70 and score < 80:
# print('普通')
# 改进
# score = input('请输入您的成绩:') # score="18"
# score=int(score)
#
# if score >= 90:
# print('优秀')
# elif score >= 80:
# print('良好')
# elif score >= 70:
# print('普通')
'''
语法3:
if 条件1:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
...
else:
代码1
代码2
代码3
'''
# score = input('请输入您的成绩:') # score="18"
# score=int(score)
#
# if score >= 90:
# print('优秀')
# elif score >= 80:
# print('良好')
# elif score >= 70:
# print('普通')
# else:
# print('很差,小垃圾')
#
# 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('其他代码.............')
day06可变与不可变类型,if判断,运算符的更多相关文章
- Python编程Day5——可变与不可变类型、数据类型整合
一.可变与不可变类型1.可变类原值型:只改变,但id不变,证明就是在改变原值,是可变类型2.不可变类型:值改变,但id也跟着改变,证明是产生了新的值,是不可变类型 x= print(id(x)) x= ...
- iOS中怎么判断可变和不可变的坑(更正版)
iOS中怎么判断可变和不可变的坑 怎么判断NSString和NSMutableString呢 看题 BOOL result = [" isKindOfClass:[NSMutableStri ...
- 可变与不可变类型数据,列表的copy方法
我们先来了解一下可变与不可变类型的数据 (1)可变类型:列表,字典(内存中的数据允许被修改) 不可变类型:数字,字符串,元组(内存中的数据不允许被修改) 接着我们通过一个实例来看一看可变与不可变类型数 ...
- Python可变与不可变类型及垃圾回收机制
1. 可变与不可变类型 1.1 可变类型 在id不变的情况下,value可以改变,则称之为可变类型.列表.字典与集合是可变的. l1 = [,,,,] print(id(l1)) l1[] = #改 ...
- 通过char与varchar的区别,学习可变长的字符类型
转自http://www.uphtm.com/database/232.html 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...
- python基础之pip、.pyc、三元运算、进制、一切皆对象、可变与不可变类型
一.pip(下载工具==yum) 1.重点(必须掌握的) 列出已安装的包 pip list 安装要安装的包 pip install xxx 安装特定版本 pip install django==1.1 ...
- python中的可变与不可变对象
Python中的可变对象和不可变对象 什么是可变/不可变对象 不可变对象,该对象所指向的内存中的值不能被改变.当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一 ...
- python 基础使用list、dict、set、可变与不可变对象
参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017104324028448 dict是字典,可以储存键值对类型的值,set与dict ...
- python引用在函数传参时的体现以及可变与不可变对象的对比
今天偶然看到 vamei 老师的博客 http://www.cnblogs.com/vamei/archive/2012/07/10/2582795.html 讲的是python动态类型以及引用的事儿 ...
- 关于:1.指针与对象;2.深浅拷贝(复制);3.可变与不可变对象;4.copy与mutableCopy的一些理解
最近对深浅拷贝(复制)做了一些研究,在此将自己的理解写下来,希望对大家有所帮助.本人尚处在摸索阶段,希望各位予以指正. 本文包括如下方向的探索: 1.指针与对象: 2.深/浅拷贝(复制): 3.可变/ ...
随机推荐
- 在Python 中怎么表示一个元素在一个list中的数量?
commonest = [1,2,2,2,1,3,4,5,1,1] print(commonest.count(1))
- TCP、UDP、HTTP与HTTPS
TCP.UDP.HTTP与HTTPS都是通信协议,在这里首先先介绍一下什么是通信协议. 什么是通信协议? 通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循 ...
- ef codefirst VS里修改数据表结构后更新到数据库
2.根据已建立table的数据库建立ADO.NET数据模型在修改表后进入 工具->nuget包管理器->程序包管理器控制台 输入 enable-migrations 后vs会添加一个 ...
- 如何回收VCSA 6自带的vPostgres数据库空间
最近有学生连续反应由于VCSA磁盘空间满了,导致服务无法正常启动,寻求压缩数据库空间的问题.首先说下,VCSA的数据库是没办法图形界面管理的, 它的内置vPostgres数据库的管理只能通过命令行来完 ...
- [LC] 198. House Robber
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...
- 提前窥测奥斯卡颁奖信封中的谜底 ——Rothschild预测2014奥斯卡花落谁家
--Rothschild预测2014奥斯卡花落谁家" title="提前窥测奥斯卡颁奖信封中的谜底 --Rothschild预测2014奥斯卡花落谁家"> 编者 ...
- MOOC(6)- case之间存在依赖
方法1:这里只给出根据依赖字段去匹配响应结果中的值的函数,其他匹配依赖case,对依赖case发起请求见下面的方法2 方法2: from day_20200208_mooc.tools.do_exce ...
- win10安装CAD失败,怎么强力卸载删除注册表并重新安装
一些搞设计的朋友在win10系统下安装CAD失败或提示已安装,也有时候想重新安装CAD的时候会出现本电脑windows系统已安装CAD,你要是不留意直接安装CAD,只会安装CAD的附件或者直接提示失败 ...
- 吴裕雄--天生自然python学习笔记:Python MySQL - mysql-connector 驱动
本章节我们为大家介绍使用 mysql-connector 来连接使用 MySQL, mysql-connector 是 MySQL 官方提供的驱动器. 我们可以使用 pip 命令来安装 mysql-c ...
- Nginx笔记总结七:root和alias文件路径配置
1. root path 配置段:http.server.location.if location ~ ^/weblogs/ { root /data/weglogs/www.ttlsa.com; a ...