TIL

내일배움캠프 2주차 WIL - Python 연산자와 자료형

수현조 2024. 12. 13. 21:09

Python 연산자 정리

1. 산술 연산자 (Arithmetic Operators)

  • 숫자 계산에 사용되는 연산자
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지
//
** 거듭제곱

 

  • 예시
    print(5 + 3)   # 8
    print(10 % 3)  # 1
    print(2 ** 3)  # 8
    

2. 비교 연산자 (Comparison Operators)

  • 두 값을 비교하여 True 또는 False 반환:
== 값이 같다
> 크다
< 작다
>= 크거나 같다
<= 작거나 같다
!= 같지 않다

 

  • 예시:
    print(5 > 3)   # True
    print(5 != 5)  # False
    

3. 논리 연산자 (Logical Operators)

논리값을 조합:

  • and : 두 조건이 모두 참일 때 참.
  • or : 둘 중 하나만 참이어도 참.
  • not : 논리값을 반전.

예시:

print(True and False)  # False
print(True or False)   # True
print(not True)        # False

4. 아이덴티티 연산자 (Identity Operators)

객체가 동일한 메모리 위치를 가리키는지 확인:

  • is : 동일 객체인지 확인.
  • is not : 동일하지 않은 객체인지 확인.

예시:

a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b)   # True
print(a is c)   # False

5. 할당 연산자 (Assignment Operators)

변수에 값을 할당하거나 값을 수정:

  • = : 할당
  • +=, -=, *=, /=, **= : 복합 할당

예시:

a = 5
a += 2  # a = a + 2
print(a)  # 7

6. 비트 연산자 (Bitwise Operators)

정수의 비트값을 연산:

& AND (둘 다 1일 때 1)
|  OR (둘 중 하나라도 1이면 1)
^ XOR (둘이 다를 때 1)
~ NOT (비트 반전)
>> 오른쪽 쉬프트
<< 왼쪽 쉬프트

예시

a = 5  # 0101
b = 3  # 0011
print(a & b)  # 0001 -> 1
print(a | b)  # 0111 -> 7
print(a ^ b)  # 0110 -> 6
print(a >> 1) # 0010 -> 2
print(a << 2) # 10100 -> 20

Python 자료형 정리

1. 리스트 (List)

  • 순서가 있는 변경 가능한 자료형.
  • 다양한 데이터 타입 저장 가능.
  • 예시:
    mylist = [1, "AI9기", 3.14]
    mylist.append(4)
    print(mylist)  # [1, "AI9기", 3.14, 4]
    

2. 튜플 (Tuple)

  • 순서가 있지만 변경할 수 없는 자료형.
  • 참조 속도가 빠르고 해시 가능.
  • 예시:
    mytuple = (1, "AI9기", 3.14)
    print(mytuple[1])  # "AI9기"
    

3. 딕셔너리 (Dictionary)

  • 키-값 쌍으로 이루어진 자료형.
  • Python 3.7부터 순서 보장.
  • 예시:
    mydict = {"이름": "민준", "나이": 20}
    print(mydict["이름"])  # "민준"
    

4. 세트 (Set)

  • 중복되지 않고 순서가 없는 자료형.
  • 예시:
    myset = {1, 2, 2, 3}
    print(myset)  # {1, 2, 3}
    

 

머신러닝 (Machine Learning) 

 

타이타닉 생존자 예측하기 

  • 작업 내용
      - 데이터 분석 및 전처리 (결측치 처리, 데이터 스케일링)
      - Logistic Regression을 사용한 생존 여부 예측 모델 학습
      - K-Fold Cross Validation을 통한 모델 평가
  •  성과
      - 모델 정확도: 78.3%
      - 데이터 분리와 전처리의 중요성을 학습
  • 사용 기술
      - Python (Pandas, Scikit-learn)
  • 다음 목표
      - keggle의 당뇨병, 집 가격 등의 새로운 데이터 이용해서 다른 모델 학습 및 성능 비교해보기

 

이번 주는 참 길었따
진짜 힘들었다
머신러닝 겨우 찍먹 해본 것 같은 한 주였다.
머리가 아프다

어제는 놀려고 젭에 남아있었는데
다들 공부하고 나만 떠드는 거였다
그래서 잠이 안와서 나도 공부하고 문제 풀었다.

힘들다. 그래서 사실 오늘 한시간 지각했고

하루종일 졸려 죽는 줄 알았고

술먹고싶다