본문 바로가기
코딩자료/파이썬기초 Published Date: 2024. 5. 24.

독학 파이썬 정복 4 (기초과정)

by NanDA arhat OpenIPC.kr complies with Core Web Vitals for search engine optimization. This page has completed Core Web Vitals optimization testing
openipc.kr

파이썬의 기본 요소

  • 주석: 코드를 이해하고 유지보수하기 위해 필수적이며, 코드의 목적과 작동 방식을 설명하여 다른 사람들이 이해하기 쉽도록 도와줍니다.
  • 리터럴 상수: 프로그램 내에서 직접 값으로 지정되는 상수로, 한 번 정의되면 변경되지 않습니다.
  • 숫자형: 정수형과 부동 소수점 숫자형이 있으며, 정수형은 소수점이 없는 숫자를, 부동 소수점 숫자형은 소수점이 있는 숫자를 나타냅니다.
  • 문자열: 문자의 나열로 프로그래밍에서 중요한 데이터 형식 중 하나이며, 작은 따옴표(')나 큰 따옴표(")로 감싸진 문자열을 사용하여 생성됩니다.
  • 문자열 포맷팅: 문자열을 생성할 때 다른 정보를 포함하여 생성하는 방법으로, format() 메소드를 사용하여 문자열 내에서 중괄호로 표시된 위치 지정자들을 정의하고 인자들로 치환하여 문자열을 생성합니다.
  • 이스케이프(Escape) 문자: 문자열 내에서 특수 문자를 표현하거나 문자열을 다음 줄로 나누는 데 사용됩니다.

1.주석

주석은 코드를 이해하고 유지보수하는 데 필수적입니다. 코드를 작성할 때, 주석을 사용하여 코드의 목적이나 로직을 설명하고, 다른 사람들이 이해하기 쉽도록 도와야 합니다.


주석을 사용하는 이유는 코드의 목적과 작동 방식을 설명하여 다른 사람들이 쉽게 이해할 수 있도록 합니다. 코드에서 중요한 결정사항이나 세부사항을 설명하여 다른 사람들이 이를 이해하고 이해할 수 있도록 합니다.코드가 특정 문제를 해결하거나 극복하는 방법을 설명하여 코드의 의도를 명확히 합니다.


예시

# 이 프로그램은 "Hello World"를 출력하는 간단한 프로그램입니다.

# 출력을 위한 문자열 변수를 정의합니다.
message = "Hello World"

# 메시지를 화면에 출력합니다.
print(message)


2.리터링 상수

리터럴 상수는 프로그램 내에서 직접 값으로 지정되는 상수를 말합니다. 이들은 한 번 정의되면 변경되지 않으며, 코드에서 사용될 때는 해당 값 그 자체로 쓰이는 것이 특징입니다. 예를 들어, 숫자 5는 정수형 리터럴 상수이며, 1.23은 부동 소수점 리터럴 상수입니다.


또한, 'This is a string'과 "Its a string!"은 각각 문자열 리터럴 상수입니다. 리터럴 상수는 그 자체로 값을 나타내므로 변하지 않습니다. 예를 들어, 숫자 2는 항상 그 자신인 2이며 어떤 다른 의미도 가지지 않습니다. 이러한 특성으로 인해 이들은 상수로 분류되며, 특히 리터럴 상수라고 불립니다.


 예시

integer_constant = 5  # 정수형 리터럴 상수
float_constant = 1.23  # 부동 소수점 리터럴 상수
string_constant1 = 'This is a string'  # 문자열 리터럴 상수
string_constant2 = "It s a string!"  # 또 다른 문자열 리터럴 상수

 

3.숫자형


숫자형 데이터는 정수형(Integer)과 부동 소수점 숫자형(Float) 두 가지 종류가 있습니다. 정수형 숫자는 소수점이 없는 숫자를 말합니다. 예를 들어, 2는 정수형 숫자입니다. 이것은 단순히 2라는 값을 나타냅니다. 부동 소수점 숫자는 소수점이 있는 숫자를 말하며, E 표기법을 사용하여 지수 표현이 가능합니다. 예를 들어, 3.23이나 52.3E-4와 같은 값이 부동 소수점 숫자입니다. 여기서 E 표기법은 뒤의 값이 10의 지수임을 나타냅니다. 즉, 52.3E-4는 52.3 * 10^(-4)와 같은 값을 의미합니다.


 예시

integer_number = 2  # 정수형 숫자
float_number1 = 3.23  # 부동 소수점 숫자
float_number2 = 52.3E-4  # 부동 소수점 숫자 (E 표기법 사용)

4.문자열


문자열은 문자의 나열로, 프로그래밍에서 매우 중요한 데이터 형식 중 하나입니다. 파이썬에서는 따옴표(' 또는 ")로 감싸진 문자열을 사용하여 문자열을 생성합니다. 문자열은 파이썬 프로그램에서 매우 빈번하게 사용되므로, 문자열을 다루는 다양한 기능을 익혀두는 것이 중요합니다. 문자열을 정의할 때는 작은 따옴표(')나 큰 따옴표(")를 사용할 수 있습니다. 이 두 가지 방법은 동일한 결과를 만들어냅니다.


 예시

string1 = 'Hello, World!'  # 작은 따옴표를 사용한 문자열
string2 = "Python Programming"  # 큰 따옴표를 사용한 문자열
string = "Hello, World!"
length = len(string)
print("Length of the string:", length)  # 출력: Length of the string: 13
string1 = "Hello"
string2 = "World"
result = string1 + " " + string2
print(result)  # 출력: Hello World

5. 따옴표 세 개

세 개의 따옴표(""" 또는 ''')로 묶여진 문자열은 여러 줄에 걸친 문자열을 표현하는 데 사용됩니다. 이러한 문자열 안에서는 작은 따옴표든 큰 따옴표든 자유롭게 사용할 수 있습니다.


 예시

string = """
This is a multiline
string that spans
multiple lines.
"""
print(string)

  1. 파이썬에서 문자열은 변경할 수 없는(immutable) 데이터 타입입니다. 한 번 생성된 문자열의 내용은 수정할 수 없습니다. 이것은 초보자들에게는 처음에는 불편할 수 있지만, 사실은 이것이 큰 제약이 아닙니다. 파이썬의 문자열이 변경할 수 없는 특성은 다음과 같은 이유로 오히려 유용합니다.
  • 안전성: 문자열이 변경할 수 없기 때문에 여러 객체가 동시에 문자열을 참조할 때 예기치 않은 결과가 발생하지 않습니다. 즉, 문자열이 다른 곳에서 변경되어도 해당 문자열을 참조하는 다른 객체에는 영향을 미치지 않습니다.
  • 스레드 안전성: 파이썬의 문자열이 변경할 수 없는 특성은 멀티스레딩 환경에서 스레드 간의 안전성을 제공합니다. 한 번 생성된 문자열은 여러 스레드에서 안전하게 공유할 수 있습니다.
  • 캐싱: 변경할 수 없는 문자열은 해싱(hash)이 가능하므로 딕셔너리의 키(key)로 사용될 수 있습니다. 이는 문자열을 빠르게 조회할 때 유용합니다.
  • 불변성의 장점: 문자열이 변경할 수 없는 특성은 함수나 메소드에서 문자열을 조작할 때 불변성을 유지하면서 새로운 문자열을 생성하는 데 도움이 됩니다. 이는 코드의 예측 가능성을 높이고 버그를 줄일 수 있습니다.

6.문자열 포맷팅

문자열을 생성하려고 할 때, 종종 다른 정보들을 포함하여 생성하고 싶을 때가 있습니다. 이것을 문자열 포맷팅이라고 하며, 이를 위해 format() 을 이용합니다. 포맷 메소드를 사용하면 문자열 내에서 중괄호로 표시된 특별한 위치 지정자들을 정의한 후에, 이를 메소드에 전달된 인자들로 치환하는 방식으로 문자열을 생성합니다.



예를 들어, "Hello, my name is {0} and I am {1} years old."와 같은 문자열에서 {0}는 format 메소드에 주어진 첫 번째 인자에, {1}은 두 번째 인자에 대응됩니다. 파이썬에서는 0부터 인덱스를 셉니다. 따라서 첫 번째 인자의 인덱스는 0이고, 두 번째는 1입니다. 또한 문자열 더하기를 사용하여 동일한 결과를 얻을 수도 있지만, 이는 보기에 좀 더 어색하고 실수하기 쉽습니다. 또한 각 변수를 문자열로 변환해주어야 합니다.



그러나 포맷 메소드를 사용하면 자동으로 변환해주며, 문자열 내용을 수정하거나 변수의 위치를 변경하기가 더 쉬워집니다. 이렇듯 포맷 메소드를 사용하면 코드가 보다 간결하고 가독성이 높아지며, 유지보수하기가 더 쉬워집니다. 중괄호 내에 주어진 숫자는 생략할 수 있습니다. format() 메소드는 중괄호 내의 위치 지정자의 숫자를 생략할 경우, 순서대로 인자를 대입합니다.


 예시

# 문자열 포맷팅 예제

# 변수 초기화
name = "John"
age = 30

# format() 메서드를 사용하여 문자열 포맷팅
# 중괄호 {} 안에 변수명을 넣고 format() 메서드에 전달하면 해당 변수 값으로 치환됨
{0}, {1}, {2}, ... 와 같이 숫자를 사용하여 위치 지정자를 정할 때는 
인자가 전달된 순서대로 대응됩니다.
message = "Hello, my name is {0} and I am {1} years old.".format(name, age)
print(message)

# 결과 출력
print(message)
Hello, my name is John and I am 30 years old.


 예시

age = 20
name = 'Swaroop'
print '{} was {} years old when he wrote this book'.format(name, age)
print 'Why is {} playing with that python?'.format(name)

#중괄호 내에서 세부 사항을 지정할 수도 있습니다
print '{0:.3f}'.format(1.0/3)  # 소수점 이하 셋째 자리까지 부동 소숫점 숫자 표기 (0.333)
print '{0:_^11}'.format('hello')  # 밑줄로 11칸을 채우고 가운데 정렬하기 (___hello___)
print '{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python')  # 사용자 지정 키워드를 이용해 (Swaroop wrote A Byte of Python) 표기
0.333

#위 코드의 실행 결과는 다음과 같습니다:
___hello___
Swaroop wrote A Byte of Python
print "a",
print "b",
a b

 

7.이스케이프(Escape) 문자


이스케이프 문자는 문자열 내에서 특수 문자를 표현하거나 문자열을 다음 줄로 나누는 데 사용됩니다. 이를 통해 문자열을 더 유연하게 표현할 수 있습니다.


 예시

# 문자열 정의: 작은 따옴표를 문자열 안에서 사용하려면 백슬래시(\)로 이스케이프하여 표기합니다.
# 예시: 'What\'s your name?'
example1 = 'What\'s your name?'

# 큰 따옴표를 포함한 문자열 정의: 큰 따옴표를 사용하여 문자열을 정의할 수도 있습니다.
# 마찬가지로 큰 따옴표 안에 포함된 큰 따옴표는 이스케이프 문자를 사용하여 표기합니다.
# 예시: "What's your name?"
example2 = "What's your name?"

# 여러 줄 문자열 정의: 여러 줄에 걸친 문자열을 정의할 때는 이스케이프 문자 \n을 사용하여 줄바꿈을 나타냅니다.
# 예시: 'This is the first line\nThis is the second line'
example3 = 'This is the first line\nThis is the second line'

# 탭 문자 정의: 탭 문자는 \t로 표기합니다.
# 예시: 'First\tSecond\tThird'
example4 = 'First\tSecond\tThird'

# 문자열 연결: 문자열을 정의할 때 백슬래시(\)를 사용하여 줄을 이어 나타낼 수 있습니다.
# 예시: "This is the first sentence. \ This is the second sentence."
example5 = "This is the first sentence. \
This is the second sentence."

8.변수


리터럴 상수만 사용하여 프로그램을 작성할 수는 없습니다. 뭔가 정보를 담고, 수정할 수 있는 어떤 공간이 필요할 것입니다. 즉, 변수를 이용하는 것이 좋습니다. 변수는 이름 그대로 변할 수 있는 공간을 말하며, 여기에는 무엇이든 저장할 수 있습니다. 변수들은 단순히 정보를 저장할 때 사용되는 컴퓨터의 기억 장치의 한 부분을 가져다가 적당한 이름을 붙여 사용하는 것입니다. 리터럴 상수와는 달리, 변수들은 프로그램 내에서 여러 방법을 통해 변경되고 사용되기 때문에 한눈에 알아보기 쉬운 이름을 지어 줍시다.


9.식별자

식별자 이름 짓는 규칙을 이해하는 것이 중요합니다. 여기에 몇 가지 팁을 제시해 드리겠습니다:

  • 식별자의 첫 문자는 알파벳 문자 (대문자 또는 소문자)나 밑줄(_)로 시작해야 합니다.
  • 이후에는 알파벳, 숫자, 밑줄을 자유롭게 조합하여 사용할 수 있습니다.
  • 대소문자를 구분하기 때문에 myname과 MyName은 다른 식별자로 처리됩니다.
  • 공백이나 특수문자는 사용할 수 없습니다.
  • 예약어(예: if, while, def 등)는 식별자로 사용할 수 없습니다.
  •  

10.자료형

자료형은 변수가 담을 수 있는 값의 종류를 나타냅니다. 파이썬에서는 여러 가지 자료형이 있습니다. 그 중 가장 기본적인 자료형은 다음과 같습니다:

  • 숫자형: 정수(int), 부동 소수점 숫자(float) 등이 있습니다.
  • 문자열: 문자의 나열을 의미합니다.
  • 리스트(list): 여러 요소를 담을 수 있는 순서가 있는 자료형입니다.
  • 튜플(tuple): 리스트와 유사하지만 변경이 불가능한 자료형입니다.
  • 딕셔너리(dictionary): 키-값 쌍을 저장하는 자료형입니다.
  • 집합(set): 중복을 허용하지 않고 순서가 없는 자료형입니다.
  • 불린(boolean): True 또는 False 값을 갖는 자료형입니다.

11.객체

파이썬은 객체 지향 프로그래밍 언어이며, 모든 것을 객체로 취급합니다. 객체는 데이터와 해당 데이터를 처리하는 메서드를 함께 묶은 것입니다. 따라서 파이썬에서는 숫자, 문자, 함수 등 모든 것이 객체로 간주됩니다. 객체 지향 프로그래밍은 코드를 객체 단위로 구조화하여 유지보수성을 높이고 코드 재사용성을 높이는 데 도움이 됩니다.