问题标签 [slots]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1448 浏览

python - 使用槽的 Python 类的相等性

另一个问题为实现对象相等性测试提供了一个很好、简单的解决方案。我将重复上下文的答案:

我想为使用__slots__. 我知道基类和子类都必须使用插槽,但是您将如何定义__eq__它以使用插槽?

0 投票
5 回答
2076 浏览

python - PyQt - 带参数的插槽

例子:

我有三个按钮,几乎都一样。我只想为所有 3 个按钮提供 1 个插槽功能。

所以我需要像带参数的插槽之类的东西..

Python(pyQt) 能做到这一点吗?

0 投票
3 回答
3222 浏览

python - 使用带有插槽的 Python 描述符

我希望能够在具有插槽优化的类中使用 python 描述符:

我遇到的问题是如何实现描述符类,以便能够将值存储在调用描述符对象的类实例中。通常的解决方案类似于下面的解决方案,但由于在 C 类中调用“slots”时不再定义“dict”,因此无法正常工作:

0 投票
1 回答
1483 浏览

python - __slots__ 在 Python 中是如何实现的?

  • __slots__在 Python 中是如何实现的?
  • 这是否暴露在C 接口中?
  • __slots__在 C via 中定义 Python 类时如何获得行为PyTypeObject
0 投票
1 回答
6191 浏览

python - Python、__slots__、继承和类变量 ==> 属性是只读的 bug

我有一棵有数十万个节点的大树,我正在使用__slots__它来减少内存消耗。我刚刚发现了一个非常奇怪的错误并修复了它,但我不明白我看到的行为。

这是一个简化的代码示例:

然后我执行以下操作:

如果NodeTypeA.name未定义,则没有错误(旁注:该属性错误地存在,并且没有理由存在)。如果NodeTypeA.__slots__从未定义也没有错误,因此它有一个__dict__.

我不明白的是:为什么超类中存在类变量会干扰在​​子类的插槽中设置实例变量?

谁能解释为什么这种组合会导致object attribute is read-only错误?我知道我的示例是人为的,在实际程序中不太可能是故意的,但这并没有使这种行为变得不那么奇怪。

谢谢,
乔纳森

0 投票
1 回答
387 浏览

symfony1 - 使用 Symfony 在自动生成的管理模块中包含插槽

generator.yml有没有办法在 Symfony中包含一个插槽?我想只在一些后端模块中添加一段 HTML 代码,插槽是我能想到的最好的主意。

如果没有generator.yml,我怎么能做到这一点?

谢谢!

0 投票
1 回答
196 浏览

symfony1 - Symfony 后端</h1> <div id="body"><p>I use Symfony 1.4.11. And I need to add custom <code><title></title></code> for each page.In frontend I use slots (<a href="http://www.symfony-project.org/jobeet/1_4/Do</a> </h3> <div class="s-post-summary--content-excerpt"> </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags tags js-tags t-cñ t-ûnet t-aspûnet-mvc t-aspûnet-mvc-4 t-actionfilterattribute"> <a href="/tags/symfony1" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">symfony1</a><a href="/tags/symfony-1.4" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">symfony-1.4</a><a href="/tags/slots" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">slots</a> </div> <div class="s-user-card s-user-card__minimal"> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4"> </div> </div> <time class="s-user-card--time" style="margin-left:5px;"> <span title="2022-04-18 08:34:11Z" class="relativetime"> 2011-06-23T14:23:22.263</span></time> </div> </div> </div> </div><div id="question-summary-71909431" class="s-post-summary js-post-summary" data-post-id="71909431" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">投票</span> </div> <div class="s-post-summary--stats-item " title="2 answers"> <span class="s-post-summary--stats-item-number">2</span> <span class="s-post-summary--stats-item-unit">回答</span> </div> <div class="s-post-summary--stats-item " title="3831 views"> <span class="s-post-summary--stats-item-number">3831</span> <span class="s-post-summary--stats-item-unit">浏览</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/6720747" class="s-link">python - 获取派生类的所有 __slots__</a> </h3> <div class="s-post-summary--content-excerpt"> <p>我需要用 None 初始化实例的所有插槽。如何获取派生类的所有插槽?</p> <p>示例(不起作用):</p> <p>我可以使用一个额外的类属性来保存所有类的插槽(包括继承的),比如</p> <p>但这似乎不是最理想的。</p> <p>任何意见表示赞赏!</p> <p>干杯,</p> <p>简</p> </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags tags js-tags t-cñ t-ûnet t-aspûnet-mvc t-aspûnet-mvc-4 t-actionfilterattribute"> <a href="/tags/python" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">python</a><a href="/tags/inheritance" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">inheritance</a><a href="/tags/slots" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">slots</a> </div> <div class="s-user-card s-user-card__minimal"> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4"> </div> </div> <time class="s-user-card--time" style="margin-left:5px;"> <span title="2022-04-18 08:34:11Z" class="relativetime"> 2011-07-16T22:46:39.523</span></time> </div> </div> </div> </div><div id="question-summary-71909431" class="s-post-summary js-post-summary" data-post-id="71909431" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">投票</span> </div> <div class="s-post-summary--stats-item " title="1 answers"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">回答</span> </div> <div class="s-post-summary--stats-item " title="2802 views"> <span class="s-post-summary--stats-item-number">2802</span> <span class="s-post-summary--stats-item-unit">浏览</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/6970592" class="s-link">javascript - django include_javascript/use_javascript 和类似的</a> </h3> <div class="s-post-summary--content-excerpt"> <p>我正在寻找使用类似 symfony 的样式或类似样式在 django 模板中包含 javascript/css 文件的方法。</p> <p>我的 base/layout.html 模板如下所示:</p> <p>我可以轻松地添加另一个扩展基本模板的模板:</p> <p>这将正常工作。但是有两个问题: 1. 我不能多次使用 {% block %} 2. 包含的模板中的每个 {% block javascript %} (例如,例如 header.html )都将被视为包含模板的块</p> <p>我能看到的最好的方式:base/layout.html 有类似的东西:{% include_javascripts %}</p> <p><b>任何子</b>模板或包含的模板:{% use_javascript "jquery.js" %}</p> <p>另外,我希望 block {% block layer %}{% endblock %} 以类似的方式扩展,并且可以根据需要扩展多次</p> </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags tags js-tags t-cñ t-ûnet t-aspûnet-mvc t-aspûnet-mvc-4 t-actionfilterattribute"> <a href="/tags/javascript" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">javascript</a><a href="/tags/python" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">python</a><a href="/tags/css" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">css</a><a href="/tags/django" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">django</a><a href="/tags/slots" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">slots</a> </div> <div class="s-user-card s-user-card__minimal"> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4"> </div> </div> <time class="s-user-card--time" style="margin-left:5px;"> <span title="2022-04-18 08:34:11Z" class="relativetime"> 2011-08-07T03:42:18.163</span></time> </div> </div> </div> </div><div id="question-summary-71909431" class="s-post-summary js-post-summary" data-post-id="71909431" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">投票</span> </div> <div class="s-post-summary--stats-item " title="2 answers"> <span class="s-post-summary--stats-item-number">2</span> <span class="s-post-summary--stats-item-unit">回答</span> </div> <div class="s-post-summary--stats-item " title="7325 views"> <span class="s-post-summary--stats-item-number">7325</span> <span class="s-post-summary--stats-item-unit">浏览</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/7489262" class="s-link">python - Singleshot:带参数的 SLOT</a> </h3> <div class="s-post-summary--content-excerpt"> <p>我有一个奇怪的问题。这是我的代码: </p> <p>所以我在控制台中得到了这个:</p> <p>在“B”中,您应该得到与“A”中相同的结果。有谁知道出了什么问题?如何获取 arg1 值而不是其类型?这没有任何意义...</p> <p>PS:我正在尝试这样的事情:http: <a href="http://lists.trolltech.com/qt-interest/2004-08/thread00659-0.html" rel="nofollow noreferrer" title="Qt-兴趣档案">//lists.trolltech.com/qt-interest/2004-08/thread00659-0.html</a></p> </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags tags js-tags t-cñ t-ûnet t-aspûnet-mvc t-aspûnet-mvc-4 t-actionfilterattribute"> <a href="/tags/python" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">python</a><a href="/tags/qt" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">qt</a><a href="/tags/pyqt" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">pyqt</a><a href="/tags/args" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">args</a><a href="/tags/slots" class="post-tag flex--item mt0 js-tagname-cñ" title="" rel="tag">slots</a> </div> <div class="s-user-card s-user-card__minimal"> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4"> </div> </div> <time class="s-user-card--time" style="margin-left:5px;"> <span title="2022-04-18 08:34:11Z" class="relativetime"> 2011-09-20T17:33:11.707</span></time> </div> </div> </div> </div> </div> <br class="cbt"> <div class="s-pagination site1 themed pager float-left"> <a class="s-pagination--item js-pagination-item " href="/tags/slots?p=1" rel="" title="Go to page 2">1</a><a class="s-pagination--item js-pagination-item is-selected" href="/tags/slots?p=2" rel="" title="Go to page 2">2</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=3" rel="" title="Go to page 2">3</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=4" rel="" title="Go to page 2">4</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=5" rel="" title="Go to page 2">5</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=6" rel="" title="Go to page 2">6</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=7" rel="" title="Go to page 2">7</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=8" rel="" title="Go to page 2">8</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=9" rel="" title="Go to page 2">9</a><a class="s-pagination--item js-pagination-item " href="/tags/slots?p=10" rel="" title="Go to page 2">10</a></div> </div> <div id="sidebar" class="show-votes" role="complementary" aria-label="sidebar"> <div class="module js-gps-related-tags" id="related-tags"> <h4 id="h-related-tags">Reference</h4> <div data-name="javascript"> <a href="https://php.github.net.cn" class="post-tag no-tag-menu js-gps-track" >php</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">1429865</span> </span> </div> <div data-name="javascript"> <a href="https://c-cpp.com" class="post-tag no-tag-menu js-gps-track" >c/c++</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">756500</span> </span> </div> <div data-name="javascript"> <a href="https://nginx.github.net.cn" class="post-tag no-tag-menu js-gps-track" target="_blank">nginx</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49975</span> </span> </div> <div data-name="javascript"> <a href="https://mongodb.net.cn" class="post-tag no-tag-menu js-gps-track" >mongodb</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">159057</span> </span> </div> <div data-name="javascript"> <a href="https://mybatis.net.cn" class="post-tag no-tag-menu js-gps-track" >mybatis</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">3233</span> </span> </div> <div data-name="javascript"> <a href="https://anaconda.org.cn" class="post-tag no-tag-menu js-gps-track" >anaconda</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">13410</span> </span> </div> <div data-name="javascript"> <a href="https://pycharm.net.cn" class="post-tag no-tag-menu js-gps-track" >pycharm</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">14671</span> </span> </div> <div data-name="javascript"> <a href="https://python.github.net.cn" class="post-tag no-tag-menu js-gps-track" >python</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">1902243</span> </span> </div> <div data-name="javascript"> <a href="https://vscode.github.net.cn" class="post-tag no-tag-menu js-gps-track" >vscode</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">56040</span> </span> </div> <div data-name="javascript"> <a href="https://dockerdocs.cn" class="post-tag no-tag-menu js-gps-track" >docker</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">110988</span> </span> </div> <div data-name="javascript"> <a href="https://github.net.cn" class="post-tag no-tag-menu js-gps-track" >github</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49000</span> </span> </div> <div data-name="javascript"> <a href="https://flask.github.net.cn" class="post-tag no-tag-menu js-gps-track" >flask</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">49129</span> </span> </div> <div data-name="javascript"> <a href="https://ffmpeg.github.net.cn" class="post-tag no-tag-menu js-gps-track" >ffmpeg</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">24037</span> </span> </div> <div data-name="javascript"> <a href="https://jmeter.net" class="post-tag no-tag-menu js-gps-track" >jmeter</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">16910</span> </span> </div> <div data-name="javascript"> <a href="https://matplotlib.net" class="post-tag no-tag-menu js-gps-track" >matplotlib</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">63493</span> </span> </div> <div data-name="javascript"> <a href="https://getbootstrap.net" class="post-tag no-tag-menu js-gps-track" >bootstrap</a> <span class="item-multiplier"><span class="item-multiplier-x">×</span> <span class="item-multiplier-count">54641</span> </span> </div> </div> </div> </div> </div> <footer id="footer" class="site-footer js-footer" role="contentinfo"> <div class="site-footer--container"> <div class="site-footer--logo"> <a href="https://stackoverflow.com"><svg aria-hidden="true" class="native svg-icon iconLogoGlyphMd" width="32" height="37" viewBox="0 0 32 37"><path d="M26 33v-9h4v13H0V24h4v9h22Z" fill="#BCBBBB"/><path d="m21.5 0-2.7 2 9.9 13.3 2.7-2L21.5 0ZM26 18.4 13.3 7.8l2.1-2.5 12.7 10.6-2.1 2.5ZM9.1 15.2l15 7 1.4-3-15-7-1.4 3Zm14 10.79.68-2.95-16.1-3.35L7 23l16.1 2.99ZM23 30H7v-3h16v3Z" fill="#F48024"/></svg></a> </div> <nav class="site-footer--nav"> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.org.cn" class="js-gps-track" data-gps-track="footer.click({ location: 3, link: 15})">Stack Overflow 中文网</a></h5> <p>遵从 CC BY-SA 知识共享许可协议。</p> </div> </nav> </div> </footer> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?709ff2ad9744e86b5b0eee677fc13ede"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-1MW5BV8G8E"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-1MW5BV8G8E'); </script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6117966252207595" crossorigin="anonymous"></script> </body> </html>