zoukankan      html  css  js  c++  java
  • python 赋值、表达式

    赋值的特性

    赋值语句建立对象引用

    变量名在首次赋值时会被创建

    变量名在引用前必须先赋值

    赋值语句的形式

    • 序列赋值
      >>> A, B = 1, 2
      >>> print (A, B)
      1 2
      View Code

       在上面的例子中,写了两个元组,只是省略了它们的括号。python把赋值运算符右侧元组内的值和左侧元组内的变量相互匹配,然后每一次赋一个值

    • 高级序列赋值
      >>> a, b, c, d = 'spam'
      >>> print(a, b, c, d)
      s p a m
      >>> a, b, c = 'spam'
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ValueError: too many values to unpack (expected 3)
      >>> 
      View Code

      通过上面的例子,右边元素的数目还要是要跟左边的变量数目相同,不然会产生错误

    • 扩展解包赋值
      >>> a, b = 'spam'
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ValueError: too many values to unpack (expected 2)
      >>> a, *b = 'spam'
      >>> print(a,b)
      s ['p', 'a', 'm']
      >>> *a, b = 'spam'
      >>> print(a,b)
      ['s', 'p', 'a'] m
      >>> a, *b, c = 'spam'
      >>> print(a,b,c)
      s ['p', 'a'] m
      View Code

       一个带星号的变量名 ,收集了序列中没有赋值给其他名称的所有项

    • 增强赋值语句
      
    >>> x = 1
    >>> x +=1
    >>> print(x)
    2
    View Code

       增强赋值语句有三个优点:减少输入;左侧只需要计算一次,在完整形式的x = x+1中,x出现两次,必须执行两次;优化技术会自动选择。

  • 相关阅读:
    BUUCTF-[GYCTF2020]Blacklist 1 思路
    [强网杯 2019]随便注 WriteUp(three way)思路
    [GXYCTF2019]Ping Ping Ping 1思路
    [ACTF2020 新生赛]Include 思路
    [极客大挑战 2019]Secret File 思路
    [SUCTF 2019]EasySQL 思路
    java环境变量配置 详细
    [极客大挑战 2019]Upload 思路
    [极客大挑战 2019]Http 思路
    [ACTF2020 新生赛]Exec 思路
  • 原文地址:https://www.cnblogs.com/baitutu/p/6246665.html
Copyright © 2011-2022 走看看