Pergunta

eu sinto como eu vou voltar à idade da pedra.

Como faço para reaprender a se desenvolver sem intellisense (pydev intellisense não conta) .. em geral, como é que se deixar com sucesso o conforto de visual studio?

Foi útil?

Solução

Eu aprendi recentemente python com um C # sólida.

O meu aconselhar: Basta fazê-lo. Desculpe, não pude resistir, mas eu também sou sério. Instale python e leu: Python.org documentação (v2.6). Um livro pode ajudar também - I como o Python PhraseBook . A partir daí, eu comecei a usar python para implementar soluções para várias coisas. Mais notavelmente, ProjectEuler.net perguntas.

Ele obrigou-me a considerar as línguas e construído em estruturas de dados.

Python é realmente fácil de usar e intuitivo. Para aprender o básico, me levou cerca de uma hora. Para chegar muito bom com ele, levou cerca de 5 horas. Claro, há sempre mais para aprender.

Além disso, quero ressaltar que eu iria desencorajar usando IronPython ou Jython porque eu sinto núcleo de aprendizagem, python regular é o primeiro passo.

Outras dicas

Python tem ricos recursos de "introspecção". Em particular, você pode descobrir muito sobre built-in recursos usando um comando chamado help() a partir da linha de comando Python.

Suponha que você queira usar expressões regulares, e quer descobrir como usá-los.

>>> import re
>>> help(re)

Você recebe uma boa exibição de informações, mostrado automaticamente para você uma página de cada vez (bater a barra de espaço para ver a página seguinte).

Se você já sabe que você deseja usar a função sub() do módulo re, você pode obter ajuda em apenas isso:

>>> help(re.sub)

E esse recurso help() vai mesmo trabalhar em seu próprio código, contanto que você definir Python docstrings para seus módulos, classes e funções.

Você pode ativar recursos no editor vim (ou gvim, ou vim para Windows) que permitem uma "IntelliSense" -como recurso autocompletar, e você pode usar exuberante Ctags para gerar hiperlink 'tags' para deixá-lo a navegar rapidamente através de seu código. Estes por sua vez, vim em algo que é mais ou menos tão poderoso quanto um IDE, com todo o poder do vim para edição. (Não há uma ferramenta de refatoração explícito construído para vim, mas lá são opções disponíveis .

E como os outros, você pode obter IDEs para Python também. Eu usei o Wingware IDE , e eu recomendo. Eu tento fazer a maior parte de meu trabalho com livre, software open-source, mas isso é um pedaço de software proprietário eu estaria disposto a comprar. Eu usei também Eclipse com o Pydev plug-in (eu usei a ferramenta de refatoração e funcionou muito bem).

P.S. Python tem um conjunto de recursos mais rico do que C #, embora ao custo que o seu código não vai correr tão rápido. Uma vez que você se acostumar com Python, você não vai sentir como se estivesse na idade da pedra mais.

Um passo de cada vez?

Comece com programas simples (coisas que você pode escrever com os olhos fechados em C #), e continuar ... Você vai acabar conhecendo a API de cor.

<rant>

Este é o tipo de razão que eu penso ser um bom usuário do Visual Studio faz de você um mau desenvolvedor. Em vez de aprender uma API, você olha no navegador de objetos até encontrar algo que soa mais ou menos como o que você está procurando, instanciá-lo, em seguida, bateu. e começar a olhar para o que soa como a coisa certa a utilização. Enquanto isso é muito rápido, isso também significa que leva uma eternidade para aprender uma API em qualquer profundidade, o que muitas vezes significa que você acaba quer re-inventar a roda (porque a roda é enterrado sob uma pena de montanha de eletrodomésticos e você não tinha idéia ele estava lá), ou apenas fazer as coisas de uma forma sub-óptima. Só porque você pode encontrar A solução rapidamente, não significa que ele é A MELHOR solução.

</rant>

No caso da NET, que acompanha cerca de um bilhão de APIs para tudo sob o sol, este é realmente o preferido. Você precisa vasculhar muito barulho para encontrar o que você está apontando para.

código Pythonic favorece um, maneira óbvia de fazer qualquer coisa dada. Isso tende a fazer as APIs muito simples e legível. O truque é aprender o idioma e aprender as APIs. Não é terrivelmente difícil de fazer, especialmente no caso de python, e apesar de não ser capaz de confiar em intellisense pode ser dissonante no início, não deve demorar mais de uma semana ou duas antes de se acostumar com isso não estar lá .

Aprenda a linguagem e as bibliotecas padrão básicos com um bom livro. Quando se trata de uma nova biblioteca API, acho que o REPL e alguns exploratória de codificação pode me fazer uma boa compreensão muito do que está acontecendo com bastante rapidez.

Você pode sempre começar com IronPython e continuar a desenvolver no Visual Studio.

O IDE python de wingware é bastante agradável. Isso é o que eu acabei usando indo de estúdio visual C ++ /. Net para fazer python.

Não se preocupe com intellisense. Python é muito simples e não há realmente muito o que sabe, então depois de alguns projetos que você vai ser conceber código python durante a condução, comer, etc., sem realmente tentar uniforme. Além disso, python é construído em editor de texto (IDLE) tem uma versão fracote de intellisense que sempre foi mais do que suficiente para os meus propósitos. Se você nunca ir em branco e quer saber o que os métodos / propriedades e objeto tiver, basta digitar isso em uma sessão interativa:

dir (myobject)

A mesma maneira de fazer qualquer outra coisa que não tem IntelliStuff.

Eu estou apostando que você escreveu que pergunta sem o auxílio de um programa de computador IntelliEnglish que você mostrou uma lista de verbos que você poderia usar e pontuação adicionada automaticamente no final de suas sentenças, por exemplo. : -)

Eu uso o Eclipse e PyDev, na maioria das vezes, ea limitada ajuda auto-realização que ele fornece é bastante útil.

Não é nunca vai chegar ao nível de IntelliSense do VS, e não pode, por causa da natureza dinâmica do Python. Mas existem compensações, grandes.

A maior é a quebra do ciclo de código-compilação-teste. É tão fácil de escrever e código do protótipo de teste em IDLE que muitas vezes é onde eu ir primeiro: Eu vou delinear e testar um par de métodos que têm de interoperar, descobrir que há algo que eu não sei, aprender, corrigir o meu teste, e então a porta a coisa toda para PyDev e vê-lo trabalhar pela primeira vez.

Outra é que é muito mais simples. É muito importante saber o que os módulos standard são, eo que eles fazem, mas para a maior parte que pode ser pego com um pouco de leitura. Eu só uso um pequeno punhado de módulos na minha programação diária - itertools, os, csv (sim, bem), datetime, StringIO - e tudo o resto é lá se eu precisar dele, mas normalmente eu não faço

.

O material que é realmente importante saber é o material que IntelliSense não poderia ajudá-lo com qualquer maneira. Auto-realização não vai fazer

self.__dict__.update(kwargs)

fazer um pouco mínima de sentido; você tem que aprender o que uma linha incrível de código que é, e por que você iria escrevê-lo, por si mesmo.

Em seguida, você pensa: "como é que eu sequer começar a implementar algo parecido em C #?" e perceber que as ferramentas dessas pessoas da Idade da Pedra está usando são um pouco mais sofisticado do que você pensa.

Eu não estou muito familiarizado com o Python, então eu vou dar alguns conselhos gerais. Certifique-se de imprimir algumas páginas de referência de funções comuns. Mantê-los por você (ou preso a uma parede ou mesa) em todos os momentos, quando sua programação .. Estou tradicionalmente uma "idade da pedra" desenvolvedor e depois de desenvolver no VS por alguns meses eu estou achando meu programação hobby é difícil sem intellisense .. mas mantê-la a memorizar as funções mais comuns e, eventualmente, ele só vai ser natural

Você também vai ter que começar a usar um pouco mais "difícil" de depuração (não sei como isso funciona com python)

Enquanto o seu aprendizado, porém, você deve desfrutar da bondade (pelo menos em comparação com C #) de Python, mesmo se você não tem intellisense .. espero que isso irá motivá-lo!

Eu só utilizado IDLE para o desenvolvimento python e não é divertido, no mínimo. Eu recomendaria obter o seu editor de texto favorito, o meu é o Notepad ++, e orando por um plugin decente para ele. Eu só tive de ir de Eclipse para Visual Studio para que minhas opiniões são geralmente inválido nestes contextos.

Eu uso Komodo Edit e ele faz razoavelmente bom adivinhando o autocompletar.

Outros sugeriram vários editores que têm intellisense-como capacidades. Experimentá-los.

Também instalar ipython e usar isso para aprender a língua de forma interativa. É como uma versão turbinada até do python shell interativo regular com lotes e lotes de recursos adicionais, e um dos mais útil que seu contexto extensa sensível guia-conclusão e ajuda.

Por exemplo, se você digitar

import r<tab>

ele irá mostrar todos os módulos que você pode importar começando com r

import re
re.<tab>

irá mostrar todos os objetos no módulo re

re.compile?

irá mostrar o docstring e outras informações sobre a função re.compile, canalizando-o automaticamente através de um pager se é mais do que uma tela cheia.

re.compile??

irá mostrar o código fonte, bem como, se disponível.

Usando este Acho que é muito mais rápido para mudar para ipython e consulta objetos diretamente do que está a olhar para cima nada nos docs. Você tem acesso ao sistema habitual python ajuda () também.

ipython tem muitas e muitas outras características -. Demasiadas para cobrir em um post curto

PyScripter faz um trabalho razoável no auto-realização / intellisense. Eu tenho usado recentemente como eu comecei a aprender Python / Django, onde eu estive principalmente um # desenvolvedor C nos últimos anos.

Eu sugiro ir peru frio - linguagens como Python brilho com grandes editores de texto. Escolha um que você quer se tornar surpreendente em (vim, emacs, etc) e nunca olhar para trás.

Um erro que as pessoas que vêm de C # ou Java fazer um monte é recriar uma hierarquia de classes grande como é comum nessas línguas. Com Python esta quase nunca é útil. Em vez disso, aprender a digitar pato. E não se preocupe muito com a falta de tipagem estática: na prática, é quase nunca um problema

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top