Em Python, ou qualquer outra linguagem de programação, às vezes, você deseja adicionar um atraso de tempo em seu código antes de prosseguir para a próxima seção de código.

Se isto é o que você quer fazer, então você deve usar a função de latência do módulo de tempo.

primeiro, vou começar por discutir como usar a função de sono do Python. Depois disso vou falar mais sobre algumas perguntas frequentes e como a função de sono é realmente implementado sob o capô.,

função de latência

Como mencionei, o latência é uma função embutida em Python no módulo de tempo.

assim, para usar o sleep, você terá que importar primeiro o módulo de tempo.

o sono leva apenas um argumento que é o período de tempo em segundos para o qual você quer dormir.

usar a função de latência em Python 2 e Python 3 é exatamente o mesmo, então você não precisa se preocupar com qual versão de Python seu código está rodando.

é realmente muito simples e direto para a frente. Vamos ver alguns exemplos.,

Python 2

digamos que deseja usar o sono para adicionar um atraso de 10 segundos.

no exemplo seguinte, imprimo o tempo decorrido entre a invocação da função de latência e a sua devolução.

Como pode ver, o tempo decorrido é muito próximo de 10 segundos, o que é o que esperamos.

Python 3

nenhuma alteração no Python 3.

pode usar a função de latência no Python 2 exactamente como faz no Python 2.

Perguntas Mais Frequentes

Q: Como usar a função de latência para dormir por um período de tempo inferior a um segundo, por exemplo milisegundos ou microssegundos?,grande pergunta.

a função de latência realmente toma um número de ponto flutuante como um argumento, não como um inteiro.

E isso significa que você pode passar qualquer fração de segundo como um argumento.

Por exemplo:

Q: Como usar a função de latência para dormir até um tempo específico?esta é uma questão muito comum.

dependendo do que você está tentando fazer, existem duas maneiras diferentes de conseguir isso.

o caminho para a frente é pré-completar o atraso (em segundos) até esse tempo específico antes de chamar a função de latência.

outra maneira é usar o evento.,aguardar a função do módulo do evento.

Se o que você está tentando fazer é bloquear um tópico até que uma condição aconteça, é muito melhor usar wait().

Q: Como é que o sono é realmente implementado?esta é uma pergunta fantástica.

sleep não é realmente implementado pelo Python.

bem, é, mas é simplesmente um invólucro em torno de algo mais que é implementado pelo Sistema Operacional.

Todos os sistemas operacionais têm uma chamada de Sistema de latência ().

Se você não sabe o que é uma chamada de sistema, então você deve!,

Aqui está o livro que eu recomendo para aprender sobre conceitos de sistemas operacionais.

mas de qualquer forma, você pode pensar em uma chamada de sistema como uma API ou uma interface que o SO fornece para os programas de espaço de usuário para interagir com o SO.o que faz um SO quando recebe uma chamada do sistema de latência?

basicamente o que o SO fará é suspender o processo (seu programa) de ser agendado na CPU para o período de tempo que você especificou.,

Observe que isso é completamente diferente de adição de atraso utilizando um manequim para o loop que não faz nada (o que é algo que você NUNCA deve fazer).

no caso de um manequim para loop, o seu processo ainda está a correr na CPU.

mas no caso de sono (), o seu processo ficará efetivamente dormente por um tempo até que o sistema operacional comece a agendá-lo novamente na CPU.

aprender Python?

confira a seção de cursos!,

Featured Posts

  • The Python Learning Path (From Beginner to Mastery)
  • Learn Computer Science (From Zero to Hero)
  • Coding Interview Preparation Guide

  • The Programmer’s Guide to Stock Market Investing
  • Como iniciar o seu Blog de programação?estás a começar a tua carreira de programação?eu forneço o meu melhor conteúdo para iniciantes na newsletter.
    • Python tips for beginners, intermediate, and advanced levels.conselhos de carreira.descontos especiais nos meus cursos premium, quando são lançados.,

    e muito mais…

    Assine agora. É grátis.