No caso destas três opções, não acho nenhuma boa, vou explicar. Imagine que você quer fazer um desenho mas você não sabe desenhar, neste caso, colocar um papel por cima do desenho e rabiscar os traços dele irão te dar uma noção de como o desenho é feito, e de tanto repetir você decora o desenho e obtêm a capacidade de desenha-lo sem copiar, mas se eu te pedir para criar algo, provavelmente você não saberá como fazer, pois você treinou tanto o desenho original que decorou como ele é feito, mas não aprendeu os fundamentos de desenho livre. O mesmo serve para programação, independente da forma, se vocẽ apenas copiar o código, tu vai decorar ele, mas será que você realmente aprendeu ?, Se pegunte se você está entendendo como fazer X coisa dentro da programação, se você apenas copiar o código dos outros, você vai por consequência criar vicios que podem lhe prejudicar no futuro. Então minha contribuição para sua dúvida é, não faça nada, estude primeiro os fundamentos do que você quer aprender, a partir disso, você pode ir lá e ver como ele fez X processo, entender como o processo funciona e então aplicar o que você aprendeu de forma livre, por exemplo existem N maneiras de se consumir uma API, nenhuma delas vai ser certa ou o jeito perfeito, vai muito mais do contexto que você está aplicando o conhecimento. Sim existem maneiras únicas e exclusivasd de fazer algo mas são excesões a regra. O que quero dizer, é que ao invés de simplesmente fazer um "hello.py" que imprime a frase "Hello World", faça o programa com um olhar análitico e se pergunte o por que das coisas serem como são, e após isso se pegunte se existe outra maneira de fazer aquilo. no momento que você se perguntar o por que das coisas, sua mentalidade de o por que aprender vai mudar totalmente.