파이썬 기본 문법 및 구조

Page content

아래 내용은 파이썬의 기본문법 및 구조를 간단 요약한 내용입니다.
여러 언어를 접하면서 헤깔릴때가 있어서 기록해 둔 내용입니다.
 

들여쓰기

파이썬은 코드 블록을 정의하기 위해 들여쓰기를 사용합니다.
이는 코드를 매우 읽기 쉽게 만들지만, 일관된 간격을 유지해야 한다는 의미이기도 합니다.
일반적으로 각 들여쓰기 레벨에 4개의 공백을 사용합니다.

def function():
    # 코드 블록
    if condition:
        # 하위 블록
    # 메인 블록으로 돌아감

 

변수와 데이터 타입

파이썬은 동적 타이핑을 지원하므로 변수를 사용하기 전에 선언하거나 타입을 지정할 필요가 없습니다.

x = 10         # 정수
y = "Hello"    # 문자열
z = 3.14       # 부동소수점

 

함수

def 키워드로 정의되며, 들여쓰기를 사용하여 범위를 정의합니다.

def my_function(param1, param2):
    return param1 + param2

 

클래스와 객체

파이썬은 객체 지향 언어입니다.
class 키워드로 클래스를 정의하고, 그 안의 메소드는 항상 첫 번째 파라미터로 self를 가져야 합니다.

class MyClass:
    def __init__(self, attribute):
        self.attribute = attribute
    
    def my_method(self):
        return self.attribute

 

모듈과 임포트

파이썬 코드는 모듈과 패키지로 구성됩니다.
다른 모듈에서 정의된 함수, 클래스 또는 변수에 접근하기 위해 import를 사용합니다.

import math
print(math.sqrt(16))

 

배열(리스트)

Python에서는 배열 대신에 일반적으로 ‘리스트’를 사용합니다.
리스트는 여러 값을 순서대로 저장하는 데이터 구조로, 배열과 유사한 기능을 제공합니다.
다양한 데이터 타입을 동시에 저장할 수 있으며, 동적으로 크기가 조절됩니다.

# 리스트 생성
my_list = [1, 2, 3, 4, 5]

# 리스트에 새로운 요소 추가
my_list.append(6)

# 특정 인덱스에 요소 삽입
my_list.insert(1, 'a')

# 리스트의 요소 접근
print(my_list[0]) # 첫 번째 요소 출력
print(my_list[-1]) # 마지막 요소 출력

# 리스트의 요소 제거
my_list.remove('a') # 값 'a'를 찾아서 제거
del my_list[0] # 첫 번째 요소 제거

# 리스트의 크기
print(len(my_list))

# 리스트 슬라이싱
print(my_list[1:3]) # 두 번째 요소부터 세 번째 요소까지 추출

# 리스트 컴프리헨션을 사용하여 리스트 생성
squared_list = [x**2 for x in range(10)] # 0부터 9까지의 수를 제곱하여 새 리스트 생성

 

예제로 보낸 파이썬의 구조

정리를 하면, python의 구조는 아래와 같습니다.

# 강력한 자료형을 지원하는 코드
a = 123  # 정수
b = 1.23  # 실수
c = "Hello, Python!"  # 문자열
d = [1, 2, 3]  # 리스트
e = {"a": 1, "b": 2}  # 딕셔너리
f = (1, 2, 3)  # 튜플


# 간결한 문법을 사용하는 코드
def add(a, b):
    return a + b

print(add(1, 2))  # 3


# 동적 타이핑을 사용하는 코드
x = 123
x = "Hello, Python!"


# 객체 지향 프로그래밍을 사용하는 코드
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print("안녕하세요, 저는 {}입니다.".format(self.name))

person = Person("홍길동", 30)
person.say_hello()  # 안녕하세요, 저는 홍길동입니다.


# 함수형 프로그래밍을 사용하는 코드
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 120