day06 可变不可变类型
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 可变不可变类型的更多相关文章
- Python(可变/不可变类型,list,tuple,dict,set)
补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is typ ...
- 005 python 整数类型/字符串类型/列表类型/可变/不可变
可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...
- Python--基本数据类型(可变/不可变类型)
目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 ...
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...
- Java可变参数/可变长参数
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int ...
- Python的基本类型介绍和可变不可变
Python的基本类型介绍 前言 做python有一段时间了,从工作开始就在不断地学习和积累.但是有时候用到一些技术点,甚至是基础知识的时候,总是会遗忘.所以,从今天开始,就在这里记录下来,不仅可以分 ...
- day05 可变不可变类型
#可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型#不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x=10# print( ...
- [Python] 可变/不可变类型 & 参数传递
与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如: int a = 1 类型 标识 值 标识(identity):用于唯一标识 ...
- String不可变StringBuffer可变
String是一个类,也可以表示字符串数据类型 String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值 ...
随机推荐
- 搭建手机web服务器-----内网穿透(无需Root)
搭建手机web服务器-----内网穿透(无需Root) 一.内网穿透部分 前言: 网上内网穿透的方法很多,像花生壳.Ngrok.Frp等等,但是大多都需要获取手机root权限 本文使用的软件是Term ...
- 白嫖永久免费云服务器教程,永久免费虚拟主机、永久免费云数据库、搭建FTP服务器、服务器安装Linux / windows操作系统、服务器部署网站、宝塔一键部署多网站、独立ip、永久国内高速云服务器
一.准备工作 1. 注册账号 声明:切记不可用服务器做违法的事情 申请地址:https://www.sanfengyun.com/ 图文教程地址:https://www.cnblogs.com/zwn ...
- matplotlib 示例
示例1 import numpy as np import matplotlib.pyplot as plt #plt.rcParams['font.family'] = ['sans-serif'] ...
- 【译】构造和匹配二进制(Efficiency Guide)
可以通过以下方式有效地构建二进制: my_list_to_binary(List) -> my_list_to_binary(List, <<>>). my_list ...
- Maven和Gradle如何添加依赖
仓库地址:https://mvnrepository.com
- mybatis 多表联查,多个实体类,如何返回一个List?(表太多,字段太多的问题)
原文:https://ask.csdn.net/questions/674166 自己重新定义一个实体类 把查询结果放到这个实体类中,实体类包含所有的查询结果的字段 一个更好的办法,我发现你这关联表所 ...
- 如何在VMware虚拟机中安装CentOS6.7系统(上篇)
之前给大家分享了在VMware中如何创建CentOS虚拟机,今天给大家分享一下如何在虚拟机中安装CentOS系统,以CentOS6.7系统为例,其他的系统版本也可以参考该教程进行类似处理,具体的流程如 ...
- ROC曲线 vs Precision-Recall曲线
深入理解对比两个曲线各自的特性和相互的差异需要花不少时间研读一些国外的技术博客与相关paper,暂时先列出下面这么多,这部分后续可以继续补充. ROC曲线和AUC的定义可以参看“ROC曲线于AUC”, ...
- 有趣的程序分析之C
1. 下面的函数被用来计算某个整数的平方,它能实现预期设计目标吗?如果不能,试回答存在什么问题: 1 2 3 4 int square( volatile int *ptr ) { retur ...
- Spring Boot]SpringBoot四大神器之Actuator
论文转载自博客: https://blog.csdn.net/Dreamhai/article/details/81077903 https://bigjar.github.io/2018/08/19 ...