@staticmethod e métodos inerentes às classes
haja vista o `@staticmethod` não alterar em nada a execução do meu código, qual a função exata dele? somente dizer para o desenvolvedor que o que vem abaixo dele é um método da classe? <br /><br />é
<p>bom dia thiago! tudo bom?</p>
<p>eu não sou super manjador de python, mas entendo de conceitos, então acho que posso te ajudar nesse caso.</p>
<h3>conceito do <code>static</code></h3>
<p>um método estático dentro de uma classe indica que este método pode ser invocado sem a necessidade de que você tenha uma instância desta classe.</p>
<h3>usos do <code>static</code></h3>
<p>em geral, esse modificador é usado pra métodos que criam e retornam instâncias da própria classe, no padrão singleton, mas podem ter outros usos como por exemplo operadores de string, muito comuns em bibliotecas terceirizadas.</p>
<h3>exemplo prático</h3>
<p>abaixo vai um código com um método estático e um normal.</p>
<pre class="prettyprint"><code>class usuario(object):

 &#64;staticmethod
 def anonimo():
 return usuario(&#34;anônimo&#34;)

 def \_\_init\_\_(self, nome):
 self.\_\_nome &#61; nome

 def nome(self):
 print &#34;nome de usuário: %s&#34;%(self.\_\_nome)</code></pre><p>e aqui alguns exemplos de uso:</p>
<pre class="prettyprint"><code>thiago &#61; usuario(&#34;thiago&#34;)
thiago.nome()
&#34;&#34;&#34;
&gt;&gt;&gt; nome de usuario: thiago
&#34;&#34;&#34;

anonimo &#61; usuario.anonimo()
anonimo.nome()
&#34;&#34;&#34;
&gt;&gt;&gt; nome de usuario: anonimo
&#34;&#34;&#34;

usuario.nome(thiago)
&#34;&#34;&#34;
&gt;&gt;&gt; nome de usuario: thiago
&#34;&#34;&#34;

usuario.nome()
&#34;&#34;&#34;
&gt;&gt;&gt; traceback (most recent call last):
 file &#34;usuario.py&#34;, line 25, in &lt;module&gt;
 usuario.nome()
 typeerror: unbound method nome() must be called with usuario instance as first argument (got nothing instead)
 tradução livre: errodetipagem: método nome() não está atrelado a nenhum objeto, mas precisa ser chamado a partir de (ou tendo como primeiro argumento) uma instância de usuario
&#34;&#34;&#34;</code></pre><p>repare que é possível (em python) utilizar um método não-estático usando a sintaxe de método estático (como no terceiro exemplo, <code>usuario.nome(thiago)</code>) e ele não lançar um erro (como no último exemplo, <code>usuario.nome()</code>) contanto que você passe uma instância válida de um objeto da mesma classe.</p>
<h3>casos de uso incomuns</h3>
<p>no código acima, temos um método que retorna um usuário anônimo. porém mesmo sendo estático, o método pode ser utilizado em uma instância, como no exemplo abaixo:</p>
<pre class="prettyprint"><code>thiago &#61; usuario(&#34;thiago&#34;)
anonimo &#61; thiago.anonimo()
anonimo.nome()
thiago.nome()
&#34;&#34;&#34;
&gt;&gt;&gt; nome de usuario: anonimo
&gt;&gt;&gt; nome de usuario: thiago
&#34;&#34;&#34;</code></pre><p>este caso de uso é incomum, mas estou colocando aqui pra mostrar que o acesso a métodos estáticos é possível. apesar de neste caso não fazer sentido, em algumas ocorrências do padrão singleton isso pode ser uma ótima escolha de modelagem.</p>
<p>se quiser um exemplo disso, posso fornecer!</p>
<h3>conclusão</h3>
<p>um método estático é bem diferente de um método normal pois seu acesso é mais aberto.</p>
<p>além disso, o método estático não depende de você ter uma instância, podendo ser chamado diretamente a partir da classe. isso fica claro na assinatura, na qual não é obrigatório passar a variável <code>self</code> como primeiro parâmetro.</p>
<p>espero ter ajudado a esclarecer a dúvida, thiago! caso ainda tenha mais alguma dúvida sobre o assunto, não hesite em perguntar! sobre outros assuntos, pode abrir novos tópicos no fórum!</p>
<p>um grande abraço, bom final de semana e bons estudos!</p>
<p><code>#pragma comment</code> é uma diretiva de compilador que indica o visual c++ para deixar um comentário no arquivo de objeto gerado. o comentário pode ser lido pelo vinculador quando ele processa arquivos de objeto.</p><p><code>#pragma comment(lib, libname)</code> informa ao vinculador para adicionar a biblioteca 'libname' à lista de dependências da biblioteca, como se você tivesse adicionado nas propriedades do projeto em <code>linker-&gt;input-&gt;additional dependencies</code></p><p>veja <a href="http://msdn.microsoft.com/en-us/library/7f0aews7(v=vs.120).aspx">#pragma comment</a> no msdn</p> arraylist::new é uma referência ao construtor da classe arraylist, essa sintaxe é chamada de method reference. 
existem quatro tipos de method reference: 


referência à um método estático de uma classe: 
nomedaclasse::nomedometodoestatico 


referência à um método de instância de uma classe: 
nomed… <p>as primitivas definidas localmente estariam na pilha. no entanto, se uma primitiva fosse definida como parte de uma instância de um objeto, essa primitiva estaria na pilha.</p><pre><code>public class test { private static class heapclass { public int y; // when an instance of heapclass is allocated, this will be on the heap. } public static void main(string[] args) { int x=1; // this is on the stack. } } </code></pre><p>com relação à atualização:</p><p>os objetos não têm sua própria pilha. no meu exemplo, <code>int y</code> realmente faria parte de cada instância de <code>heapclass</code>. sempre que uma instância do heapclass é alocada (por exemplo, <code>new test.heapclass()</code>), todas as variáveis ​​de membro do heapclass são adicionadas ao heap. portanto, como instâncias de <code>heapclass</code> estão sendo alocadas no heap, <code>int y</code> estaria no heap como parte de uma instância de <code>heapclass</code>.</p><p>no entanto, todas as variáveis ​​primitivas declaradas no corpo de qualquer método seriam <strong><em> na pilha </em></strong>.</p><p>como você pode ver no exemplo acima, <code>int x</code> está na pilha porque é declarado no corpo de um método - não como membro de uma classe.</p> <p>dois caminhos. símbolos (<code>:foo</code> notação) ou constantes (<code>foo</code> notação).</p><p>os símbolos são apropriados quando você deseja melhorar a legibilidade sem conter o código com strings literais.</p><pre><code>postal\_code[:minnesota] = "mn" postal\_code[:new\_york] = "ny" </code></pre><p>constantes são apropriadas quando você tem um valor subjacente que é importante. apenas declare um módulo para manter suas constantes e, em seguida, declare as constantes dentro disso.</p><pre><code>module foo bar = 1 baz = 2 biz = 4 end flags = foo::bar | foo::baz # flags = 3 </code></pre> <p>existe um padrão &quot;padrão&quot; para getters e setters em java, chamado <a href="http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html">bean properties</a> . basicamente, qualquer método que comece com <code>get</code>, não tendo argumentos e retornando um valor, é um getter de propriedade para uma propriedade nomeada como o resto do nome do método (com uma letra inicial em minúsculas). da mesma forma, <code>set</code> cria um setter de um método void com um único argumento.</p><p>por exemplo:</p><pre><code>// getter for "awesomestring" public string getawesomestring() { return awesomestring; } // setter for "awesomestring" public void setawesomestring( string awesomestring ) { this.awesomestring = awesomestring; } </code></pre><p>a maioria dos ides java gerará esses métodos para você se você perguntar a eles (no eclipse é tão simples quanto mover o cursor para um campo e pressionar ctrl-1 e, em seguida, selecionar a opção na lista).</p><p>por que vale a pena, para legibilidade, você pode realmente usar <code>is</code> e <code>has</code> no lugar de <code>get</code> para propriedades de tipo booleano também, como em:</p><pre><code>public boolean isawesome(); public boolean hasawesomestuff(); </code></pre> Esta é a minha opinião, mas; assim como as classes de caso do, eu gostaria implementar um `copy`método de tipos na classe para fazer a modificação possível, mantendo a imutabilidade, mas existe alguns casos que eu não posso ajudar a tê-lo mutável; por exemplo, quando se espera algo para tornar a operação de cópia muito grande e lento para a classe; como quando a classe tem tantos membros freqüentemente modificados. E não se preocupe com milhares de casos flutuando na memória, porque eles são automaticamente GC'ed, então o problema mais real é o custo do tempo de copiar as instâncias da classe. Por favor, diga-me se minha opinião é de alguma forma errada :) <p>bem, <code>get\_posts()</code> na verdade instancia um novo objeto <code>wp\_query</code>, então se você estiver confortável usando <code>wp\_query</code> diretamente, nem se preocupe com <code>get\_posts()</code>; <code>get\_posts</code> só retornará os resultados do banco de dados, enquanto <code>wp\_query</code> lhe dará toda a funcionalidade da classe.</p> <p>se bem entendi, você deseja enviar dados para um programa em execução dentro de uma sessão de tela. você pode fazer isso com o comando <code>stuff</code> da tela. use a tela <code>-x</code> opção para executar um comando em uma sessão de tela sem anexar a ela.</p><pre><code>screen -s sessionname -p windowname -x stuff 'command1 command2 ' </code></pre><p>se você quiser ver a saída do programa, consulte os comandos <code>hardcopy</code>, <code>log</code> e <code>logfile</code>.</p> **serve mas eu queria mudar e só depois esconder, mas como ele faz isso?**


para mudar seu endereço de ip global, basta desligar e ligar novamente o moden


**é permanente?**


sim, a não ser que voce desligue e ligue o moden novamente!


**tenho q instalar um programa? ou toda vez q eu quero q ele esconda o ip tenho q entrar no site?**


não necessita programa, e não tem como esconder seu ip global, da mesma maneira que não tem como outros descobrirem, ao menos que voce passe.


**se eu fizer isso terei algum problema e poderei ficar sem net?**


não ira ficar sem net.


cara na boa, tu enrola, enrola, e enrola, e não fala logo que voce quer...


seja rápido e objetivo, qual seu problema ? porque tanta preocupação assim com seu endereço de ip? integrais indefinidas são integrais que não apresentam intervalo de integração definido, não sendo possível seu cálculo exato.

resposta: existem diversos tipos e técnicas para integração, sendo eles:


 método direto - dependendo do tipo de função (trigonometrica, algébrica, etc);
 integral por substituição;
 integração por partes;
 método numérico;