好的,我有2个非常大的类> 1k行,我现在分成多个.然后,他们使用多重继承重新组合.现在我想知道,如果有更干净/更好的pythonic方式这样做.完全将它们分解出去会导致无数的self.otherself.do_something调用,我认为这不应该是它应该完成的方式.
为了使事情清楚,这是它目前的样子:
from gui_events import GUIEvents # event handlers
from gui_helpers import GUIHelpers # helper methods that don't directly modify the GUI
# GUI.py
class GUI(gtk.Window, GUIEvents, GUIHelpers):
# general stuff here stuff here
Run Code Online (Sandbox Code Playgroud)
造成这种情况的一个问题是Pylint抱怨给我数万亿的"init not called"/"undefined attribute"/"在定义之前访问的属性"警告.
编辑:
你可能想看看代码,让自己想象一下整个事情究竟是什么.
http://github.com/BonsaiDen/Atarashii/tree/next/atarashii/usr/share/pyshared/atarashii/
请注意,我正在尝试将这个东西尽可能保持干燥,我正在使用pylint来检测代码重复,它唯一抱怨的是导入.
我正在用C#创建一个应用程序.它的作用是评估给定是否为素数以及相同的交换数是否为素数.
当我在Visual Studio中构建我的解决方案时,它说"非静态字段,方法或属性需要对象引用......".我对"volteado"和"siprimo"方法有这个问题.
问题在哪里,我该如何解决?
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Write a number: ");
long a= Convert.ToInt64(Console.ReadLine()); // a is the number given by the user
long av = volteado(a); // av is "a" but swapped
if (siprimo(a) == false && siprimo(av) == false)
Console.WriteLine("Both original and swapped numbers are prime.");
else
Console.WriteLine("One of the numbers isnt prime.");
Console.ReadLine();
}
private bool siprimo(long a)
{
// Evaluate if the received number is prime
bool sp …Run Code Online (Sandbox Code Playgroud) 我有一个EditText,一个按钮和一个微调器.单击该按钮时,微调器将添加一个新项目,其中包含您在EditText中输入的名称.但这是问题,我的adapter.add()方法似乎不起作用...这是我的代码:
public class Spr extends Activity {
Button bt1;
EditText et;
ArrayAdapter<CharSequence> adapter;
Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt1 = (Button)this.findViewById(R.id.bt1);
et = (EditText)this.findViewById(R.id.et);
spinner = (Spinner)this.findViewById(R.id.spr);
adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String temp = et.getText().toString();
adapter.add(temp);
adapter.notifyDataSetChanged();
spinner.setAdapter(adapter);
}
});
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); …Run Code Online (Sandbox Code Playgroud) 我想要一个Perl正则表达式,它将匹配字符串中的重复单词.
鉴于以下输入:
$str = "Thus joyful Troy Troy maintained the the watch of night..."
Run Code Online (Sandbox Code Playgroud)
我想要以下输出:
Thus joyful [Troy Troy] maintained [the the] watch of night...
在构建工作空间进程时,Eclipse正在做什么?我可以禁用它,因为它需要很长时间才能完成,我不知道是否有必要.谢谢
我正在试图找出究竟是什么依赖属性,但当我在任何地方查找定义时,我只找到"如何使用"而不是"它是什么".想象一下,在面试时会被问到 - 什么是依赖财产.你的答案是什么?
我有Java经验,最近正在做一些C++编码.我的问题是,如果我有A类,我必须将B类和C类实例化为A的两个成员变量.
如果在A的构造函数中,我是否应该假设B类和C类的分配永远不会失败,并在A的析构函数中处理错误的分配异常?
如果我没有做出这个假设,意味着我添加了一些try catch块来捕获类B和类C的bad_alloc,那么如果发生分配异常,我应该在A的构造函数中进行清理吗?
推荐的做法是什么?如果"new"生成错误分配,指针会携带什么值?
我正在考虑制作一个(最初)小型Web应用程序,它最终有可能增长.所有被认为是Google App Engine的东西似乎都是非常有吸引力的选择.比如,用户群和复杂性都在增长,出于一个或另一个原因,我需要将GAE抛在身后.迁移离开有多困难?
1)GAE是否提供了导出数据库的方法?它是什么格式?难道把它放在MySQL(或类似的)下吗?
2)我必须使用GAE API在哪些区域(例如数据库访问,其他?)?即哪些部分的实现必须被抽象掉/接口?
编辑:3)或者,是否值得抽象GAE API?
我已经创建了一个表单(所以它是PHP和HTML混合代码).它有能力发送'$ _POST'.当我点击它时,它完美地发送和显示输入.
但是当我点击Firefox中的Ctrl+ R来重新刷新页面时会发生一些事情.我得到了这个confim对话框:" 要显示此页面,Firefox必须发送重复执行之前执行的任何操作(例如搜索或订单确认)的信息 "
我的问题