Jump to content

Dúvida Programação em Python


Diogo Correia
 Share

Recommended Posts

Entrei este ano na FCTUC em Engenharia Informática. No secundário não tive bases nenhumas de programação. Ando a aprender agora a programar em linguagem Python e estou com muitas dificuldades.Queria saber se é normal e se me podem dar algumas dicas de onde e como posso aprender mais sobre programar em linguagem Python.Obrigado

Link to comment
Share on other sites

Aparte de cursos e livros "for dummies":

Simplesmente faz a pergunta do que queres fazer no google. Se souberes colocar a pergunta, normalmente obtens respostas ao que pretendes no stackoverflow e afins.

Antigamente isto era virtualmente impossível (no meu tempo, não havia a quantidade de respostas a um sem número de questões que existe hoje em dia, já para não falar na quantidade de pessoas que hoje em dia programa).

Eu já tinha background de programação qd experimentei o python, mas a maneira como eu fui introduzido ao python foi ter que programar um parser de um ficheiro de dados em ascii (output de um programa). O parser tinha que ler, filtrar e exportar os dados do ficheiro para uma tabela. A quantidade de dados facilmente ultrapassava 1 milhão de entradas, com várias colunas (cada uma com header) ptt tinha que ser qq coisa que para além de funcionar, tinha que ser rápida a executar.
Uma cena não muito complicada, mas que acho ter sido um bom primeiro passo.

Estou a dar este exemplo pq acho que é um bom método para iniciares.

Primeiro arranja uma ideia de programa. Nada de muito extravagante... Só qq coisa que abranja mais ou menos o tipo de coisas que vais mexer com mais regularidade.
Operações de strings, estruturas de dados, operações de matrizes, quais as diferenças entre listas e matrizes, etc, etc, são coisas que para mim são muito relevantes e por isso o parser ajudou. Tenta arranjar algo mais ou menos semelhante para o teu caso em particular.
Depois foi começar do 0 e ir perguntando ao google sempre que encravava.

Se complementares isso com as sugestões do resto da malta, acho que não há razão para teres problemas.

  • Like 1
Link to comment
Share on other sites

Já testei Python à uns anos ultimamente é só PHP, e javascript. Python é brutal porque o código fica bastante limpo. Acho que o melhor que tens a fazer sobretudo se não sabes o básico de programação  (no fim de saberes programar bem em qualquer linguagem é muito mais simples aprenderes outras) é começares com esses tutoriais básicos que andam ai na net. Mas não percas demasiado tempo com isso porque uma cena é a programação "teórica" outra é realmente fazer alguma coisa útil.

Pensa em algo que queiras fazer e começa a tentar fazer, ai é que te vai aparecer aqueles problemas que não vêem exatamente iguais nos livros e é ai que começas a aprender a sério. Quanto tiveres duvidas procura na net o stackoverflow é provavelmente o melhor amigo de qualquer programador, seja em que linguagem for. 

Em último caso pergunta aqui alguém deve conseguir-te dar uma ajuda ou meter-te no caminho correcto. Se precisares de ideias de programas ou mesmo sites para fazer diz que alguém dá-te aqui ideias de certeza. Sim Python é brutal porque tanto podes fazer um programa para correr num pc como podes fazer um site.

Já agora escolheste Python porquê?

Link to comment
Share on other sites

Bem para além do tutorialspoint, codeacademy e outros que já existem tens também uma plataforma de aprendizagem de python feita por alunos do DEI: https://academy.dei.uc.pt

No inicio do curso também tive algumas dificuldades mas com vontade e trabalho vais lá. Para estudares para os testes e exames, aconselho-te a seguir o blog do Prof. Ernesto Costa, tem lá inúmeros exemplos e até exercicios de exames passados. https://programacaocompython.blogspot.pt/

Ah e por nada deste mundo lhe peças o livro dele em formato digital, estas automaticamente chumbado.

Boa sorte.

  • Like 1
Link to comment
Share on other sites

Eu segui este guia do principio ao fim:

http://openbookproject.net/thinkcs/python/english3e/index.html

E achei muito bom! 

Cada capítulo tem uma série de exercícios no fim para o qual não oferecem solução (se bem que encontras se procurares no google). E aconselho mesmo a resolveres todos, porque acho que é com estes exercícios que se aprende a sério.

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

Venho desenterrar este tópico.

Apesar da minha formação nada ter a ver com programação, sempre tive curiosidade em explorar esta vertente. "Brinquei" um pouco com SPSS na faculdade mas fui sem bases e continuo sem elas. Lendo o que recomendam para se iniciar nisto, falam muito no Python, por, supostamente, ser uma linguagem mais acessível e poder ser utilizada em variadas vertentes.

As minhas dúvidas:

  • Onde começar? Já li que o codeacademy é um bom sitio (o teu link já não funciona @camurso_). Os que recomendaram por aqui ainda estão actualizados?
  • No final, o que posso fazer exactamente com o Python? Conseguem dar exemplos práticos?
  • Do pessoal daqui que aprendeu isto, como é que o aplicam dia a dia?

Gracias!

Link to comment
Share on other sites

Depende um bocado do que quiseres fazer, Python não é propriamente a mais fácil de aprender e a sua utilidade no mundo real é mais para scripts de automação (pelo menos na minha experiência).

Se tiveres algumas noções de programação, talvez seja mais fácil seguires um C++ ou C#, que tem muito mais utilidade, apesar de ter uma curva de aprendizagem talvez superior ao Python. Java também poderá ser uma opção.

Uma aposta segura se tiveres 0 bases de programação, seria Pascal ou Cobol mas a sua utilidade no mundo real é quase 0.

No meu caso, diverti-me durante uns meses a fazer jogos (fazer talvez seja um exagero) para Mega Drive com um IDE que transformava funções de C++ em instruções Assembly, dado que é nessa linguagem que os jogos para o z80 (CPU da Mega Drive) eram feitos.
Basicamente arranjei uma motivação para aprender C++ nos tempos livres.

Edited by Ilusi0n
  • Like 1
Link to comment
Share on other sites

Concordo com o @Ilusi0n C++, pega nuns Arduinos ou nuns ESP's e vais arranjar diversão e projectos para muitas horas e principalmente vais ver aplicação no mundo real do que fizeres ;)

 

Há no ali uns kits de iniciação engraçados a preços baixos

Já agora há uma aplicação na store muito porreira sololearn

Link to comment
Share on other sites

Eu já acho que fazes muito bem virar-te para Python. Machine Learning, Rest APIs, Automação, Science Data, etc. 

1 hour ago, Stone said:

Venho desenterrar este tópico.

Apesar da minha formação nada ter a ver com programação, sempre tive curiosidade em explorar esta vertente. "Brinquei" um pouco com SPSS na faculdade mas fui sem bases e continuo sem elas. Lendo o que recomendam para se iniciar nisto, falam muito no Python, por, supostamente, ser uma linguagem mais acessível e poder ser utilizada em variadas vertentes.

As minhas dúvidas:

  • Onde começar? Já li que o codeacademy é um bom sitio (o teu link já não funciona @camurso_). Os que recomendaram por aqui ainda estão actualizados?
  • No final, o que posso fazer exactamente com o Python? Conseguem dar exemplos práticos?
  • Do pessoal daqui que aprendeu isto, como é que o aplicam dia a dia?

Gracias!

- Udemy, devem existir cursos free.

- Acho que podes fazer tudo, mas claro que há sempre coisas que fazem mais sentido fazer em X linguagem que outra (por exemplo podes fazer um jogo em Python, mas não faz muito sentido por causa da performance).

- Neste momento fazer apps em Flask.

 

Link to comment
Share on other sites

46 minutes ago, 2n2u said:

Eu já acho que fazes muito bem virar-te para Python. Machine Learning, Rest APIs, Automação, Science Data, etc. 

Como disse, para quem quer programar casualmente, disso o mais interessante será automação penso eu, e aí a quantidade de libs, exemplos e material adaptável e flexibilidade entre plataformas, penso que C++ é imbatível

Link to comment
Share on other sites

Ele n explica o que quer fazer. Falou em SPSS que é para tratamento e análise estatística de dados mas que não é uma linguagem de programação.
Se a ideia é fazer qq coisa com estatística, então C++ não é nada ideal para isso, tt quanto sei.

Tens uma data de outras linguagens mais adequadas para isso. Para isso a minha lista por ordem de preferência:

MatLab - Pago mas arranjas facilmente o pack completo. Tens uma data de funções e toolboxes ready made que podes usar para basicamente tudo o que queiras. É fácil de aprender e tens uma userbase que te responde ou já respondeu a quase todas as perguntas que possas ter quando tens dificuldade em programar este ou aquele detalhe do teu código. Se queres fazer scripts que te automatizem tarefas, tratar dados, etc, esta seria a minha escolha.

Python - Quase o mesmo que o que disse do MatLab mas com a vantagem de ser grátis. A única razão para eu ter o Python a seguir ao MatLab é pq acho que não é tão user friendly e a visualização dos dados enquanto estás a bater código (o workspace e a exploração dos dados dentro dela) não é tão boa. É meramente uma questão de conforto e gosto pessoal. Se queres fazer automatização e estatística, é uma boa opção mas acho que já estás a tentar matar um mosquito com um martelo. N entanto aprender python é sempre uma boa opção.

R - Se falares em estatística e em linguagens de programação, toda a gente te vai falar no R. É gratis e tal, tem uma userbase decente mas no global acho que ainda está muito verde. É uma linguagem com uma terminologia estranha e que não me agrada nada, tbh. É daquelas coisas que consegues migrar facilmente vindo de outras linguagens, mas que acho que se começares no R e depois quiseres ir para outra coisa, vais ter dificuldades...

 

  • Like 1
Link to comment
Share on other sites

@HERiTAGE excelente descrição! :y:

Do meu ponto de vista, e como utilizador já com alguns anos, SPSS para a maioria da estatística "corrente" é mais que suficiente.

MatLab serve para fazer estatística, mas como disseste sobre python, é "matar um mosquito com um martelo". É ótimo para análise de sinal e automação de scripts. Dentro da área do @Stone (Radiologia), pode ser muito útil até como redes de "AI" para catalogação automática de imagens. E sim, não faltam recursos e informação por essa net fora.

Python desconheço, nunca me dediquei.

R em minha opinião é um programa para estatística relativamente avançada, que permite a manipulação e tratamento de dados de uma forma que o SPSS não faz. No entanto, quase todos os cursos/formações/pós graduações em bioestatística trabalham com R.

Link to comment
Share on other sites

Eu gostei bastante do Udacity, tem cursos gratis desde o basico da programacao ate as utilizacoes mais avancadas como robotica, AI, VR, jogos, deep learning, machine learning, etc. Usam python e google app engine

Edit: So agora e que reparei que ja tinha dado esta sugestao nesta pagina em 2016. Mas fica aqui na mesma.

Edited by BooM
Link to comment
Share on other sites

Bem, desde já obrigado por todas as respostas. Tenho andado doente, daí não ter respondido.

O meu objectivo não está propriamente definido. Como disse, sempre tive interesse nesta vertente e queria explorar pelo menos uma linguagem que me abrisse mais portas no final. Estando na área que estou, Matlab até poderá ser uma boa opção mas não queria ficar confinado a apenas uma vertente. Por isso é que falei no Python porque aparentemente abre mais possibilidades, desde análise de dados, automação até desenvolver websites.

Eu provavelmente estou a soar a leigo e vago mas basicamente gostaria de aprender uma linguagem que no final fosse uma ferramenta útil para várias variantes.

Link to comment
Share on other sites

Se não definires algo em concreto que queiras fazer, não vais receber respostas mais específicas e apropriadas [emoji14]

Queres montar um carro telecomandado ou um termómetro com um arduino?

Queres montar uma mini estação metereologia ou uma emissora de rádio com um raspberry pi?

Queres fazer uns programas simples que te processem ficheiros ou outro suporte de dados?

Queres fazer uns scripts que extraiam informação de algum site todos os dias?

Etc, etc, etc...

Link to comment
Share on other sites

vamos programar?

49438986_10210713601396667_6596998706422

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Peço desculpa...

Edited by camurso_
  • Like 2
Link to comment
Share on other sites

Diz lá.

Foi a partir do momento em que compraste essa revista que decidiste o que querias ser quando fosses grande.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Paneleiro...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.