按照Scala的书"Scala编程" -
Scala is an object-oriented language in pure form: every value is an object and every operation is a method call. For example, when you say 1 + 2 in Scala, you are actually invoking a method named + defined in class Int.
从这个意义上说,使用"="运算符进行赋值运算呢?这也是一种方法吗?似乎不太可能,因为它必须存在于所有类或一些常见的超类(例如,java.lang.Object?)中,所有类都必须从中继承它.或者是不是所有操作都是Scala中的方法调用?
为什么带有负索引的 sys.argv 允许打印与 sys.argv[0] 相同的值?这也是,它允许最多传递的参数数量。
因此,在developers.google.com 上调用hello.py,如下所示(带有3 个参数,包括脚本名称):python hello.py Sumit Test
将允许访问 sys.argv[-1]、[-2] 和 [-3],它们都打印与 argv[0] 相同的值,即 hello.py,但 argv[-4] 将抛出预期错误:
Traceback (most recent call last):
File "hello.py", line 35, in <module>
main()
File "hello.py", line 31, in main
print (sys.argv[-4])
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)
代码是:
import sys
# Define a main() function that prints a little greeting.
def main():
# Get the name from the command line, using 'World' as a fallback.
if len(sys.argv) >= 2:
name = …Run Code Online (Sandbox Code Playgroud)