小编I. *_*wib的帖子

python中range()函数的返回值是多少?

我认为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 range python-3.x python-3.5

5
推荐指数
2
解决办法
1万
查看次数

print()函数的有趣/奇怪的力学

我正在学习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')).

但事实并非如此.实际输出只是:

没有

现在我有几个未解答的问题:

  1. 为什么最后一个代码的输出只是None
  2. 如果你不能将print()函数放在另一个print()函数中,为什么输出None?为什么它不会给你一个错误信息?
  3. 是否有任何我的假设的错误(包括一个约之间的区别returnprint)?

我知道我的帖子太长了,但我喜欢给出整个背景,所以帮助者可能会知道我的情况,也许会调整他们帮助最好地适应这种情况的方式.

提前致谢!

python python-3.x

0
推荐指数
1
解决办法
73
查看次数

标签 统计

python ×2

python-3.x ×2

python-3.5 ×1

range ×1