TIL/Python

python 기초 문법

hyo-min 2024. 2. 19. 20:15

1. tuple

 

변경할 수 없는 list라고 보면 됨. tuple은 ( ) 로 되어있다.

tuple은 list와 유사하지만 변경이 불가능하므로 데이터가 변경되지 않아야 하거나, 변경되지 않을 것이라고 확신할 때만 사용한다.

# 튜플의 기본형
tuple = (1, 2, 3, 'apple', 'banana', 'cherry')

 

 

 

 

2. f-string

 

formatted-string 문자열 앞에 'f'를 붙여서 사용하며, { } 안에 변수나 표현식을 넣어 해당 값을 문자열에 삽입한다.

# f-string 예시
name = "Hyo-Min"
age = 28
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)

 

결과

My name is hyo-Min and I am 28 years old.

 

 

 

 

3. 예외 처리

 

파이썬은 오류가 발생하면 오류 메세지와 함께 프로그램을 종료하는데 이러한 상황을 방지하기 위해 예외 처리 기능을 사용한다.

예외 처리를 사용하면 오류가 발생해도 해당 오류는 예외 처리하고 프로그램을 계속 진행한다.

 

예외 처리는 'try' 와 'except' 키워드를 사용한다.

 

# 예외 처리 예제
try: # try 구문 안에서 에러가 발생할 경우 except로 넘어감
    number = int(input("정수를 입력하세요: "))
    print("입력한 정수:", number)
except ValueError: # 에러가 발생했을 때 처리
    print("올바른 정수를 입력하세요.")

 

정수가 아닌 값을 입력할 경우 'ValueError' 에 예외가 발생하고 "올바른 정수를 입력하세요."라는 메세지가 출력된다.

 

 

 

4. 파일 불러오기

 

from 파일명 import *

 

modul.py라는 파일이 있다고 할 때, 해당 파일 안에 있는 함수를 가져와 쓸 수 있음.

# module.py

def func1():
    print("함수 1 실행")

def func2():
    print("함수 2 실행")

variable1 = 123
variable2 = "hello"

 

#module.py 파일의 함수 불러오기
from module import *

func1()  # 출력: 함수 1 실행
func2()  # 출력: 함수 2 실행
print(variable1)  # 출력: 123
print(variable2)  # 출력: hello

 

import *은 모든 함수를 불러오는 것이고

from module import func(1) 과 같이 원하는 함수만 불러 올 수도 있고,

'import' 문을 사용하여 필요한 것들만 가져올수도 있다. (이름 충돌 방지와 가독성 문제로 이 방법이 더 권장됨)

import module

module.func1()
module.func2()

 

 

 

5. if문, for문 한줄로 쓰기 (당장 쓰진 않더라도 코드를 읽기 위해 알아만 두자!)

#if문 한방에 쓰기
num = 3

result = "짝수" if num%2 == 0 else "홀수"

print(f"{num}은 {result}입니다.")
#for문 한방에 쓰기
a_list  = [1, 3, 2, 5, 1, 2]

b_list = [a*2 for a in a_list]

print(b_list)

 

 

 

 

 

6. class

클래스는 데이터와 기능(메서드)을 함께 묶어서 관리할 수 있는 사용자 정의 데이터 형식

instance(객체)를 만들어내기 위한 '틀'이다. '객체지향 프로그래밍'의 핵심이기도 하다.

 

동일한 instance를 계속 만들어내기 위한 형태이며 만들어진 객체는 모두 고유한 성격을 지닌다!

객체별로 갖는 기능도 모두 동일하다.

class Monster():
    hp = 100
    alive = True

    def damage(self, attack):
        self.hp = self.hp - attack
        if self.hp < 0:
            self.alive = False

    def status_check(self):
        if self.alive:
            print('살아있다')
        else:
            print('죽었다')

m = Monster()
m.damage(120)

m2 = Monster()
m2.damage(90)

m.status_check()
m2.status_check()

 

'Monster' 클래스로 m, m1, m2 라는 객체를 만들어내는 예시이다.

 

 

 

#지금은 이런게 있구나~ 알아만 두고 나중에 다시 공부하자

map, filter, lamda식, 함수의 매개변수