IT/Python

Python 파이썬 기본 문법

Uncle D. 2023. 6. 18. 22:30
반응형

파이썬은 다재다능하고 사용자 친화적인 프로그래밍 언어입니다. 개인 및 교육 목적이라면 특별한 라이선스 없이 시작할 수 있다는 점과 다양한 주제에서 파이썬을 활용한 프로그램이나 스크립트 사용을 통해 최근 몇 년 동안 가장 인기가 있는 프로그래밍 언어라고 생각됩니다. 또한 많은 개발자의 참여와 라이브러리를 통해 확장성 또한 무궁무진하다고 할 수 있습니다.

 

Python Basic Rules

여기에서는 파이썬의 기초를 이루는 기본 원리, 문법을 소개하겠습니다.

 

초보 개발자부터 경험 많은 개발자까지 파이썬 프로그래밍을 시작하시는 분이라면 당연히 기본 규칙부터 이해하는 것이 중요합니다. 대부분의 툴이나 Python 관련 IDE 에서는 이러한 기본 문법들을 오류로 표시해주길 때문에 이해하시면 사용하시는 데 문제가 없을 것입니다.  

1. Syntax and Indentation

파이썬에서 코드 블럭과 구문(예. if-else statement, function 등) 에 대한 정의를 구별하기 위해 중괄호가 아닌 들여쓰기(Indentation) 를 사용합니다. 이러한 문법적인 특성은 중괄호를 사용하지 않게 되고 코드 가독성을 향상시켜 주게 됩니다. 결국 가독성 향상은 코드에 대한 유지 보수 가능하고 조직화된 프로그래밍의 모습으로 발전될 것입니다.
 
Indentation 이 잘못된다면, 코드 실행도 문제가 될 수 있으니 작성된 구문과 코드간에 Level 이 맞는지 확인을 하면서 작성하셔야 합니다.

# Example of Python indentation

def greet(name):
    if len(name) > 0:
        print("Hello, " + name + "!")
    else:
        print("Hello, stranger!")

# Main code block
user_input = input("Enter your name: ")
greet(user_input)

def 키워드는 함수 정의를 선언하고, 함수명(greet)과 괄호 안에 동봉된 파라미터(name)를 정의합니다.
함수 정의 후 들여쓰기(Indentation)된 블록은 함수의 구현부를 나타내는데, 이 코드에서는 name 의 길이를 확인하는 if 문이 있고, if 문 아래 들여쓰기된 블록에는 조건이 참인 경우 실행할 코드가 포함되어 있습니다. 
else 들여쓰기 블록에는 조건이 거짓인 경우 실행할 코드가 포함되어 있습니다.
 
함수 정의 밖에는 주 코드 블록이 있는데, 이 블록은 입력() 함수를 사용하여 사용자에게 입력을 받아 그런 다음 함수를 호출하게 됩니다.
 

2. Variables and Data Types

파이썬에서는 데이터 값을 저장하기 위해 변수를 사용합니다.
파이썬은 동적으로 맵핑되는데, 특징은 변수의 Data Type 이 실행시에 자동으로 결정된다는 점입니다. 이것은 Data Type 을 명시적으로 선언할 필요가 없다는 것을 의미하기도 합니다.
파이썬은 integers, floats, strings, booleans, lists, tuples, dictionaries 등 다양한 데이터 유형을 지원합니다.
 

Integer(int)

: 분수 성분 없이 정수(Integer)를 표현하기 위한 데이터 형식

x = 5
y = -10
z = 0

print(x)
print(type(x))


Float

: 소수점 단위를 표현하는 숫자(실수) 표현하기 위한 데이터 형식

※ Floating 라는 의미는 컴퓨터에서 소수점을 처리할 때 사용하는 부동 소수점(Floating Point) 방식을 의미합니다. 

pi = 3.14159
temperature = -12.5

print(pi)
print(type(pi))


String(str)

: 단일 따옴표('') 또는 이중 따옴표('')로 동봉된 문자의 시퀀스를 나타내는 데 사용된다.

name = 'Alice'
greeting = "Hello, World!"

print(name)
print(type(name))


Boolean(bool)

논리 연산 및 조건에 사용되는 참 또는 거짓 중 하나를 나타낸다.

is_raining = True
is_sunny = False

print(is_raining)
print(type(is_raining))

 

List

: 대괄호([])로 동봉된 항목의 가변 순서 집합입니다. 항목은 데이터 유형이 다를 수 있으며 수정할 수 있습니다.

fruits = ['apple', 'banana', 'orange']
numbers = [1, 2, 3, 4, 5]

print(fruits)
print(type(fruits))


Tuple

: 목록과 비슷하지만 생성 후 수정 불가 한 특징이 있으며, 괄호 안(())을 동봉한다.

point = (2, 3)
colors = ('red', 'green', 'blue')

print(point)
print(type(point))
print(type(colors))

실행 결과는 다음과 같습니다.

(2, 3)
<class 'tuple'>
<class 'tuple'>


Dictionary

: 동봉된 키-값 쌍의 순서 없는 모음 ({}). 키는 고유하며 값에 액세스하는 데 사용됩니다.

person = {
    'name': 'Alice',
    'age': 25,
    'city': 'New York'
}

if __name__ == '__main__':
    print(person)
    print(type(person))

실행 결과는 다음과 같습니다.

{'name': 'Alice', 'age': 25, 'city': 'New York'}
<class 'dict'>


적절한 데이터 유형을 사용하여 작업을 수행하고 로직을 적용하며 정보를 효율적으로 저장할 수 있습니다. 파이썬은 int(), float(), str() 등의 타입 변환 함수를 이용하여 데이터 타입 간 변환도 가능하게 한다.
데이터의 특성에 따라 올바른 데이터 유형을 선택하는 것은 효율적이고 효과적인 코드를 작성하는 데 필수적입니다.

3. Function

파이썬에서는 재사용 가능한 코드 블록을 캡슐화하는 기능을 정의할 수 있습니다. 기능을 사용하면 프로그램을 더 작고 모듈화된 단위로 분해하여 코드를 더 정리, 가독성 및 유지보수할 수 있습니다.
 

def greet(name):
    """
    A function that greets a person by name.
    """
    print("Hello, " + name + "!")

# Calling the function
greet("Alice")
greet("Bob")

이 예제에서는 def 키워드를 사용하여 greet 라는 함수를 다시 정의하였습니다. 함수 이름 뒤에 괄호가 붙는데, 필요한 경우 파라미터(입력)를 포함할 수 있는데, name 이라는 단일 파라미터를 입력으로 정의하였습니다.
함수 정의는 함수의 몸체인 콜론(:)과 들여쓰기된 코드 블록을 추가합니다.
함수를 호출(실행)하려면 단순히 함수 이름 뒤에 괄호를 써서 필요한 인수(값)가 있으면 전달하는 형식으로 이 코드에서는 greet 함수를 두 번 부르는데, 매번 다른 이름을 전달합니다.

코드를 실행하는 출력은 다음과 같습니다.

Hello, Alice!
Hello, Bob!

 

4. Control Flow

Control Flow 는 특정 조건에 따라 문장이 실행되는 순서를 결정할 수 있게 합니다. 파이썬은 반복문과 같은 다양한 제어 흐름 구조를 제공한다.


if statement

if 문을 사용하면 코드 블록을 조건부로 실행할 수 있습니다. 조건을 평가하고 조건이 참이면 들여쓰기된 코드 블록을 실행합니다. 선택적으로, 추가 조건에 대한 elif ("else if"의 줄임말) 및 기타 절을 포함할 수 있습니다.
 

age = 20

if age < 18:
    print("You are a minor.")
elif age >= 18 and age < 65:
    print("You are an adult.")
else:
    print("You are a senior citizen.")

 

for loop

for 루프는 시퀀스(리스트, 문자열 또는 범위와 같은) 또는 임의의 반복 가능한 객체를 반복하는 데 사용된다. 시퀀스의 각 항목에 대해 일련의 작업을 반복적으로 수행할 수 있습니다.

fruits = ['apple', 'banana', 'cherry']

for fruit in fruits:
    print(fruit)

 

while loop

while 루프는 특정 조건이 참인 한 코드 블록을 반복적으로 실행한다. 조건이 거짓으로 평가될 때까지 루프는 계속됩니다.

count = 0

while count < 5:
    print("Count:", count)
    count += 1

 

Break and continue statements

중단 문을 사용하면 루프를 조기에 종료하여 실행을 중지할 수 있습니다. 계속 문은 현재 반복에서 나머지 코드를 건너뛰고 루프의 다음 반복으로 이동하는 데 사용됩니다.

numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number == 3:
        break  # Exit the loop when number is 3
    if number == 2:
        continue  # Skip the remaining code for number 2 and move to the next iteration
    print(number)

 

Try-except blocks

예외 처리에는 예외 블록이 사용됩니다.
try 구문에서 코드가 실행하는 동안 오류나 예외상황이 발생하면, except 구문으로 이동됩니다.
이 상황이 발생하게 되면 처리하고 싶은 코드를 넣어 예외상황에 대해 처리할 수 있습니다.

try:
    result = 10 / 0
    print("Result:", result)
except ZeroDivisionError:
    print("Error: Division by zero")

 


읽어주셔서 감사합니다.

반응형