>  기사  >  백엔드 개발  >  Python에서 현재 시간과 난수를 사용하여 고유한 숫자를 생성하는 방법을 설명합니다.

Python에서 현재 시간과 난수를 사용하여 고유한 숫자를 생성하는 방법을 설명합니다.

巴扎黑
巴扎黑원래의
2017-09-21 11:08:522234검색

이 글에서는 Python의 현재 시간과 난수를 사용하여 고유한 숫자를 생성하는 방법을 주로 소개합니다. Python 시간과 난수 관련 연산 기술이 포함됩니다. 필요한 친구는 참고할 수 있습니다.

이 글의 예에서는 Python이 어떻게 작동하는지 설명합니다. 현재 시간과 난수를 사용하여 고유한 숫자를 생성하는 방법입니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

Python에서 현재 시간을 생성하는 것은 매우 간단하며 Java의 코드보다 훨씬 짧습니다. "Java Get Current"를 참조하세요. 시스템 이벤트 System.currentTimeMillis() 메서드"

구체 코드는 다음과 같습니다 :


#-*-coding:utf-8-*-
import datetime
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print now;

실행 결과는 다음과 같으며 현재 시간이 출력되고 strftime("%Y-%m-%d %H:%M:%S")에 따라 시간 형식이 결정되며 해당 형식은 다음과 같습니다. C 언어의 printf 문만큼 간단합니다.

Python은 다음 명령문을 사용하여 고유한 난수를 생성할 수 있습니다.


import random;
print random.randint(0,100);#生成的随机整数n,其中0<=n<=100

이에 따라 현재 시간과 난수를 사용하여 파일 업로드와 같은 일부 경우에 고유한 숫자를 생성할 수 있습니다.

극단적인 상황을 고려하면 1,000명의 사용자가 1초 내에 파일을 업로드할 경우 충돌이 없는 가장 좋은 상황은 현재 시간 + 0~1000의 임의의 정수를 사용하여 임의의 숫자를 구성하는 것입니다.

유일하게 주목할 점은 접합 시간과 문자열을 직접 추가하는 것이 아니라 접합하기 전에 문자열로 변환해야 한다는 것입니다. Python에는 변수 선언이 없으므로 직접 추가는 숫자의 추가가 됩니다.

또한, 난수가 10보다 작은 숫자인 경우 생성된 자릿수가 동일하도록 무작위로 생성된 숫자 앞에 0을 추가해야 합니다.

구체적인 코드는 다음과 같습니다.


#-*-coding:utf-8-*-
import datetime;
import random;
nowTime=datetime.datetime.now().strftime("%Y%m%d%H%M%S");#生成当前时间
randomNum=random.randint(0,100);#生成的随机整数n,其中0<=n<=100
if randomNum<=10:
  randomNum=str(0)+str(randomNum);
uniqueNum=str(nowTime)+str(randomNum);
print uniqueNum;

다음 Python 프로그램은 10개의 테스트 케이스를 설정하여 1초 내에 생성된 결과를 테스트하는 데 사용됩니다.


#-*-coding:utf-8-*-
import datetime;
import random;
for i in range (0,10):
  nowTime=datetime.datetime.now().strftime("%Y%m%d%H%M%S");#生成当前时间
  randomNum=random.randint(0,100);#生成的随机整数n,其中0<=n<=100
  if randomNum<=10:
    randomNum=str(0)+str(randomNum);
  uniqueNum=str(nowTime)+str(randomNum);
  print uniqueNum;

얻은 코드는 다음과 같습니다. 실행 결과는 아래와 같습니다. 생성된 숫자가 모두 동일하지 않을 수도 있습니다.

위 내용은 Python에서 현재 시간과 난수를 사용하여 고유한 숫자를 생성하는 방법을 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.