ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python运算符

2022-07-02 21:32:17  阅读:119  来源: 互联网

标签:summer False name python 运算符 l1 print True


逻辑运算符

用于连接多个条件的结果判断

1. and 连接的多个条件必须全部满足,结果成立。

    print(1==1 and 2==2)# True
    print (1==2 and 3) #False
	#and连接的条件如果不是一个具体的值,则需要转换成布尔值
	
    print (10>3 and 100) #100
    print (1 and 10) #10
	#由于and前面的运算得出的布尔值是True,所以and连接的条件最终的结果是由后面的值来决定的。
	#如果后面的值是明确的数据值,那么直接返回该数据值(数据值对应的布尔值必须是True)
    print(10>3 and False) #False
	
2. or 连接的多个条件有一个满足,结果成立。

    print(1==1 or 2==4)# True
    print(1==3 or False) # False
    print(1==1 or False) # True
    print(1==3 or 2==2)# True
    print(1 or 2)# 1
	#or连接的多个条件返回值可能是布尔值也可能是数据值

3. not 将后面的结果取反,得出的肯定是bool值
   print(not Ture) #False
   print(not False) #Ture

三者混用的时候有优先级之分,应该提前用括号划定优先级。
print ((1==2 and 3)or(1==1 and 2==2)or(1==1 or 2==4))# Ture

成员运算符

1.in
 判断某个个体是否在某个群体内
2.not in
 判断某个个体不在某个群体内

- 针对列表list的成员运算,最小单位是单个数据值,不可以再细化
     l1 = ['summer','hebb','jos','hu']
     print('summer' in l1) #Ture
	 l1 = ['summer','hebb','jos','hu']
     print('sum' in l1) #False
- 针对字符串str的成员运算,最小单位可以细化到单个字符,也可以增加字符
    name = 'summer'
    print('s' in name) #Ture
    name = 'summer'
    print('su' in name) #Ture
- 针对字典dict的成员运算,最小单位是字典的k值,v不参与
    s1={'name':'summer'}
    print('name' in s1) #True
    s1={'name':'summer'}
    print('summer' in s1) #False

身份运算

- is 用来判断数据值对应的内存地址是否相等
 l1 = [11,2,2,3,4,5]
 l2 = [11,2,2,3,4,5]
 print(id(l1))  # 1935630344712
 print(id(l2))  # 1935630344776
   #id()该方法会返回一串数字,相当于内存地址
   #该方法每运行一次内存地址就会变化
 print(l1 is l2) #False
 
- == 用来判断数据值是否相等
 l1 = [11,2,2,3,4,5]
 l2 = [11,2,2,3,4,5]
 print(l1==l2) #True
 
 #数据值相等 内存地址不一定相等
 #内存地址相等 数据值一定相等 (单次程序中)

python内存优化机制
python针对数据量小并且经常使用的数据会做内存优化机制

python认为一些“看起来像python标识符的字符”和小整数字在开发中是常用的;
因此,出于节省内存的角度思考,对于这部分字符串和数字做出了优化;
python解释器会由于要定义的新变量内容与之前定义过的变量内容相同而不让这部分内容占用新的内存空间。
#1、对于[-5,257)范围内的数字有优化机制
#2、对于[-5,257)范围外的数字没有优化机制
#3、对于短字符串有优化机制,长字符串没有优化机制

标签:summer,False,name,python,运算符,l1,print,True
来源: https://www.cnblogs.com/Hsummer/p/16438604.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有