我认为range()函数返回一个列表,其中包含放在括号内的参数.但是当我输入range(4)IDLE时,我得到range(0, 4)输出.同样,当我输入时print(range(4)),我也得到range(0, 4)输出.我目前正在使用python 3.5.
我目前正在使用以下电子书学习python:"如何像计算机科学家一样思考",在该电子书中,它们提供了可以运行python代码的活动代码块.当我print(range(4))在那里跑步时,我确实得到了我期望的列表,即[0, 1, 2, 3].
谁可以给我解释一下这个?
提前致谢!
我正在学习python.我目前正在学习如何定义自己的函数,我在尝试理解返回值和打印它之间的区别时遇到了一些困难.我读到的关于这个主题的描述对我来说并不是那么清楚,所以我开始自己进行实验,我想我现在已经得到了它.如果我没有错,那么区别在于你可以将return表达式的值作为参数传递给另一个函数,而你不能用print()函数的值来做.在试验期间,我遇到了一些意想不到的输出.
我做的第一件事是在Python Interpreter中编写以下代码:
>>>print(print('hello'))
Run Code Online (Sandbox Code Playgroud)
输出是:
你好
没有
这使我相信以下内容:print('hello')首先执行函数并hello显示文本.然后表达式print(print('hello))求值,None因为你不能使用print()函数作为另一个函数的参数.到现在为止还挺好.
我输入的下一个代码是:
>>>a = print('hello')
Run Code Online (Sandbox Code Playgroud)
在为变量赋值时,通常不希望输出,但在这种情况下输出为:
你好
这就是我的想法:print('hello')表达式被执行并输出文本hello.然后print('hello')表达式存储在变量中a.
所以这让我进入了我输入的最后一行代码:
>>>print(a)
Run Code Online (Sandbox Code Playgroud)
基于以前的输出,我希望此代码提供以下输出:
你好
没有
因为变量a将被替换,print('hello')然后你将得到与第一个相同的表达式,即:print(print('hello')).
但事实并非如此.实际输出只是:
没有
现在我有几个未解答的问题:
None?None?为什么它不会给你一个错误信息?return和print)?我知道我的帖子太长了,但我喜欢给出整个背景,所以帮助者可能会知道我的情况,也许会调整他们帮助最好地适应这种情况的方式.
提前致谢!