1.可变不可变类型

可变类型

定义:值改变,id不变,改的是原值

不可变类型

定义:值改变,id也变了,证明是产生了新的值没有改变原值

验证

x = 10
print(id(x))
x = 11
print(id(x))
>>>140726762169264
>>>140726762169296
#整型为不可变类型

分别验证,浮点型,字符串,列表,字典,bool,得出以下结果

可变类型:列表,字典(key:不可变类型,value:任意类型)

不可变类型:整形,浮点型,字符串,bool

2.条件判断

定义:条件是我们执行事务的前提和判断的依据

显示我们条件判断的结果可以用bool

bool类型又分为两种:显式布尔值,隐式布尔值

显式布尔值:

隐式布尔值:所有的值都可以当成条件去使用,其中0,None,空为假

2.1逻辑运算符

not:逻辑非,就是把紧跟其后的那个条件结果取反(两者是不可分割的整体)

and:逻辑与,用来连接左右两个条件,两个条件同时为真才是真,否则都是假

or:逻辑或,左右两边只要有一个为真,结果就为真,全为假才是假

优先级 not>and>or

res = 1>4 or "a" not == "b" and 1 or "b" == "c"
#根据优先级我们可以把优先级高的用括号括起来更明显自己的判断
res = 1>4 or "a" ((not == "b") and 1) or "b" == "c"
#当语句中出现not将not之后的一个条件结果反转为第一优先级
#出现and把条件左右相连为第二优先级,
#只剩下or时可以从左到右判断

2.2成员运算符

in:某个对象包含于另一个对象返回True(字符串,列表,元组,集合,字典都支持)

not in:某个对象不包含于另一个对象返回True

x='a'
y=['aa',"vb","a"]
print(x in y)
>>>True

2.3身份运算符

is:两个对象的id相同时返回True

is not:两个对象的id不相同时返回True

x='a'
y="a"
print(x is y)
>>>True

day06 可变不可变类型的更多相关文章

  1. Python(可变/不可变类型,list,tuple,dict,set)

    补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is typ ...

  2. 005 python 整数类型/字符串类型/列表类型/可变/不可变

    可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...

  3. Python--基本数据类型(可变/不可变类型)

    目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 ...

  4. python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变

    函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...

  5. Java可变参数/可变长参数

    Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...

  6. Python的基本类型介绍和可变不可变

    Python的基本类型介绍 前言 做python有一段时间了,从工作开始就在不断地学习和积累.但是有时候用到一些技术点,甚至是基础知识的时候,总是会遗忘.所以,从今天开始,就在这里记录下来,不仅可以分 ...

  7. day05 可变不可变类型

    #可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型#不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x=10# print( ...

  8. [Python] 可变/不可变类型 & 参数传递

    与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如:   int   a  = 1 类型 标识 值 标识(identity):用于唯一标识 ...

  9. String不可变StringBuffer可变

    String是一个类,也可以表示字符串数据类型 String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值 ...

随机推荐

  1. Python抽象类以及元类

    抽象基类: 继承的约束与协议 __doc__ = """ 抽象基类: 继承的约束与协议 # 抽象基类 --- 有点java的味道,也有点golang的味道,继承,协议,接 ...

  2. Vim配合Shell自动上传ftp

    shell代码: #!/bin/bash #网站配置 a1=('本地目录;主机;yonghuming;mima;远程目录' '本地目录;主机;user;pwd;远程目录') #选取的网站配置 web= ...

  3. Spring导入外部资源

    创建一个数据库连接的 properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssmbuil ...

  4. CGAL代码阅读跳坑指南

    CGAL代码阅读跳坑指南 整体框架介绍 CGAL中的算法和数据结构由它们使用的对象类型和操作参数化.它们可以处理满足特定语法和语义需求的任何具体模板参数.为了避免长参数列表,参数类型被收集到一个单独的 ...

  5. 微信小程序-Q爱天气

    最近找工作,发现微信小程序横行无忌,所以花两天时间把之前的一个天气小demo捡起来,重新上线发布一下.明天更新出小程序的讲解教程.

  6. 读懂操作系统之虚拟内存TLB与缓存(cache)关系篇(四)

    前言 前面我们讲到通过TLB缓存页表加快地址翻译,通过上一节缓存原理的讲解为本节做铺垫引入TLB和缓存的关系,同时我们来完整梳理下从CPU产生虚拟地址最终映射为物理地址获取数据的整个过程是怎样的,若有 ...

  7. range用法(倒序取值)

    range(4,-1,-1) #倒数取值 ''' start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: 计数到 stop 结束,但 ...

  8. 嵌入式QT开发视频教程-供参考

    免费嵌入式QT开发视频教程 https://pan.baidu.com/s/1bprhJ2Z QT初级到高级编程视频教程--丁林松.rarhttp://www.jisoupan.com/share/2 ...

  9. vc6.0创建文件时,出现很多烫烫烫解决方法

    vc6.0创建文件时,出现很多烫烫烫烫解决方法 SWM2烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫.IA 如果项目文件放在桌面上 如:C:\Documents and Settings\txwtec ...

  10. 一文入门:XGBoost与手推二阶导

    作者前言 在2020年还在整理XGB的算法,其实已经有点过时了..不过,主要是为了学习算法嘛.现在的大数据竞赛,XGB基本上已经全面被LGB模型取代了,这里主要是学习一下Boost算法.之前已经在其他 ...