zoukankan      html  css  js  c++  java
  • Python 奇葩语法

    • a = 1, 2, 3
      • 赋值后的结果,a == (1, 2, 3),将一个元组(tuple)赋给了变量 a
      • (1, 2) + (3, ) ⇒ (1, 2, 3),并不能说明 tuple 可以添加新的元素,而是重新开辟了新的内存空间;
    • 之所以 l.extend(4) 类型错误,而 l.extend('c') 没有问题,在于字符串是可迭代对象,且 Python 中不区分单个字符与字符串的区别,均是字符串。

    0. 输出 vs. 返回值

    注意输出与返回值之间的关系

    >> s = range(5)
    >> [print(i) for i in s]
    0
    1
    2
    3
    4
    Out[2]: [None, None, None, None, None]

    1. tuple?

    >> m = (1)
    >> m 
    1
    
    >> m = (1, )
    >> m
    (1, )               # tuple 类型
    
    >> m = 1, 
    >> m
    (1, )

    2. append

    >> l = []
    >> l.append(None)
    >> len(l)
    1

    3. 输出百分值

    >>> print('%i%%'%(10))
    10%
    
    >>> print('{0}%'.format(10))
    10%

    4. 返回元组

    def foo():
        return 1, 2           # return (1, 2)
    x = foo()                 # 此时x是元组((1, 2)),
    x, y = foo()              # 此时x是元组的第一个元素((1))
                              # 颇有几分自动类型推导的意思

    接着捣蛋:

    def foo():
        return 1, 2, 3
    x = foo()           # 编译通过
    x, y, z = foo()     # 编译通过
    x, y = foo()        # 编译不通过,未定义行为,编译器不知如何进行元组的分配
  • 相关阅读:
    OCP-1Z0-053-V12.02-655题
    OCP-1Z0-053-V12.02-656题
    OCP-1Z0-053-V12.02-639题
    EXCEL文件打开缓慢的问题解决
    IOCP底层,支持超过15000个连接
    OCP-1Z0-053-V12.02-340题
    OCP-1Z0-053-V12.02-338题
    OCP-1Z0-053-V12.02-336题
    OCP-1Z0-053-V12.02-334题
    OCP-1Z0-053-V12.02-333题
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423777.html
Copyright © 2011-2022 走看看