草庐IT

python - 在python程序中定义类外的一些函数有什么好处

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。为什么函数应该在它们在Python中使用的类之外​​声明?例如,followingprojectonGithub使用它的_hash、_task_from_taskline和_tasklines_from_tasks函数来做到这一点。格式同下:classUnknownPrefix(Exception):"""Raisedwhentryingtouseapre

python - @staticmethod 或类外函数?

假设我有一个class这需要一个函数(或者我应该说方法)是:独立于我的class实例-不需要self争论;仅在我的class中被调用对象我在任何时候都不需要访问它(例如覆盖它);我应该(A)将它放在class中吗?并将其标记为@staticmethod或者我(B)应该在我的class之外定义它吗?对象(但在同一个命名空间中)?为什么?例子:classA:def__init__(self,my_int):self.my_int=my_intdefmy_int_and_4(self):print(self.adder(self.my_int,4))@staticmethoddefadder

dart - 什么是类外的小部件的 'state'

我已经开始使用flutter进行一些工作,我对类之外的小部件的“状态”感到好奇。当我将searchAndAddRow移动到myApp类内部的构建函数之外时,我需要将Widget声明为final,这是有道理的,因为它是一个无状态类。当我将Widget完全移出类时(就像我在代码片段中所做的那样),我不需要定义任何东西。在这两种情况下,当我将searchAndAddRow移动到MyApp的build之外时,androidstudio中的“热重载”功能不起作用,应用程序需要停止并重新启动才能使更改生效。是什么促使我首先提出这个问题。import'package:flutter/material

C# 公共(public)变量在类内可写但在类外只读

我有一个.NetC#类,我需要在其中公开一个变量。我需要在一个方法中(而不是在构造函数中)初始化这个变量。但是,我不希望该变量可以被其他类修改。这可能吗? 最佳答案 不要使用字段-使用属性:classFoo{publicstringBar{get;privateset;}}在此示例中,Foo.Bar在任何地方都是可读的,并且只能由Foo本身的成员写入。附带说明一下,此示例使用了版本3中引入的称为自动实现的属性的C#功能。这是语法糖,编译器会将其转换为具有私有(private)支持字段的常规属性,如下所示:classFoo{[Comp

c++ - 类外的默认构造函数/析构函数?

根据C++11标准,以下是否合法(=default在类的定义之外)?//InheaderfileclassTest{public:Test();~Test();};//IncppfileTest::Test()=default;Test::~Test()=default; 最佳答案 是的,可以在.cpp文件中默认定义一个特殊的成员函数。意识到这样做,内联默认函数的某些属性将不适用于您的类。例如,如果您的复制构造函数是默认定义的外联,则您的类将不会被视为可简单复制(这也使其无法被识别为POD)。同样,默认定义的外联析构函数将使您的类型

c++ - 为什么非常量静态变量需要在类外初始化?

这个问题在这里已经有了答案:C++staticmembervariableanditsinitialization(5个回答)HowtoinitializeprivatestaticmembersinC++?(18个回答)关闭4年前。我知道非常量静态变量需要在类定义之外进行初始化,但是,这是有原因的吗?classA{staticintx=0//compileerror;staticinty;};intA::y=0;//fine 最佳答案 本质上是因为x的存在独立于创建的A的instances的数量。所以x的存储需要在某个地方定义-你

c++ - 如何在不创建 "friend"的情况下访问类外的私有(private)数据成员?

这个问题在这里已经有了答案:CanIaccessprivatemembersfromoutsidetheclasswithoutusingfriends?(27个回答)关闭5年前。我有一个classA,如下所述:-classA{intiData;};我既不想创建成员函数,也不想继承上面的classA,也不想改变iData的说明符。我的疑惑:-如何访问一个对象的iData,比如obj1,它是classA的一个实例?如何改变或操作对象obj1的iData?注意:不要使用friend。 最佳答案 这是一种方法,但不推荐classWeak{

Python - 我应该将我的辅助函数放在类内还是类外?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion在Python中,如果类的某些方法需要辅助函数,但辅助函数本身并没有使用类中的任何东西,我应该将辅助函数放在类内部还是外部?我试着把它放在里面,但是PyLint提示这个函数可以放在外面。@卡尔:该类是软件升级程序,如果该文件夹尚不存在,则辅助函数会创建一个新文件夹。该类位于一个模块中,到目前为止几乎只有该类的代码。稍后可能会添加其他类。 最佳答案

c++ - 类内或类外的函数声明

我是一名尝试学习C++的JAVA开发人员,但我真的不知道标准函数声明的最佳实践是什么。在类里面:classClazz{public:voidFun1(){//dosomething}}或者在外面:classClazz{public:voidFun1();}Clazz::Fun1(){//Dosomething}我感觉第二个的可读性较差...... 最佳答案 C++是面向对象的,因为它支持面向对象的软件开发范式。但是,与Java不同的是,C++不会强制您将函数定义分组到类中:声明函数的标准C++方式是只声明一个函数,而不需要任何类。如

c++ - 类外的静态函数

谁能告诉我在类之外声明静态函数的目的是什么?这2有什么区别?在这种情况下使用静态有什么好处吗?staticvoidsomeRandomFunction();intmain(){someRandomFunction();return0;}和voidsomeRandomFunction();intmain(){someRandomFunction();return0;} 最佳答案 在命名空间范围内,static给出了一个名称​​internallinks,这意味着它只能在包含定义的翻译单元内访问。没有static,它有外部链接,并且可以