草庐IT

init_printing

全部标签

python - print() 与 sys.stdout.write() : which and why?

我有一个使用sys.stdout.write()和sys.stderr.write()创建输出的脚本。最近我发布了几个关于脚本其他方面的问题,我注意到发布答案的人似乎更喜欢print('sometext',file=sys.stdout)。我对输出的主要关注只是它可以通过shell管道传输到文件中或作为另一个程序的输入。有人可以解释(或指导我引用现有的解释)print()和sys.stdout.write之间的区别,每个应该使用的情况和这些约定合理吗? 最佳答案 "有人可以解释(或引导我到现有的解释)print()和sys.stdo

python - 每次在 Python 中的类中是否有必要将 __init__ 作为第一个函数?

在Python中,我想知道在创建类时是否需要包含__init__作为第一个方法,如下例所示:classExampleClass:def__init__(self,some_message):self.message=some_messageprint"NewClassinstancecreated,withmessage:"printself.message另外,为什么我们使用self来调用方法?谁能详细解释一下“self”的用法?另外,为什么我们在Python中使用pass语句? 最佳答案 不,没必要。例如。classA(obje

python - 为什么print语句不是pythonic?

Closed.Thisquestionisopinion-based。它当前不接受答案。想改善这个问题吗?更新问题,以便editingthispost用事实和引用来回答。7年前关闭。Improvethisquestion这个问题困扰了我很长时间(由mypreviousquestion证明):为什么print(x)确实比printx更好(被定义为更具Python风格)?对于那些不知道的人,print语句已更改为Python3.0中的函数。正式文档在PEP3105中,动机在GuidovanRossum'semail中。对于这些问题,我想提出一个反对意见:还有其他运算符,例如我们作为语句编写

Python - 覆盖 __init__ 的最干净方法,其中在 super() 调用之后必须使用可选的 kwarg?

我喜欢Python的美丽外观/感觉,我希望这可以更简洁(可读性很棒)。在覆盖子类init时,接受可选关键字参数的简洁方法是什么,其中可选的kwarg必须在super()之后使用称呼?我有一个django表单,我想接受一个可选的用户参数,但如果我将它定义为参数之一user=None,然后通常的形式调用form({})假设位置参数是指关键字参数user.代码胜于(我的)话:def__init__(self,*args,**kwargs):user=Noneif'user'inkwargs:user=kwargs.pop('user')super(BaseCheckoutForm,self)

python - 是否应该在 __init__ 中初始化所有成员变量

也许这更像是一个风格问题而不是技术问题,但我有一个包含多个成员变量的类,我想让它工作,以便在用户第一次创建类的实例时初始化一些成员变量(即在__init__函数中)并且我希望从稍后将调用的成员函数的参数定义其他成员变量。所以我的问题是我应该在__init__函数中初始化所有成员变量(并将稍后定义的变量设置为虚拟值)还是在__init__函数中初始化一些还有一些在以后的功能中。我知道这可能很难理解,所以这里有几个例子。此示例在__init__函数中将var3初始设置为0,然后在my_funct函数中设置为所需的值。classmyClass(object):def__init__(self

python - 使用 __init__ 继承属性

我是刚开始学习Python的Java人。举个例子:classPerson():def__init__(self,name,phone):self.name=nameself.phone=phoneclassTeenager(Person):def__init__(self,name,phone,website):self.name=nameself.phone=phoneself.website=website我确信有很多冗余代码(我知道在Java中,上面的代码有很多冗余)。对于已经从父类继承的属性,哪些部分是多余的? 最佳答案 在

python - 在 Python2.x 中使用 print()(函数版本)

我了解语句和表达式之间的区别,并且我了解Python3将print()变成了函数。但是,我在各种Python2.x解释器上运行了一个用括号括起来的print()语句,它运行完美,我什至不必导入任何模块。我的问题:以下代码print("HelloSO!")在Python2.x中是否被评估为语句或表达式? 最佳答案 考虑以下表达式:a=("HelloSO!")a="HelloSO!"它们是等价的。同理,用一个语句:statement_keyword("foo")statement_keyword"foo"也是等价的。请注意,如果您将打印

python - pretty-print 二维列表?

是否有一种简单的内置方法可以将2DPython列表打印为2D矩阵?所以这个:[["A","B"],["C","D"]]会变成这样的ABCD我找到了pprint模块,但它似乎没有做我想要的。 最佳答案 为了让事情变得有趣,让我们尝试一个更大的矩阵:matrix=[["Ah!","WedohavesomeCamembert","sir"],["It'sabit","runny","sir"],["Well,","asamatteroffactit's","veryrunny,sir"],["Ithinkit'srunnier","tha

python - 简单的留言簿 django : __init__() takes 1 positional argument but 2 were given

我是Django新手,正在尝试制作一个简单的留言簿应用程序来适应环境。我收到以下错误,但我找不到错误:异常值:_init_()接受1个位置参数,但给出了2个。fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportUserfromdjango.contribimportadminclassBericht(models.Model):titel=models.CharField(max_length=50)auteur=models.ForeignKey(User,blank=True)email=models.Email

python - Python 中的 __new__ 和 __init__

我正在学习Python,到目前为止,我可以讲述以下关于__new__和__init__的内容:__new__用于对象创建__init__用于对象初始化__new__在__init__之前调用,因为__new__返回一个新实例,然后调用__init__以初始化内部状态.__new__适用于不可变对象(immutable对象),因为它们一旦被分配就无法更改。所以我们可以返回具有新状态的新实例。我们可以对可变对象使用__new__和__init__,因为它的内部状态是可以改变的。但我现在还有其他问题。当我创建一个新实例如a=MyClass("hello","world")时,这些参数是如何传