首页 > 其他分享 >运算符、赋值符

运算符、赋值符

时间:2022-09-26 18:44:28浏览次数:41  
标签:jason name 999 list 运算符 print 赋值

基本运算符

1.数学运算符
    + - * / % // **
    简化写法
    n = 10
    n += 1  # n = n + 1
    n -= 1  # n = n - 1
    n *= 1  # n = n * 1
    n /= 1  # n = n / 1
    n %= 1  # n = n % 1
    n //= 1  # n = n // 1
    n **= 1  # n = n ** 1
2.比较运算符
	< > <= >= ==(等于号) !=(不等于)

关于'//'向下取整的例子:

表达式 11 // 4 的计算结果是 2 ,而与之相反的是浮点数的真正除法返回 2.75 。
注意 (-11) // 4 会返回 ->因为这是 -2.75 向下 舍入得到的结果。

image

常用赋值符

1.链式赋值

name = 'jason'
name1 = name
name2 = name
    
name = name1 = name2 = 'jason'  # 链式赋值

2.交叉赋值
    m = 100
    n = 999
    '''让m和n互相转换绑定的值'''
    """奇葩式写法"""
    # m = n
    # n = m
    # print(m, n)  # 999 999
    '''方式1:采用中间变量'''
    # temp = m
    # m = n
    # n = temp
    # print(m, n)  # 999 100
    '''方式2:交叉赋值语法'''
    m, n = n, m
    print(m, n)  # 999 100
	
3.解压赋值
	 name_list = ['jason', 'kevin', 'tony', 'oscar']
	 
    '''low的写法'''
    # name1 = name_list[0]
    # name2 = name_list[1]
    # name3 = name_list[2]
    # name4 = name_list[3]
	
    '''解压赋值语法'''
    # name1, name2, name3, name4 = name_list
	
    '''解压赋值在使用的时候 正常情况下需要保证左边的变量名与右边的数据值个数一致'''
    # a, b = name_list  # 变量名少了不行
    # a, b, c, d, e = name_list  # 变量名多了也不行
	
    '''当需要解压的数据个数特别多 并且我们只需要使用其中的几个 那么可以打破上述的规则'''
    # a, *b = name_list  # *会自动接收多余的数据 组织成列表赋值给后面的变量名
    # print(a)  # jason
    # print(b)  # ['kevin', 'tony', 'oscar']
	
    # a, c, *b = name_list  
    # print(a)
    # print(c)
    # print(b)  # ['tony', 'oscar
	
    # a, *b, c = name_list
    # print(a)  # jason
    # print(b)  # ['kevin', 'tony']
    # print(c)  # oscar
    '''当数据值不准备使用的时候 可以使用下划线作为变量名绑定 这也是约定俗成的'''
    a, *_, c = name_list
    print(_)  # ['kevin', 'tony']

交叉赋值语法

'''多重赋值其实 只是元祖打包 和 序列解包的组合'''
m = 100
n = 999
m,n = n,m

先根据变量名n,m找到内存中对应的999,100
image image
在内存中生成一个新元祖 (999,100)
image
解压赋值 m,n = (999,100)
image

逻辑运算符

image

举例:
'''主要配合条件一起使用'''
and		与
	and连接的多个条件必须全部成立 结果才成立
	eg:
		你去相亲提要求:身高必须是160以上、长相必须好看、家里必须有钱、性格必须温柔  
		身高 and 长相 and 有钱 and 温柔
	1 > 2 and 4 < 8 and 10 < 1 and 1 == 2  如果条件中全部由and组成那么判断起来非常的简单 
	只要发现一个不成立 结果就不成立      
    print(1 < 10 and 666)  # 666  成立
    print(1 < 10 and 2 < 8)  # True  成立
    print(111 and 222)  # 222  成立
    如果需要你准确的说出具体的结果值  那么需要按照下列方式
    如果and左边的条件是成立的 那么就完全取决于右边的条件
    右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值
                   
or		或
	or连接的多个条件只要有一个成立 结果就成立
 	eg:
     	你去相亲提要求:要么家里有钱 或者家里有势 或者长得完美 或者对你死心塌地     
		有钱 or 有势 or 好看 or 专一
   1 > 2 or 4 < 8 or 10 < 1 or 1 == 2   
   如果条件中全部由or组成那么判断起来非常的简单 只要发现一个成立 结果就成立   
    # print(1 < 10 or 666)  # True
    # print(666 or 1 > 10)  # 666
    print(0 or False)  # False
    print(0 or 111)  # 111
   
    
not		非
	取反
 	类似于说反话

"""
三者混合使用的时候有优先级之分 但是我们不需要记忆优先级 应该通过代码的形式提前规定好优先级
	eg: 先乘除有加减  但是可以使用括号来改变优先级
	(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
"""

成员运算符

判断个体在不在群体内

# name_list = ['jason', 'kevin', 'oscar', 'jerry']
# print('tony' in name_list)  # False
# print('tony' not in name_list)  # True
# print('j' in name_list)  # False 列表最小单位是数据值  不能再细分

# s1 = 'hello world'
# print('d' in s1)  # 字符串最小单位是单个单个的字符

d1 = {
      'username': 'jason',
      'pwd': 123
}
print('jason' in d1)  # False 字典成员运算只有键参与
print('username' in d1)  # True      'username' 'pwd'

身份运算符

"""
id()  返回一串数字 该数字可以看成是内存地址
"""
is     判断内存地址是否相同
==     判断数据值是否相同

# l1 = [11, 22, 33, 44, 55, 66, 77, 88]
# l2 = [11, 22, 33, 44, 55, 66, 77, 88]
# print(l1 == l2)  # True
# print(id(l1))
# print(id(l2))
# print(l1 is l2)  # False

# 小整数池
i1 = 11
i2 = 11
print(i1 is i2)  # True


s1 = 'jason jason jason'
s2 = 'jason jason jason'
print(s1 is s2)  # pycharm run窗口下:true  # 终端下:false
不同的环境下可能优化的程度不一样 

"""
了解
    值相同 内存地址可能不同
    内存地址相同 值肯定相同
"""

在终端的情况下:
image

标签:jason,name,999,list,运算符,print,赋值
From: https://www.cnblogs.com/passion2021/p/16731969.html

相关文章

  • 常见赋值符
    今日内容回顾基本数据类型之布尔值bool基本数据类型之元组tuple基本数据类型集合set与用户交互格式化输出基本运算符常用赋值符逻辑运算符成员运算符身份运算符......
  • Verilog运算符优先级
    Verilog运算符按功能可以分为九类。1.基本算数运算符运算符中文名举例举例结果说明+加法运算符或正值运算符12+315同普通加法-减法运算符或负值运算......
  • 数据类型,bool,tuple,set,用户交互,格式化输出,运算符
    基本数据类型之布尔值bool1.用来判断事物的对错是否可行只要用于流程控制中2.只有两种状态True对的真的可行的False错的假的不可行的3.python中所有......
  • 运算符
    一、算数运算符符号描述实例+加print(1+1)输出结果为2-减print(1-1)输出结果为0*乘print(2*2)输出结果为4/除print(4/2)输出结果为2//整除......
  • Java基础语法 三元运算符
    格式优先级packageBasicGrammar.day03;/*运算符之五:位运算符(了解)结论:1.位运算符操作的都是整型的数据2.<<:在一定范围内,每向左移1位,相当于*2>>:在一......
  • Java基础语法 位运算符
    定义结论:1.位运算符操作的都是整型的数据2.<<:在一定范围内,每向左移1位,相当于*23.>>:在一定范围内,每向右移1位,相当于/2packageBasicGrammar.day03;/*运算符......
  • Python中的赋值表达式
    赋值表达式(assignmentexpression)是Python3.8新引入的语法,它会用到海象操作符(walrusoperator)。这种写法可以解决某些持续已久的代码重复问题。a=b是一条普通的赋值语......
  • 运算符
    运算符运算符算数运算符+-*/%++--赋值运算符=关系运算符><>=<===!=instanceof逻辑运算符(boolean)与&&或||非!位运算符&|^~>><<>>>......
  • 枚举、Flags和位运算符
    如果你是一个游戏开发者,你可能很熟悉描述一个特性的不同变化的需要。无论它是哪种攻击类型(近战、冰、火、药丸。。。),或是敌人的状态(空闲、警戒、追逐、攻击、休息。。。),你......
  • JS数据类型及运算符
     一.数据类型js的数据类型分为原始型数据类型和引用型类型原始类型分为数值型、字符串型、布尔型、未定义型、空​1、数值型常见数字​浮点型1.232.343.1415e1=>31.41......