> 백엔드 개발 > 파이썬 튜토리얼 > Python의 `input()`이 정수 대신 문자열을 반환하는 이유는 무엇입니까?

Python의 `input()`이 정수 대신 문자열을 반환하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-23 15:18:18
원래의
956명이 탐색했습니다.

Why Does Python's `input()` Return Strings Instead of Integers?

x와 y가 정수 대신 문자열을 받는 이유

제공된 코드를 실행할 때 특히 x = input("숫자를 입력하세요. : ") 및 y = input("숫자 입력: ")을 사용하면 사용자에게 값을 입력하라는 메시지가 표시되고 해당 값은 x 및 y에 다음과 같이 저장됩니다. 정수가 아닌 문자열입니다.

이 동작의 이유

이 동작은 Python이 다른 버전에서 입력을 처리하기 때문에 발생합니다. 제공된 코드가 실행될 가능성이 있는 Python 3에서는 input() 함수가 기본적으로 입력된 값을 문자열로 반환합니다. 이 문자열을 정수로 변환하려면 아래 수정된 코드에서 볼 수 있듯이 명시적인 형변환이 필요합니다.

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))
로그인 후 복사

다른 숫자 베이스 처리

Python은 다양한 기능을 제공합니다. 다양한 염기의 수를 받아들이는 접근 방식. 아래와 같이 캐스팅하는 동안 적절한 기수를 사용하면 다양한 근수로 숫자를 해석할 수 있습니다.

data = int(input("Enter a number: "), 8)  # Converts to base 8 (octal)
data = int(input("Enter a number: "), 16)  # Converts to base 16 (hexadecimal)
data = int(input("Enter a number: "), 2)  # Converts to base 2 (binary)
로그인 후 복사

소수 값을 부동 소수점으로 변환

분수 구성 요소가 포함될 수 있으므로 정수 대신 부동 소수점으로 변환하는 것이 적절합니다. 이는 다음 구문을 사용하여 달성할 수 있습니다:

x = float(input("Enter a number:"))
로그인 후 복사

Python 2와 3의 특징

요약

사용자 입력과 관련하여 Python 2와 3의 주요 차이점

  • Python 2의 입력 함수는 수신된 데이터를 평가하고 이를 암시적으로 정수로 변환하는 반면, Python 3의 입력 함수는 기본적으로 이를 문자열로 반환합니다.
  • Python 2는 두 가지 모두를 제공합니다. input 및 raw_input 함수가 있지만 Python 3에는 input.

Python 2.x 동작

  • input은 입력된 표현식을 평가하고 결과를 적절한 유형(예: 정수 또는 문자열)으로 반환했습니다. ).
  • raw_input은 입력을 문자열 없이 검색했습니다. 해석.

Python 3.x 동작

  • 입력 기능은 Python 2의 raw_input과 유사하며 입력을 문자열로 반환합니다.

Python의 잠재적 위험 2.x 입력 함수

Python 2.x에서 입력 함수를 사용할 때 악성 코드 실행을 허용하는 등 의도하지 않은 동작을 유발할 수 있으므로 자동 평가에 주의하는 것이 중요합니다. 코드입니다.

위 내용은 Python의 `input()`이 정수 대신 문자열을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿