HOWTO · Python

Python의 난수 생성기

이 자습서에서는 Python에서 임의의 문자를 생성하는 방법에 대해 설명합니다.

Python은 난수와 문자를 생성하는 데 도움이 되는 내장 모듈을 제공합니다. Python에서 임의의 문자를 생성하기 위해 이러한 내장 모듈을 구현하는 여러 방법을 사용할 수 있습니다.

이 자습서는 Python에서 임의의 문자를 생성하는 데 사용할 수 있는 다양한 방법을 보여줍니다.

randomstring 모듈을 사용하여 Python에서 임의 문자 생성

Python에는 Python 프로그램으로 가져올 수 있는 random 모듈이 포함되어 있습니다. 또한 프로그래머의 필요에 따라 임의의 문자를 생성하는 데 사용할 수 있는 몇 가지 기능이 포함되어 있습니다.

이 경우 random 모듈에 포함된 random.choice() 함수를 사용할 수 있습니다. random.choice() 함수는 지정된 시퀀스에서 무작위로 선택된 요소를 반환하는 데 사용됩니다.

string 모듈은 문자열을 처리하는 기능을 제공합니다. 하나의 특정 상수인 ascii.letters는 기본적으로 대문자와 소문자 범위를 의미하는 (A-Z)(a-z) 범위를 포함하는 문자열을 반환하는 데 사용됩니다.

다음 코드는 randomstring 모듈을 사용하여 Python에서 임의의 문자를 생성합니다.

import string
import random

if __name__ == "__main__":

    rstr = random.choice(string.ascii_letters)
    print(rstr)

위의 코드는 다음 출력을 제공합니다.

v

secrets 모듈을 사용하여 Python에서 임의 문자 생성

secrets 모듈을 사용하여 암호학적으로 안정적이고 안전하며 예측할 수 없는 난수를 생성할 수 있습니다. 또한 비밀번호, 계정 인증, 보안 토큰 및 URL과 같은 중요한 보안 관련 데이터를 생성하고 유지하는 데 주로 사용됩니다.

보안에 중점을 두고 있기 때문에 Python에서 난수를 생성하는 가장 안전한 방법이며 Python 3.6 이후의 모든 Python 버전에서 사용할 수 있습니다.

random 모듈과 유사하게 secrets 모듈에는 Python에서 임의의 문자를 생성하는 데 사용할 수 있는 choice() 함수도 포함되어 있습니다.

다음 코드는 secrets 모듈을 사용하여 Python에서 임의의 문자를 생성합니다.

import string
import secrets

if __name__ == "__main__":

    rand = secrets.choice(string.ascii_letters)
    print(rand)

위의 코드는 다음 출력을 제공합니다.

c

random.randint() 함수를 사용하여 Python에서 임의 문자 생성

random.randint() 함수를 사용하여 지정된 범위 내에서 난수를 반환할 수 있습니다. 프로그래머는 범위를 지정할 수 있습니다. random.randint() 함수는 Python에서 제공하는 내장 random 모듈에 포함되어 있으며 이 함수를 사용하려면 Python 코드로 가져와야 합니다.

random.randint() 함수는 random.randrange() 함수의 별칭이며 startstop의 두 가지 필수 매개변수를 포함합니다. 이 매개변수는 난수 또는 문자를 생성하려는 범위를 지정합니다.

Python에서 임의의 문자를 생성하기 위해 동일한 random.randint() 함수를 구현할 수 있습니다.

다음 코드는 random.randint() 함수를 사용하여 Python에서 임의의 문자를 생성합니다.

import random

randlowercase = chr(random.randint(ord("a"), ord("z")))
randuppercase = chr(random.randint(ord("A"), ord("Z")))
print(randlowercase, randuppercase)

코드 프로그램은 다음 출력을 제공합니다.

s K

이 기사에서 언급한 모든 코드는 Python에서 임의의 문자를 생성하기 위한 것이므로 코드가 실행될 때마다 출력이 달라집니다.