“初始化”包含python中的文件的常量?

时间:2015-06-16 20:28:48

标签: python python-3.x

我知道在python中初始化变量/常量是没有必要的,但是我的教授仍然希望我们为实践初始化变量。

在我的程序中,我有一个文件,我为其分配了一个名称:

infile = open("studentinfo.txt", "r")

初始化常量“infile”有什么意义?我可以将其初始化为空字符串,还是应该将其作为空文件进行初始化?

4 个答案:

答案 0 :(得分:4)

通常,当我们想要将变量设置为“特别没有值”时,我们使用None

infile = None
# ...several lines later...
infile = open(...)

答案 1 :(得分:3)

Python中的一种常见方法是将变量初始化为 if (HttpContext.Current.Response.Status.StartsWith("401")) { HttpContext.Current.Response.ClearContent(); Response.Redirect("~/myerrorpage.aspx?myerrormsg=you are not allowed"); } (如果尚未使用)。这是对您希望该变量存在的代码的未来读者的一个信号,但它不会在以后使用它。

None

通过这种方式,在代码的其余部分中,您可以检查该值是否已设置...

infile = None

这种方法可以避免类型检查(uglly),并且您知道如果if infile is None: infile = open(filename, 'r') with infile: data = infile.read() 不是infile那么它必须是文件,因此您只能将其用作文件(&#34) ;鸭子打字")。例如,代码中的其他地方可能有......

None

这是非常易读的,如果从未设置过该文件,则不会中断。

答案 2 :(得分:0)

我猜你的教授希望你习惯用于未来语言的静态输入,在这种情况下我会使用TntLabel1->Caption = L"Δ"; TntLabel1->Caption = L"\x0394"; TntLabel1->Caption = (wchar_t) 0x0394; TntLabel1->Caption = (wchar_t) 916; 来确保python将其视为一个字符串。这也最接近地模仿其他语言的语法,不像说:infile=str()。如果您想要一个空文件类型infile=''

答案 3 :(得分:0)

文件为objectsNone怎么样?

文件名可能是strings。 <{1}}或filename = str()

filename = None