파이썬

 

 

1.문자열(String) 다루기 - 줄 바꿈, 연결, 들여쓰기

 

1. \n을 이용한 줄 바꿈

여러 줄을 출력하려면 print() 문을 여러 번 써야 했습니다. 예를 들어:

print("One")
print("Two")
print("Three")

하지만 이번에는 한 줄의 print() 코드만으로 여러 줄을 출력하는 방법을 배워봅니다. 방법은 문자열 안에 \n을 넣는 것입니다.

print("Hello\nWorld")

출력 결과:

Hello
World

 

주의: 슬래시는 \(백슬래시)이어야 하며, /(슬래시)가 아닙니다.

여러 줄을 출력하고 싶다면 \n을 계속 추가하면 됩니다:

print("One\nTwo\nThree")

 

2. 문자열 연결 (Concatenation)

문자열을 합치는 것문자열 연결 또는 문자열 결합이라고 합니다. 이는 + 연산자를 사용하여 할 수 있습니다.

print("Hello" + "Angela")

출력 결과:

HelloAngela

공백이 없기 때문에 두 문자열이 붙어서 출력됩니다.

공백을 추가하고 싶다면 방법은 3가지:

  1. "Hello "처럼 첫 번째 문자열 끝에 공백 추가

  2. " Angela"처럼 두 번째 문자열 앞에 공백 추가

  3. "Hello" + " " + "Angela"처럼 공백 문자열 " "을 중간에 추가

 

 

3. 들여쓰기(Indentation)의 중요성

파이썬에서는 들여쓰기(Indentation)가 매우 중요합니다. 다른 언어와 달리 들여쓰기가 문법의 일부이기 때문에, 잘못된 들여쓰기는 에러를 발생시킵니다.

 print("Hello")

위 코드는 IndentationError를 발생시킵니다.

  • IndentationError: 예상치 못한 들여쓰기가 존재할 때 발생

  • SyntaxError: 구문이 잘못되었을 때 발생

Tip: 들여쓰기는 공백(스페이스) 또는 탭(tab)으로 구성되며, 혼용하지 않도록 주의하세요.

 

4. PEP8 스타일 가이드

print ("Hello")

괄호 앞에 공백이 있는 코드는 문법 오류는 아니지만 권장되지 않는 스타일입니다. 이런 경우 IDE가 경고를 표시할 수 있습니다.

PEP8 스타일 가이드는 파이썬 커뮤니티에서 권장하는 코드 작성 규칙입니다.

 

5. 오류 메시지 읽기 연습하기

에러 메시지는 파이썬 인터프리터가 출력하는 것으로, 어떤 에디터를 사용하든 동일합니다. 반면, 편집기에서 나오는 빨간 밑줄이나 경고는 편집기마다 다릅니다.

따라서 가장 중요한 것은 코드 실행 후 나오는 오류 메시지를 정확히 읽고 해석하는 능력입니다.

 

6. 디버깅(Debugging)의 유래

"디버깅(debugging)"은 실제로 벌레(bug)에서 유래되었습니다. 1940년대, 한 프로그래머가 컴퓨터에 날아든 나방 때문에 작동 오류를 겪었고, 그 문제를 해결하기 위해 "버그를 제거(debug)"했다고 합니다.

 

오늘날 우리는 오류를 제거하는 작업을 디버깅이라고 부릅니다.

 

✅ 정리

  • \n을 사용하면 문자열 안에서 줄 바꿈 가능

  • 문자열은 + 연산자로 쉽게 연결 가능

  • 들여쓰기는 문법의 일부로 매우 중요

  • 오류 메시지를 읽고 해석하는 능력이 중요

  • 스타일 가이드를 따르면 더 깔끔한 코드 작성 가능

  • 디버깅은 개발자의 필수 역량

 

 

 

 

2. 사용자 입력과 문자열 연결

 

이 강의에서는 print() 함수 외에, 사용자로부터 입력을 받기 위한 input() 함수에 대해 배웁니다.

1. input() 함수 소개

  • 지금까지는 print()를 사용하여 문자열을 출력하고 디버깅하는 방법을 배웠습니다.

  • 하지만 프로그램이 사용자에게 데이터를 입력받아야 할 때는 input() 함수를 사용합니다.

input("What is your name?")
  • 이 코드를 실행하면 사용자는 이름을 입력할 수 있는 상태가 되며, 프로그램은 그 입력을 기다립니다.

  • 입력창에 커서를 두고 입력을 마친 후 엔터를 누르면 입력값이 코드 내부로 전달됩니다.

 

2. input() 함수와 print() 함수 결합

  • 사용자가 입력한 값을 활용하여 인사말을 출력할 수 있습니다.

print("Hello " + input("What is your name?"))
  • 위 코드 실행 시, input() 함수는 사용자에게 "What is your name?"을 보여주고 입력을 기다립니다.

  • 입력된 값이 input() 함수의 위치에 대체되고, print() 함수가 최종 문자열을 출력합니다.

예)

What is your name? Angela
Hello Angela

 

3. 문자열 연결 (concatenation)과 감탄 부호 추가

  • 위 코드를 개선하여 감탄 부호도 출력할 수 있습니다.

print("Hello " + input("What is your name?") + "!")
  • 이 코드는 Hello, 사용자 입력값, ! 세 문자열을 연결하여 출력합니다.

예)

What is your name? Cherry
Hello Cherry!

 

4. 코드 흐름을 시각적으로 이해하기

  • Thonny라는 파이썬 디버깅 도구를 이용하면 코드의 실행 흐름을 단계별로 볼 수 있습니다.

  • 이 도구는 input() 함수가 어떻게 실행되고 입력값이 어떻게 코드 안에 들어가는지를 시각적으로 보여줍니다.

 

5. 주석(comment)의 활용

  • 새 개념을 학습할 때, 코드 위에 주석을 추가하여 이해를 돕는 것이 좋습니다.

  • 파이썬에서 주석은 # 기호로 시작합니다. 컴퓨터는 이 줄을 무시합니다.

# 사용자에게 이름을 묻고 인사말을 출력한다.
print("Hello " + input("What is your name?") + "!")
  • 주석 단축키:

    • Mac: Command + /

    • Windows: Ctrl + /

요약

  • input() 함수로 사용자로부터 데이터를 입력받을 수 있다.

  • print() 함수 안에 input()을 넣어 사용자 맞춤 메시지를 출력할 수 있다.

  • 문자열끼리 연결(Concatenation)하여 더 복잡한 문장을 만들 수 있다.

  • 코드 흐름을 이해하기 위해 Thonny 같은 디버거 사용을 추천한다.

  • 주석을 적절히 활용하면 복습과 이해에 큰 도움이 된다.

 

 

 

 

 

 

 

 

3.파이썬 변수 이해하기

1. 변수란 무엇인가?

  • 변수(Variable)는 데이터를 저장하고, 다시 사용하기 위해 이름을 붙여주는 기능입니다.

  • 예시: name = input("What is your name?") 를 통해 입력값을 name이라는 변수에 저장하면 이후 코드에서 name을 사용해 재참조할 수 있습니다.

 

 

2. 변수 사용 기본 예시

name = input("What is your name?")
print(name)  # 사용자가 입력한 이름 출력
  • 사용자 입력을 변수 name에 저장하고, print(name)으로 출력합니다.

 

3. 변수는 변경 가능하다

name = "jack"
print(name)     # jack 출력

name = "Angela"
print(name)     # Angela 출력
  • 변수에는 언제든 새로운 값을 할당할 수 있으며, 이후 참조 시 최신 값이 사용됩니다.

 

 

4. 실습 과제 1: 이름 글자 수 출력하기

문제: 사용자에게 이름을 입력받고, 그 글자 수를 출력하세요.

해결 방법:

  • 문자열 길이 함수: len()

  • 예시 코드:

print(len(input("What is your name?")))
  • input()으로 받은 문자열을 len()으로 감싸 글자 수를 계산하고, print()로 출력합니다.

 

 

5. 프로그래머의 중요한 습관: 검색과 문서 읽기

  • 모르는 기능은 바로 검색하세요.(e.g. "how to find the length of a string in Python")

  • 추천 사이트:

뇌는 정보를 저장하는 용도가 아니라 생각하는 용도입니다. 필요한 지식은 검색을 통해 습득하세요.

 

6. 실습 과제 2: 변수로 단계를 나눠 처리하기

문제: 입력받은 이름을 변수에 저장하고, 그 길이를 또 다른 변수에 저장한 뒤, 최종적으로 길이만 출력하세요.

예시 코드:

username = input("What is your name?")
length = len(username)
print(length)
  • 단계별로 나눠 작성하면 코드가 더 읽기 쉽고 명확해집니다.

 

7. 변수의 필요성

  • 단순 예시에서는 차이를 느끼기 어렵지만, 코드가 복잡해질수록 가독성, 유지보수성이 크게 향상됩니다.

  • 각 단계에 이름을 붙여두면 디버깅 또는 기능 확장 시에도 유리합니다.

 

✅ 마무리

  • 변수를 사용해 데이터를 저장하고 재사용하는 방법을 익혔습니다.

  • 복잡한 로직일수록 변수의 장점이 커지므로, 다양한 예제에 적용하며 연습하세요.

 

 

 

 

 

 

 

4.파이썬 변수 이름 짓기 정리

 

파이썬에서 변수 이름을 지을 때는 원하는 대로 정할 수 있지만, 몇 가지 중요한 규칙과 좋은 습관을 따르는 것이 중요합니다.

1. 변수 이름은 자유롭게 정할 수 있다

  • 예를 들어, name이라는 변수 대신 n, L 등으로 작성해도 된다.

  • 단, 일관성 있게 사용해야 한다. 변수 이름을 바꾸면, 그 이름이 사용된 모든 부분도 같이 바꿔야 함.

 

2. 변수 이름은 읽기 쉽게 짓는 것이 중요하다

  • 코드 가독성은 매우 중요하다. 6개월, 12개월 후에 다시 코드를 봤을 때 의미를 알 수 있어야 한다.

  • n, L보다는 user_name, length 등 명확한 이름이 좋다.

 

3. 여러 단어로 이루어진 변수 이름

  • 여러 단어를 사용할 때는 언더스코어(_)로 구분한다.

  • 예: user_name, total_length

  • 공백은 사용할 수 없다. 공백이 있으면 문법 오류(syntax error)가 발생한다.

 

4. 변수 이름에 숫자 사용

  • 숫자를 포함할 수는 있지만, 앞에 올 수는 없다.

  • 예: length1, length2는 가능

  • 1length, 3data는 불가능 → 문법 오류 발생

 

5. 예약어는 변수 이름으로 사용하지 말자

  • 예: print, input 등은 파이썬에서 이미 사용되는 함수 이름이므로 변수로 사용하면 혼란을 일으킨다.

  • 문법적으로 오류는 없을 수 있으나, 가독성과 유지보수에 좋지 않음

 

6. 철자 오류로 인한 에러 주의

  • 예: name이라는 변수를 선언하고, 나중에 nama로 잘못 입력하면 에러 발생

  • 이 경우, NameError가 발생하며 "해당 이름이 정의되지 않았다"는 메시지가 출력된다.

  • 파이썬은 맞춤법 검사기를 제공하지 않는다. 일치하는 변수 이름을 정확히 써야 한다.

 

7. 변수 이름의 일관성

  • 변수 이름을 정할 때 가장 중요한 점은 **일관성(consistency)**이다.

  • 예: nama로 변수를 선언했다면, 그 이후에도 계속 nama로 사용해야 함

  • 오탈자나 철자 오류가 있을 경우 오류가 발생함

 

 

 

 

 

5.파이썬 기초 프로젝트 정리: 밴드 이름 생성기

 

프로젝트 설명

  • 사용자에게 자란 도시 이름과 반려동물의 이름을 입력받아, 이를 조합해 밴드 이름을 생성합니다.

  • 입력 받을 때 커서가 다음 줄에 나타나도록 \n을 활용합니다.

  • 문자열 연결(String Concatenation), 변수 사용, 입력 받기 등 오늘 배운 내용을 종합적으로 활용합니다.

구현 단계

  1. 프로그램 인사말 출력

    print("Welcome to the Band Name Generator.")
    
  2. 도시 이름 입력받기

    city = input("Which city did you grow up in?\n")
    
  3. 반려동물 이름 입력받기

    pet = input("What is the name of a pet?\n")
    
  4. 밴드 이름 생성 및 출력

    print("Your band name could be " + city + " " + pet)
    

 

중요 포인트 요약

  • input() 함수로 사용자로부터 입력을 받는다.

  • 입력받은 값을 변수에 저장해서 나중에 사용할 수 있도록 한다.

  • 문자열을 이어붙일 때는 + 연산자를 활용한다.

  • 입력 프롬프트 후 커서를 다음 줄로 옮기기 위해 \n을 사용한다.

 

 

 

 

 

about author

PHRASE

Level 60  라이트

지금의 의사는 오직 사람의 병만 다스리고 마음은 고칠 줄 모르니 이는 근본을 버리고 말단만 쫓는 격이며, 그 근원은 캐지 않고 말류만 손질하는 것이다. -동의보감

댓글 ( 0)

댓글 남기기

작성