Ótima pergunta Igor!
Eu costumava recomendar Python como uma linguagem boa para se aprender, mas, nos últimos tempos tenho recomendado o JavaScript…
Mas, falando no mercado de trabalho pra Python, ele é muito voltado para machine learning e data science, ou seja, para análise de dados. Quando falamos em análise de dados, estamos falando de backend, algo que “o usuário não vê”. É algo que está “lá atrás” processando e analisando informações.
Lá fora, data science está em alta mas no Brasil o mercado de trabalho pra Python não é tão representativo ainda. Inteligência artificial e tudo que está ao redor é o há de melhor atualmente lá fora. Se você comparar a demanda disto no Vale do Silício e no Brasil, seria algo como 50 vezes menor, então é um mercado bem pequeno aqui, porque as empresas focadas (ou com demandas) em data science são poucas.
Aqui no Brasil as oportunidades com Python estarão mais ligadas ao desenvolvimento de API e também sistemas Web. Das empresas que usam Python para Web, a maioria utiliza Django, que é um framework.
Se você se identifica com Python, ama ele, e não precisa de emprego por agora, siga estudando e pesquisando as vagas, para ver o que as empresas estão buscando. Mas se você precisa de emprego, existem muitas outras tecnologias/linguagens com mais demanda, tais como Java, C# e JavaScript (React/Angular/Node).
Quanto a ser freelancer, você atenderia pequenas empresas ou pessoas que precisam de pequenas soluções, normalmente aplicativos, sites e sistemas. Nestes casos é preciso fazer “tela” (frontend), se você souber Python e C por exemplo, será quase impossível conseguir um cliente porque estas linguagens estão muito orientadas para o backend.
Já a ideia do portfólio, se você quer ser um programador, é muito melhor ter um github movimentado e um perfil no stackoverflow com muitos pontos. Neste segundo caso (stackoverflow) as empresas viriam atrás de você… não é preciso nem procurar, mas é preciso ter alguns milhares de pontos, ou seja, saber mesmo algo e ajudar os demais.
Então minha dica é você pensar melhor nas possibilidades, ler mais sobre que tipo de software se faz com cada linguagem, e com o que deseja realmente trabalhar. É backend (o que o usuário não vê), é frontend (o que o usuário vê), é nas duas pontas, é hardware, é infra?
Espero ter te ajudado!
Boa sorte!