1. in 和 not in —— 判断某个序列中是否存在某值
# in aa = [1,2,3,'Cathy','太平洋'] if '大西洋' in aa: print('yes') else: print('no') # no # not in if '大西洋' not in aa: print('yes') # yes else: print('no') #------------------------------------------------------- # 判断字符串是否存在某子串 if '马来西亚' in '马来西亚是一个太平洋国家': print('of course') # 输出 'of course' # ------------------------------------------------------ if 0 in (0,1,2,3): print('hhhh') #输出 'hhhh' if 0 in [0,1,2,3]: print('kkkk') #输出 'hhhh'
2. is 和 is not —— 判断两个标识符是不是指向同一个地址(同一个对象),类似于判断 id(x) == id(y) —— 具体对于相同值的内存管理
# 相同 bb = 234 cc = 234 if bb is cc: print('bb is cc') #结果是 bb is cc else: print('bb is not cc') print(id(bb)) # id()值一样,因为python的优化机制,相同的'数值'数据会使用同样的内存空间。 print(id(cc)) # 相同 bb = 'hhh' cc = 'hhh' if bb is cc: print('bb is cc') #同样也是因为python的自身机制,在某些'字符'位数下,相同字符串也会指向同一地址 ------ 有说20位的,与系统有关 else: print('bb is not cc')# 相同,python的对象引用机制 bb = [1,2,3] cc = bb if bb is cc: print('bb is cc') #结果是 bb is cc else: print('bb is not cc') # 不相同 bb = [1,2,3] cc = [1,2,3] if bb is cc: print('bb is cc') else: print('bb is not cc') #结果是 bb is not cc print(id(bb)) # id()值不一样 print(id(cc))
3. id() 函数,获取对象的内存地址(不同电脑不一样),例如:
bb = 'hhh' cc = bb if bb is cc: print('bb is cc') #结果是 bb is cc else: print('bb is not cc') print(id(bb)) # id()值一样,均为 1680346901336 print(id(cc))
4. 可变数据类型和不可变数据类型
不可变数据类型: 当该类型的变量值发生了改变,它对应的内存地址也会发生改变。
可变数据类型 :当该类型的变量值发生了改变,它对应的内存地址不发生改变。
这里的可变不可变,是指内存中的值内容(value)是否可以被改变。如果是不可变类型,在操作对象本身的时候,必须在内存新申请一块内存(因为原内存内容是不可变的)。如果是可变类型,操作对象的时候,不需要再在其他地方申请内存,只需要在此对象后面连续申请内存,所以它的地址会保持不变,但该内存区域大小会变化。
在python中:
int,string,float,tuple —— 属于python的不可变类型
object、list、set —— 属于python的可变类型
使用:可以使用内建函数id()来确认对象的地址在两次赋值前后是否发生了变化。
例如:分别对于数值和列表类型:
a = 1 print(id(a)) a = a+1 #a本身发生变化 print(id(a)) # 结果分别为:140732932812544 和 140732932812576,表示id值发生了变化 a = ['1'] print(id(a)) a.append('sss') #a本身发生变化 print(id(a)) print(a) # 输出:['1', 'sss'] # 结果分别为:1680347029768 和 1680347029768,表示id值没有变化
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 完美倒立.2024-夜色碳酸【草台回声】【FLAC分轨】
- 杨青《半山听雨贰HQ》头版限量编号[低速原抓WAV+CUE]
- 白玛多吉《云上西藏1+2》DTS-WAV
- 模拟之声慢刻CD《柏林之声3》[正版CD原抓WAV+CUE]
- 威神V(WayV)《The Highest》[FLAC/分轨][259.1MB]
- 余超颖《迷焕纪》[320K/MP3][201.15MB]
- 余超颖《迷焕纪》[FLAC/分轨][784.22MB]
- 温岚.2005-爱回温新歌加精选2CD【阿尔发】【WAV+CUE】
- 尤雅.1990-台语怀念金曲特选辑【太阳神】【WAV+CUE】
- 群星.2024-七夜雪电视剧影视原声带【听见时代】【FLAC分轨】
- 群星《胎教音乐 古典钢琴曲与水晶摇篮曲》[320K/MP3][134.14MB]
- 群星《胎教音乐 古典钢琴曲与水晶摇篮曲》[FLAC/分轨][654.13MB]
- 许惠钧《睡眠钢琴与校园民歌金曲 空灵新世纪催眠曲》[320K/MP3][201.15MB]
- wbg战队国籍分别都是哪里的 wbg战队2024阵容国籍介绍
- wbg战队教练是韩国人吗 s14wbg战队教练国籍介绍