这个问题建立在许多假设之上.如果一个假设是错误的,那么整个事情就会失败.我还是相对较新的Python,刚刚进入了好奇/探索阶段.
我的理解是Python不支持创建不能被子类化的类(最终类).但是,在我看来,Python 中的bool类不能被子类化.当考虑bool类的意图时,这是有道理的(因为bool只应该有两个值:true和false),我很满意.我想知道的是这个课程是如何被标记为最终的.
所以我的问题是: Guido如何设法阻止bool的子类化?
>>> class TestClass(bool):
pass
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
class TestClass(bool):
TypeError: type 'bool' is not an acceptable base type
Run Code Online (Sandbox Code Playgroud)
相关问题: 为什么我不能在Python中扩展bool?
抱歉,如果这没有任何意义,我对Python很新!
从解释器中的测试中,我可以看到list()并且[]两者都产生一个空列表:
>>> list()
[]
>>> []
[]
Run Code Online (Sandbox Code Playgroud)
从我到目前为止所学到的,创建对象的唯一方法是调用它的构造函数(__init__),但是当我输入时我没有看到这种情况发生[].那么通过执行[],Python然后映射到一个调用list()?
我目前正在撰写正式的研究报告,我将在此报告中包含代码.
问题:是否有可接受的方式在研究报告中显示代码?我在考虑字体,间距等问题,以及代码是应该在文档内部还是在附录中显示.
代码将是JavaScript和PHP.代码的所有部分都不会超过25行(因此它们仅仅是片段).将有大约六个片段.每个片段都有几个段落,解释代码中发生的事情,并讨论其优缺点.
我没有与提交报告的机构联系,也没有关于如何格式化代码的公布指南(请不要质疑这些要点).
我目前正在用Python(3.1)编写一个小应用程序,就像一个好小男孩一样,我正在进行doctesting.但是,我遇到过一种我似乎无法进行doctest测试的方法.它包含一个input(),因此,我不完全确定在doctest的"期待"部分放置什么.
用于说明我的问题的示例代码如下:
"""
>>> getFiveNums()
Howdy. Please enter five numbers, hit <enter> after each one
Please type in a number:
Please type in a number:
Please type in a number:
Please type in a number:
Please type in a number:
"""
import doctest
numbers = list()
# stores 5 user-entered numbers (strings, for now) in a list
def getFiveNums():
print("Howdy. Please enter five numbers, hit <enter> after each one")
for i in range(5):
newNum = input("Please type in …Run Code Online (Sandbox Code Playgroud) 我正在检查python 3.1的JSON模块,目前在/Lib/json/scanner.py中.在文件的顶部是以下行:
from _json import make_scanner as c_make_scanner
Run Code Online (Sandbox Code Playgroud)
模块目录中有五个.py文件:( __init__两个前导和尾随下划线,格式为粗体),解码器,编码器,扫描仪和工具.没有名为"json"的文件.
我的问题是:在进行导入时,"make_scanner"究竟来自哪里?
是的,我是Python的新手!
python ×4
coding-style ×1
constructor ×1
doctest ×1
import ×1
inheritance ×1
json ×1
list ×1
module ×1
readability ×1
report ×1
user-input ×1