주말이니 조금 여유롭게 파이썬을 공부할 계획이다.
우선 복습을 하고 4,5주차 강의를 들을 수 있으면 들어보려 한다.
우선 오늘 TIL에서는 1~3주차 강의를 정리할 것이다.
Python의 기본은 출력문이다.
print()
괄호 안에 값을 출력한다.
여러 값을 출력할 때 쉼표(,)로 구분한다.
num_records = 1000
print('총',num_records,'명의 레코드가 분석되었습니다.')
# 총 1000 명의 레코드가 분석되었습니다.
변수 선언을 할 때 변수명을 지정하고 할당 연산자(=)를 사용해 값을 할당한다.
x=10
print(x)
# 10
y='apple'
print(y)
# apple
print(x*2)
# 20
변수는 다양한 연산에 활용할 수 있다.
변수의 자료형으로는 정수, 실수, 문자열, 리스트, 튜플, 딕셔너리 등이 있다.
Sequence type 자료형을 자주 사용하니 기억해두자.
List, Tuple, Strings가 있다.
type() 함수로 자료형을 확인할 수 있다.
print(type(x))
# <class 'int'>
print(type(y))
# <class 'str'>
작은 따옴표나 큰 따옴표로 감싸서 선언해야 한다.
name = 'JS Oh'
greeting = 'Hello'
문자열 변수끼리 연결하면 새로운 문자열을 만들 수 있다.
full_greeting = greeting + 'My name is' + name
print(full_greeting)
# Hello My name is JS OH
문자열과 함께 메서드를 활용할 수 있다.
sentence = 'python programming is fun'
print(sentence.upper())
# PYTHON PROGRAMMING IS FUN
정수(int)나 실수(float) 형태의 숫자열은 그냥 할당하면 된다.
num1 = 10
num2 = 3.14
print(type(num1))
print(type(num2))
# <class 'int'>
# <class 'float'>
연산도 다양하게 할 수 있다.
sum_result = num1 + num2
diff_result = num1 - num2
product_result = num1 * num2
division_result = num1 / num2
integer_division_result = num1 // num2
remainder_result = num1 % num2
print('합 : ',sum_result) # 합 : 13.14
print('차 : ',diff_result) # 차 : 6.8599999999
print('곱 : ',product_result) # 곱 : 31.40000000002
print('나누기 : ',division_result) # 나누기 : 3.184713375796178
print('정수 나누기 : ',integer_division_result) # 정수 나누기 : 3.0
print('나머지 : ',remainder_result) # 나머지 : 0.57999999999
숫자열에는 다양한 함수와 메서드가 내장되어 있다.
num3 = -7.89
abs_result = abs(num3) # 절댓값 계산
round_result = round(num3) # 반올림 계산
print('절댓값:',abs_result)
print('반올림:',round_result)
# 절댓값: 7.89
# 반올림: -8
Boolean 자료형은 주어진 조건이 참(True) 또는 거짓(False)을 나타내는 데 사용된다.
x = 10
y = 5
greater_than = x > y
print(greater_than)
# True
Not a Number는 데이터에서 결측치를 나타내는 값이다.
NaN은 정의할 수 없는 수치값이다.
예로는 0으로 나누는 연산이나 유효하지 않은 수학적 연산 결과를 나타낼 때 사용된다.
데이터프레임과 같은 데이터 구조에서 결측치를 표현할 때 NaN이 사용된다.
MySQL과 같은 NULL을 여기서는 None로 표현한다.
값에 NaN값을 넣고 싶으면 None을 사용하면 된다.
input()
사용자의 키보드로 입력을 받는 함수다.

num1 = 15
num2 = 27
print(num1+num2)
# 42

x = "Python은 데이터 분석과 인공지능 분야에서 매우 인기 있는 프로그래밍 언어입니다."
print(x)
# Python은 데이터 분석과 인공지능 분야에서 매우 인기 있는 프로그래밍 언어입니다.
이번엔 1주차에 예고했듯이 Sequence Type에 대해 알아봤다.
리스트는 파이썬에서 가장 자주 사용되는 데이터 구조다.
여러 항목들을 담을 수 있는 가변한 시퀀스다.
대괄호 []를 통해서 리스트를 만들 수 있다.
my_list = [1, 2, 3, 4, 5]
print(my_list)
# [1, 2, 3, 4, 5]
리스트에서 특정 위치의 값에 접근하는 방법이다.
numbers = [1, 2, 3, 4, 5]
# 첫 번째 요소에 접근하기
first_number = numbers[0]
# 두 번째 요소에 접근하기
second_number = numbers[1]
# 마지막 요소에 접근하기
last_number = numbers[-1]
# 음수 인덱스를 사용하여 역순으로 요소에 접근하기
second_last_number = numbers[-2]
append() : 항목을 추가
extend() : 다른 리스트의 모든 항목을 추가
insert() : 특정 위치에 항목을 삽입
remove() : 특정 값 삭제
pop() : 특정 위치 값 제거 후 반환
index() : 특정 값의 인덱스를 찾기
count() : 특정 값의 개수를 셈
sort() : 항목들을 정렬
reverse() : 역순으로 정렬
my_list = [1, 2, 3, 4, 5]
my_list.append(6) # 리스트에 새로운 항목 추가
print(my_list) # [1, 2, 3, 4, 5, 6]
my_list.extend([7, 8, 9]) # 다른 리스트의 모든 항목을 추가
print(my_list) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
my_list.insert(2, 10) # 두 번째 위치에 값 삽입
print(my_list) # [1, 2, 10, 3, 4, 5, 6, 7, 8, 9]
my_list.remove(3) # 값 3 삭제
print(my_list) # [1, 2, 10, 4, 5, 6, 7, 8, 9]
popped_value = my_list.pop(5) # 다섯 번째 위치의 값 제거하고 반환
print(popped_value) # 6
print(my_list) # 출력: [1, 2, 10, 4, 5, 7, 8, 9]
print(my_list.index(4)) # 3 (값 4의 인덱스)
print(my_list.count(7)) # 1 (값 7의 개수)
my_list.sort() # 리스트 정렬
print(my_list) # [1, 2, 4, 5, 7, 8, 9, 10]
my_list.reverse() # 리스트 역순으로 뒤집기
print(my_list) # [10, 9, 8, 7, 5, 4, 2, 1]
참고로 리스트의 insert 메서드는 아래와 같은 구문으로 사용 가능
a_list.insert(index, element)index : 요소를 삽입할 위치의 인덱스
element : 삽입할 요소의 값
값은 삭제가 가능하다.
del my_list[0]
print("첫 번째 항목 삭제 후 리스트:", my_list)
my_list.clear()
print("모든 항목 제거 후 리스트:", my_list)
# 첫 번째 항목 삭제 후 리스트: [9, 8, 7, 5, 4, 2, 1]
# 모든 항목 제거 후 리스트: []
값을 변경할 수도 있다.
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry']
my_list[3] = 'dragonfruit'
print(my_list)
# ['apple', 'banana', 'cherry', 'dragonfruit', 'elderberry']
중첩된 리스트에서 인덱싱을 하는 방법은 다음과 같다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list[1][0])
# 4
리스트 고급 사용법에는 슬라이싱과 정렬이 대표적이다.
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 음수 인덱스 사용하기 (뒤에서부터 추출)
print(my_list[-3:]) # [8, 9, 10]
# 간격 설정하기 (특정 간격으로 추출)
print(my_list[1:9:2]) # [2, 4, 6, 8]
# 리스트를 거꾸로 뒤집기
reversed_list = my_list[::-1]
print(reversed_list) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
my_list = [3, 2, 1, 4, 5, 7, 6, 8, 9, 10]
my_list.sort()
print(my_list)
my_list.sort(reverse=False)
print(my_list)
my_list.sort(reverse=True)
print(my_list)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
기본 값은 오름차순이라 생략 가능하다.
2주차의 리스트 고급까지 했는데 조금 오래 걸렸다.
그리고 문득 꼭 모든 것을 정리해야 하나 싶어서 앞으로 내가 몰랐던 내용 위주로 정리하겠다.