Just Do IT!

스파르타코딩클럽 내일배움캠프 7일차 본문

스파르타코딩클럽 내일배움캠프/TIL

스파르타코딩클럽 내일배움캠프 7일차

MOON달 2022. 11. 8. 20:55
728x90
진짜 새로운 팀 시작

어제까지 익숙했던 팀원들을 뒤로하고 새로운 조가 다시 편성되었다.

3조였는데, 오늘부터 기초 프로젝트가 끝나기 전까지는 2조가 되었다.

익숙한 팀원들이 전부 흩어져서 아쉽게 되었지만, 새로 만난 팀원들도 좋은 분들인 듯 하다.

물론 서로 tmi만 주고받고 어색하게 인사만 하고 각자 공부를 시작했지만, 시간이 좀 지나면 더 친해지겠지.

 

오늘은 어제 봤던 자바스크립트 강의 정리본을 훑어보고 파이썬 기초를 시작했다.

어제처럼 강의를 전부 완강할까 고민했지만 기초를 천천히 다지고 가는게 맞다는 생각이 들어서 그렇게 하지 않았다.

기초까지만 보고 내일부터 심화 과정을 보고 내일 정리를 해야겠다.

대신에, 지난 사전캠프 조원분에게 추천받은 유튜브 강의를 보았다.

 

 

 

 

파이썬 기초 문법
변수 선언과 자료형
  • 변수 선언 : 변수이름 = 값
  • 자료형 : 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것
    • 숫자형
      • 사칙연산 가능
      • 변수에 저장된 값에 연산을 한 후 다시 그 값을 같은 변수에 저장 가능
    • Bool
      • 참/거짓을 나타내는 자료형
      • 비교연산자의 결과로 나타내기 위해 사용
      • 논리 연산자 사용 가능
      a = 4 > 2  # true
      not a  # False
      
      a and b  # AND 연산자
      a or b  # OR 연산자
문자열 다루기
  • 문자열 : 데이터로 사용할 수 있는 ‘글’
    • 따옴표로 감싸야 한다 (감싸지 않으면 변수 이름을 뜻함)
  • 문자열 연산
    • 더하기 : 두 문자열을 이어붙인 문자열을 반환
    • 문자열과 정수를 더하면 Error
    • 문자열의 길이: len() 함수 사용
    • 다양한 기능
      • upper() : 대문자로
      • lower() : 소문자로
      • split() : 문자열 나누기
  • 인덱싱과 슬라이싱
    • 문자열은 ‘문자들의 모임’이기 때문에 인덱스를 넣어 한글자씩 부를 수 있다.
    • 슬라이싱 : 문자열의 일부를 잘라내는 것
    • split(’문자열’) 을 활용해서 특정 문자열로 자를 수 있다
f="abcdefghijklmnopqrstuvwxyz"

f[0]  # a
f[4:15]  #efghijklmno (f[4] ~ f[15])
f[8:]  # f[8]부터 끝까지
f[:7]  # f[7]까지
f[:]  # 처음부터 끝까지

my_email = 'test@gmail.com'

result = my_email.split('@')  # @기준으로 문자열 나누기
result[0]  # test
result[1]  #gamil.com

 

리스트와 딕셔너리
  • 리스트
    • 순서가 있는 다른 자료형들의 모임
    • len() 함수를 사용해 길이를 잴 수 있다
    • 순서가 있기 때문에 문자열처럼 인덱싱과 슬라이싱 사용 가능
    • 중첩 가능
    • 다양한 기능
      • 덧붙이기 : append()
      • 정렬하기 : sort()
      • 요소가 리스트 안에 있는지 살펴보기
      a = [1, 2, 3, 4, 5]
      a.append(6)  # 6 추가
      
      b = [5,  1, 4]
      b.sort()  # [1, 4, 5] 로 정렬
      
      c = [2, 1, 4, "2", 6]
      print(1 in c)  # True
      print(7 in c)   # False
      print(a not in c)  # True
  • 딕셔너리
    • 키(key)와 밸류(value)의 쌍으로 이루어진 자료의 모임
    • 순서가 없기 때문에 인덱싱 사용 불가
    • 값을 업데이트하거나 새로운 자료를 넣을 수 있다
    • 밸류로 아무 자료형이나 쓸 수 있음 (중첩 가능)
    • 다양한 기능
      person = {"name":"Bob", "age": 21}
      
      print("name" in person)       # True
      print("email" in person)      # False
      print("phone" not in person)  # True
      
    • 해당 키가 존재하는지 알고 싶을 때 in 사용
  • 리스트와 딕셔너리를 함께 사용해 자료를 정리하는 데 쓰일 수 있다

 

 

조건문
  • if문
    • 파이썬에서는 어디까지 구문에 포함되는지 들여쓰기로 구분하기 때문에 아주 중요
  • else 와 elif
    • 다양한 조건을 판단할 때는 elif 사용

 

 

반복문
  • for문
  • enumerate
    • 인덱스와 원소를 동시에 접근하면서 루프를 돌릴 수 있다
  • 예제
    # 나이가 20보다 큰 사람만 출력
    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}
    ]
    
    for person in people:
    	if person['age'] > 20:
    		print(person['name'])
    
  • 예제 - enumerate, break
fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']

for i, fruit in enumerate(fruits):
	print(i, fruit)

# 앞에 5개만 출력하고 싶을 때
for i, fruit in enumerate(fruits):
	print(i, fruit)
	if i == 4:
		break

 

함수
  • 반복적으로 사용하는 코드들에 이름을 붙여놓은 것
  • 조건문에 넣을 값을 바꿔가면서 결과를 확인할 때 쓰면 편하다
  • 단순한 출력 뿐만 아니라 결과 값을 함께 돌려주도록 만들 수도 있다
  • 예제
    # 주민등록번호를 입력받아 성별을 출력하는 함수 만들기
    def check_gender(pin):
    		num  = int(pin.split('-')[1][0])
    		if num % 2 == 0:
    				print('여성')
    		else:
    				print('남성')
    
    my_pin = '200101-3012345'
    check_gender(my_pin)
    

 

 

자바스크립트 기초 강좌: 100분 완성 (링크)

유튜브 강의인데 굉장히 잘 설명해주셔서

어제에 이어 자바스크립트 복습을 할 수 있었다.

중급 강좌도 있어서 내일 연습 문제를 풀어보고 기초를 다시 들을지, 중급으로 넘어갈 지 고민이다.

노션에 정리를 해뒀는데, 중구난방이어서 TIL에 따로 옮겨오지 않으려고 한다.

 

추후 다시 강의를 듣거나 자바스크립트 관련 문제를 해결할 때,

필요하다면 그 때 다시 노션으로 가서 정리본을 읽어보고 TIL에 기록할 예정이다.

 

아니면 혹시 모르지,

내일 당장 TIL에 적을지도...ㅋㅋ

그렇지만 내일은 파이썬 강좌를 완강하려고 했으니까 아마 내일 파이썬을 열심히 들을 것 같다.

여튼...할게 너무 많아서 계획을 세우고 하나하나 해야 한다.

 

 

 

 

 

짧은 일기

일기를 구분하는게 무슨 의미가 있나 싶지만...

오늘 새로운 조원들도 만나고 개인 공부를 본격적으로 시작해서 그런가 하루가 조금 어색했다.

물론 그렇게 대화를 오래 나누지는 않았지만...그냥 그랬다는 거다 (ㅋㅋㅋ)

 

어제 잠깐 듣고 멈췄던 알고리즘 진도도 나가야 하고 파이썬도 완강하고...

오늘과 다름없이 내일도 공부로 바쁠듯 하다.

시간이 참 빠르게 흘러간다. 12시간이라 너무 힘들고 적응 못할 줄 알았는데 할 게 많아서 그런가 쑥쑥 지나가버린다.

내일은 또 내일의 내가 열심히 할 거라고 믿으며...ㅎ

오늘은 끝!