2022.11.08 TIL

동찌·2022년 11월 8일
0

내일배움단

목록 보기
8/56

오늘의 TIL


변수

  • 선언
a = 3
b = 'donghan'
c = True
d = False

문자열 다루기

숫자 + 문자열은 에러가 난다.

first_name = 'donghan'
last_name = 'kim'

print(first_name + last_name)

#error
a = 2
b = 'hi'

print(a + b)


a = str(2)
b = 'hi'

print(a + b)
#결과 2hi
  • ✍️ Quiz1 "sparta"의 앞의 3글자인 "spa"만 출력해봅시다.
text = "sparta"
result = text[:3]

print(result)
  • ✍️ Quiz2 전화번호의 지역번호 출력하기
phone = "02-123-1234"
result = phone.split('-')[0]

print(result)

리스트와 딕셔너리

값을 담는 방법

  • 리스트 (순서)
    리스트안에 리스트, 딕셔너리도 담을 수 있음

  • 딕셔너리 (key : value)
    딕셔너리와 리스트가 조합될 수도 있음

  • ✍️ Quiz1 smith의 science 점수를 출력해보세요

people = [
    {'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
    {'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
    {'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
    {'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]

print(people[2]['score']['science'])

조건문

if elif else


반복문

for .. in

  • ✍️ Quiz1 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:
    name = person['name']
    age = person['age']
    if age > 20:
        print(person['age'])
  • enumerate, break
    엄청 많을 때 디버깅 가능

연습문제 풀기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
  • Q. 리스트에서 짝수만 출력하는 함수 만들기 ✔️
    반복문으로 돌리고 그 안에서 2로 나눴을 때 나머지가 0 인 것만 출력

  • Q. 리스트에서 짝수의 개수를 출력하기 🔺
    변수를 정해서 2로 나눴을 때 나머지가 0이면 카운트가 1씩 증가
    (증감하고 이런 계산문제에 약한 것 같으니 복습 많이)

  • Q. 리스트 안에 있는 모든 숫자 더하기 ✔️
    변수를 정하고 for문 안에서 변수 += num

  • Q. 리스트 안에 있는 자연수 중 가장 큰 숫자 구하기 ✔️
    변수 = 0, for문 안에서 만약 num이 변수보다 크다면 변수에 num을 저장
    (첨에 뭔소린지 몰랐는데 천천히 생각해보니까 풀림)


함수

def

  • Q. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기 ✔️
    문자를 숫자로 바꿔주는 int()
    0번째는 [0]으로 쓸 수도 있고 [:1]로 쓸 수도 있음

튜플(tuple)과 집합(set)

  • 튜플(tuple)
    불변형
    바꾸려고 하면 TypeError: 'tuple' object does not support item assignment 에러메세지가 나옴

  • 집합(set)
    set()중복을 제거해줌
    교집합 &, 합집합 |, 차집합 - 가능


f-string

f'{변수}는 어쩌구 저쩌구의{변수}이다.'


예외처리

try: 이걸 시도하고
except: 에러가 나면 끊지말고 여기로 빠져
서버한테 콜을 한다거나 할 때 자주 쓰임
남용 금지 (무슨 에러가 났는지 모름 왠만하면 안쓰기)


파일 불러오기

from 파일 import *
*은 모두 불러오는거


한줄의 마법 맛보기

봐두기만 하자 기본부터 잘 이해해야 쓸 수 있을 듯

  • 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)

사기야...


map, filter, lambda

  • map
map(함수,리스트)
#리스트를 돌면서 함수를 바꿔라 맞는말인가 모르겠다
  • lambda
    이런게 있다..
    함수 쓸 필요없이 한 줄로 가능....
    언젠간 나도 자유자재로 쓸 수 있겠지...아마..
map(lambda x: x, list)
#lambda에서의 x가 for x in people 이런거같음
#관용적으로 x로 많이 사용한다고 함
  • filter
    암튼 이런게 있다.
    리스트에서 x인거만 뽑아라 이런 뜻
filter(lambda x: x, list)

함수 심화

  • 함수의 매개변수
    *args 이 친구는 처음보는데 인자를 무제한으로 받을 수도 있다!
    **kwargs 딕셔너리로 나옴 (대박 별게 다 있다)

클래스

객체지향적
데이터와 기능을 묶는 방법을 제공한다 라고 되어있음

https://docs.python.org/ko/3/tutorial/classes.html

1개의 댓글

comment-user-thumbnail
2022년 11월 9일

적어두신 내용은 틈틈히 계속 보시면서 익히시면 좋을것같아용!

답글 달기