相关疑难解决方法(0)

5409
推荐指数
22
解决办法
75万
查看次数

我怎样才能用Python代表'Enum'?

我主要是一名C#开发人员,但我目前正在使用Python开发一个项目.

我怎样才能在Python中表示Enum的等价物?

python enums python-3.x

1146
推荐指数
28
解决办法
80万
查看次数

什么是Python中的"命名元组"?

阅读Python 3.1中更改,我发现了一些......意外的:

sys.version_info元组现在是一个命名元组:

我之前从未听说过命名元组,我认为元素可以用数字(如元组和列表)或键(如dicts)索引.我从没想过他们可以两种方式编入索引.

因此,我的问题是:

  • 什么叫元组?
  • 怎么用?
  • 为什么/何时应该使用命名元组而不是普通元组?
  • 为什么/何时应该使用普通元组而不是命名元组?
  • 是否有任何类型的"命名列表"(命名元组的可变版本)?

python tuples namedtuple

843
推荐指数
9
解决办法
32万
查看次数

什么是"冻结的字典"?

  • 冻结集是冻结集.
  • 冻结列表可以是元组.
  • 冻结的词典会是什么?一个不可变的,可洗的字典.

我想它可能是类似的collections.namedtuple,但这更像是一个冻结的词典(一个半冻结的词典).不是吗?

A"frozendict"应该是一个冰冻的字典,它应该有keys,values,get,等,并支持in,for等等.

python dictionary immutability data-structures

140
推荐指数
10
解决办法
7万
查看次数

卖我的正确性

那么为什么总是建议尽可能经常使用const呢?在我看来,使用const可能比C++中的帮助更痛苦.但话说回来,我是从python的角度来看这个:如果你不想改变某些东西,不要改变它.所以说,这里有几个问题:

  1. 似乎每次我将某些东西标记为const时,我都会收到错误,并且必须将某些其他函数更改为const.然后这导致我必须在其他地方更改另一个功能.这是通过经验变得更容易吗?

  2. 使用const的好处真的足以弥补麻烦吗?如果您不打算更改对象,为什么不编写不会更改它的代码?

我应该注意到,在这个时间点,我最关注的是使用const来实现正确性和可维护性的好处,尽管了解性能影响也很好.

c++ const-correctness

121
推荐指数
13
解决办法
2万
查看次数

是否有可能重载Python赋值?

有没有一个可以重载赋值运算符的魔术方法,比如__assign__(self, new_value)

我想禁止重新绑定一个实例:

class Protect():
  def __assign__(self, value):
    raise Exception("This is an ex-parrot")

var = Protect()  # once assigned...
var = 1          # this should raise Exception()
Run Code Online (Sandbox Code Playgroud)

可能吗?这是疯了吗?我应该上药吗?

python methods class magic-methods assignment-operator

65
推荐指数
7
解决办法
3万
查看次数

`final`关键字相当于Python中的变量?

我找不到finalPython中相当于Java的文档,有这样的东西吗?

我正在创建一个对象的快照(如果有任何失败则用于恢复); 一旦分配了这个备份变量,它就不应该被修改 - Python中的类似最终功能对此非常有用.

python java final keyword

52
推荐指数
8
解决办法
5万
查看次数

全局变量和编码风格建议

这个问题很普遍但是我更了解python中的良好编码实践...

我想在任何函数中定义一个我可以在其中使用的常量,而不必将其作为参数传递,并且无需在声明之后在任何地方更改它 - 也许它很难让它无法改变但不是确定我能做到这一点.

在编程风格(编码,名称约定等)方面,最好的方法是什么?

即,GLOBAL_CONSTANT ='this_variable_will_not_be_changed'

我的python代码会有这种形式,它也是好的风格吗?

#!/usr/bin/env python

import sys
import os

GLOBAL_CONSTANT='this_variable_will_not_be_changed'

def test():
    print GLOBAL_CONSTANT
    return 0

def main():
    test()
    return 0

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

python global-variables

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

定义常量变量python 3的最佳方法是什么

我在python中编写一个包含许多常量变量的程序.我想创建一个文件,它将保存所有这些变量,如C中包含许多#define的.h文件.我尝试使用configparser但是我发现使用它并不容易.

你知道更好的方法吗?

python constants configuration-files python-3.x

10
推荐指数
5
解决办法
4万
查看次数

什么是常量和文字常量?

我正在学习Python,我只是与常量和文字常量相混淆.它们是什么?我们使用它们的目的是什么?它们与正常变量的区别是什么?

非常感谢你.

编辑:

我是一个真正的初学者.作为初学者,我可以说我对编程世界一无所知.就像我不知道什么是表达式,反之亦然.

我一直在使用"A byte of python"一书学习python语言,在本书的某个地方,我遇到了一个讨论文字和常量的部分.我在那里分享了一节:

5.2.文字常量

文字常量的一个例子是5,1.23之类的数字,或者像'This is a string'或"It is a string!"这样的字符串..

它被称为文字因为它是文字的 - 你从字面上使用它的值.数字2总是代表自己而不是其他 - 它是一个常量,因为它的值不能改变.因此,所有这些都被称为文字常量.

在它所说的"它被称为文字,因为它是字面意义 - 你按字面意思使用它的价值",我只是没有得到这一部分.这本书试图说我们按字面意思使用这个值是什么?另一个模糊点是数字2是一个常数,因为它的值不能改变.怎么可能?我们可以改变它,如:

stack = 2
stack = 3
Run Code Online (Sandbox Code Playgroud)

首先,我将数字2分配给堆栈,然后我更改了堆栈的值(这是该书声称它是一个常量的数字2,因此无法更改)并为其分配了数字3.所以我很容易改变了数字2的值.我真的很困惑,如果你没有明白我的意思,请告诉我,我可以举出更多的例子.谢谢你给你的时间.

python constants literals

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