내일배움캠프 TIL(221121): 파이썬 기본 문법 배우기

Jiumn·2022년 11월 21일
0
post-thumbnail

오늘 한 일

지옥의 첫 미니 프로젝트가 끝나고 드디어 공부하는 주가 돌아왔다. 다음 프로젝트에서 성장한 모습을 보이기 위해 농떙이 안 부리고 열심히 공부해야지! (늘 시작은 이렇게 창대하게...)

이번 주에는 파이썬, 자바스크립트, 자료구조와 알고리즘 강의가 열렸다. 당장 수요일부터 튜터님의 자료구조와 알고리즘 강의가 있다. 스파르타에서 제공해주는 파이썬 강의가 너무 얕게 알려주는 것 같아서 유데미에서 새로운 강의를 결제했다. (강의 콜렉터)

오늘 배운 것

undefined와 null의 차이 (JavaScript)

  • undefined은 변수를 선언하고 값을 할당하지 않은 상태, null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체)이다. 즉, undefined는 자료형이 없는 상태이다.
    따라서 typeof를 통해 자료형을 확인해보면 null은 object로, undefined는 undefined가 출력되는 것을 확인할 수 있다.

파이썬 문법 정리

파이썬 문법 기초

sentence.upper() # 대문자로 바꾸기
sentence.lower() #소문자로 바꾸기
txt.replace('특정 문자', '바꿀 문자') # 특정 문자를 다른 문자로 바꾸기
f[4:15] # 인덱스 4부터 15 전까지 슬라이싱 (문자열 자르기)
f[:15] # 처음부터 인덱스 15 전까지
f[4:] # 인덱스 4부터 끝까지
a_list.append(99) # 리스트 맨 뒤에 값 추가

# 리스트 정렬하기
a = [1, 4, 3]
a.sort() # 오름차순으로 정렬
a.sort(reverse=True) # 내림차순으로 정렬하기

# 요소가 리스트 안에 있는지 알아보기
a = [2, 1, 4, "2", 6]
print(1 in a) # True
print("1" in a) # False
print(0 not in a) # True
# 반복문
fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍3시','참외','오렌지']

for 단수 in 복수(리스트 명)
	if 조건문 (비교 연산자 이용)

# 앞에 5개만 출력하고 싶다면
for i, fruit in enumerate(fruits):
	print(i,fruit)
	if i == 4:
		break
  • 파이썬은 Boolean 형을 소문자로 쓰면 자료형으로 인식하지 않고 변수명이라 생각해 에러 발생 (true (x) True (o))
  • 문자열과 정수를 더하면 에러 발생
  • 딕셔너리 요소에는 순서가 없음 → 인덱싱 사용 불가

파이썬 문법 심화

  • 튜플(tuple): 값을 변경할 수 없는 리스트 ([]가 아닌 () 이용)
a = (1,2,3)
a_dict = [('bob','24'),('john','29'),('smith','30')]
  • 집합: 중복 제거에 사용 가능
a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
print(a & b) # 교집합
print(a | b) # 합집합
print(a - b) # 차집합
  • f-string: 문자열 내에 바로 값을 삽입할 수 있게 해주는 포맷
    (자바스크립트 템플릿 리터럴이랑 비슷하게 생겼는데 따옴표 바깥 맨 앞에 f를 붙여야 함.)
people = [
  {'name': 'bob', 'age': 20},
  {'name': 'carry', 'age': 38},
  {'name': 'john', 'age': 7},
  {'name': 'smith', 'age': 17},
  {'name': 'ben', 'age': 27},
  {'name': 'bobby', 'age': 57},
  {'name': 'red', 'age': 32},
  {'name': 'queen', 'age': 25}
]

print(name+'는 '+score+'점 입니다')

# f-string을 사용하면
print(f'{name}{score}점입니다') 
  • map: 리스트의 요소를 지정된 함수로 처리해주는 함수
    (자바스크립트 map 메서드랑 비슷한 듯. 아래 나오는 filter도...)
def check_adult(person):
	if person['age'] > 20:
		return '성인'
	else:
		return '청소년'
        
result = map(check_adult, people) # map(함수, 반복가능한 객체)
print(list(result))
# ['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
  • filter - 리스트의 모든 원소 중 특별한 것만 뽑기 (True인 것만 뽑음)
result = filter(lambda x: x['age'] > 20, people)
# lambda 매개변수 : 표현식

print(list(result))
# [{'name': 'carry', 'age': 38}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25}]
  • lambda 함수: 익명함수. lambda 매개변수 : 표현식과 같은 형태로 나타낸다.
  • 클래스 문법: 자바스크립트 클래스 문법과 유사하다. 객체를 반복 생성할 수 있는 틀을 만드는 것이고, 클래스로 만들어진 객체는 인스턴스라고 불린다.
class Python(): # 클래스 명은 대문자로 시작해야 함

To-do list

  • 스파르타 자바스크립트 강의 듣기
  • 유데미 파이썬 강의 초급 파트 끝내기
profile
Back-End Wep Developer. 꾸준함이 능력이다. Node.js, React.js를 주로 다룹니다.

0개의 댓글