Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python SyntaxError:줄 연속 문자 뒤의 예기치 않은 문자 솔루션

Python 줄 연속 문자를 사용하면 프로그램의 새 줄에서 코드 줄을 계속할 수 있습니다. 줄 연속 문자 뒤에는 어떤 값도 올 수 없습니다.

줄 연속 문자 뒤에 문자나 명령문을 지정하면 "SyntaxError:줄 연속 문자 뒤에 예기치 않은 문자" 오류가 발생합니다.

이 가이드에서는 이 오류의 의미와 발생 이유에 대해 설명합니다. 코드에서 이 오류를 사용하는 방법을 배울 수 있도록 이 오류의 두 가지 예를 살펴보겠습니다.

SyntaxError:줄 연속 문자 뒤의 예기치 않은 문자

줄 연속 문자를 사용하면 여러 줄의 코드에 긴 문자열을 작성할 수 있습니다. 이 문자는 코드를 읽기 쉽게 해주기 때문에 유용합니다. 줄 연속 문자는 백슬래시("\")입니다.

정말 긴 코드 줄을 따라가기가 어려울 수 있지만 여러 줄로 나누어진 한 줄의 코드는 따라가기가 더 쉽습니다.

줄 연속 문자는 일반적으로 코드를 분할하거나 여러 줄의 코드에 긴 문자열을 작성하는 데 사용됩니다.

url = "https://careerkarma.com" \
      "/blog/python-syntaxerror-unexpected-character-after" \
      "line-continuation-character"

문자열을 세 줄로 나눴습니다. 이렇게 하면 코드를 더 쉽게 읽을 수 있습니다.

이 오류가 발생할 수 있는 두 가지 시나리오는 다음과 같습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

  • 나누기 연산자로 슬래시 대신 백슬래시 사용
  • 새 줄 문자를 괄호로 묶지 않고 문자열에 새 줄 추가

이러한 각 시나리오를 하나씩 살펴보겠습니다.

시나리오 #1:백슬래시를 사용한 나누기

여기서는 사람의 체질량 지수(BMI)를 계산하는 프로그램을 작성합니다. 시작하려면 사용자에게 키와 몸무게를 Python 프로그램에 삽입하도록 요청해야 합니다.

height = input("What is your height? ")
weight = input("What is your weight? ")

다음으로 사용자의 BMI를 계산합니다. BMI 값을 계산하는 공식은 다음과 같습니다.

BMI = kg/m2

"Kg"는 킬로그램 단위의 사람 무게입니다. “m 2 "는 사람의 키를 제곱한 것입니다. Python으로 번역하면 BMI를 계산하는 공식은 다음과 같습니다.

bmi = float(weight) \ (float(height) * 2)
print("Your BMI is: " + str(bmi))

"무게"와 "높이" 값을 부동 소수점 숫자로 변환하여 수학 기능을 수행할 수 있습니다.

그런 다음 사용자의 BMI를 콘솔에 인쇄합니다. str() 메서드를 사용하여 "bmi"를 문자열로 변환하여 "Your BMI is:" 메시지에 연결할 수 있습니다. round() 메서드를 사용하여 "bmi" 값을 소수점 이하 두 자리로 반올림합니다.

코드를 실행해 보겠습니다.

  File "main.py", line 4
	bmi = float(weight) \ (float(height) * 2)
                                        	^
SyntaxError: unexpected character after line continuation character

오류가 발생했습니다. 나누기 연산자로 "/" 기호 대신 "\"를 사용했기 때문입니다. "/" 나누기 연산자를 사용하여 코드를 수정할 수 있습니다.

bmi = float(weight) / (float(height) * 2)
print("Your BMI is: " + str(round(bmi, 2)))

코드 반환:

What is your height? 1.70
What is your weight? 63
Your BMI is: 18.53

우리 코드는 사용자의 BMI를 성공적으로 계산했습니다.

시나리오 #2:줄바꿈 문자를 잘못 사용

다음으로 성분 목록을 파일에 쓰는 프로그램을 작성합니다. 쇼트브레드 레시피의 재료 목록을 정의하는 것으로 시작합니다.

ingredients = [
	"150g plain flour",
	"100g butter, chilled an cubed",
	"50g caster sugar"
]

다음으로 재료 목록을 작성할 "shortbread_recipe.txt"라는 파일을 엽니다.

with open("shortbread_recipe.txt", "w+") as ingredients_file:
	for i in ingredients:
		ingredients_file.write(i + \n)

이 코드는 "성분" 변수의 모든 성분을 반복합니다. 각 재료는 재료 파일에 작성되고 그 뒤에 파이썬에서 줄 바꿈 문자("\n")가 옵니다. 이렇게 하면 각 성분이 새 줄에 표시됩니다.

Python 코드를 실행해 보겠습니다.

  File "main.py", line 9
	ingredients_file.write(i + \n)
                             	^
SyntaxError: unexpected character after line continuation character

코드가 오류를 반환합니다. 이는 새 줄 문자를 따옴표로 묶지 않았기 때문입니다.

줄 바꿈 문자는 특수 문자이지만 사용할 때마다 따옴표로 묶어야 합니다. 이것은 파이썬이 "\"를 줄 연속 문자로 취급하기 때문입니다.

코드의 오류를 해결하려면 개행 문자를 큰따옴표로 묶어야 합니다.

with open("shortbread_recipe.txt", "w+") as ingredients_file:
		for i in ingredients:
			 ingredients_file.write(i + "\n")

코드를 실행해 보겠습니다. 코드는 콘솔에 값을 반환하지 않습니다. "shortbread_recipe.txt"라는 새 파일이 생성됩니다. 그 내용은 다음과 같습니다:

150g plain flour
100g butter, chilled an cubed
50g caster sugar

코드가 "shortbread_recipe.txt" 파일에 목록을 성공적으로 인쇄했습니다.

결론

줄 연속 문자 뒤에 코드를 추가하면 "SyntaxError:줄 연속 문자 뒤에 예기치 않은 문자" 오류가 발생합니다.

이 오류를 해결하려면 수학 연산을 수행하는 경우 올바른 나누기 연산자(슬래시)를 사용해야 합니다. 줄 바꿈 문자와 같이 백슬래시가 포함된 특수 문자를 사용하는 경우 따옴표로 묶어야 합니다.

이제 코드에서 이 오류를 수정할 준비가 되었습니다!