기타/Python

250509_내일배움캠프 사전캠프_파이썬기초(4)

baektree 2025. 5. 12. 21:15

 

오늘의 학습 요약

  • 함수는 반복 사용하는 코드에 이름 붙여 놓은 것 작업을 미리 정리해 높은 이름표 붙은 묶음 ex 컵라면 끓이기는데 5단계를 거쳐야 함 > 이 5단계를 함수로 만들어 놓음. > 함수 이름 한줄만 적으면 5단계가 한 번에 실행됨.
  • f-stirng은 문장 안에 변수나 계산 결과를 쉽게 넣는 방법 name = “민수” print (f “안녕, {name}!”)
  • try-except는 에러가 나도 프로그램이 멈추지 않도록 함.
    • try는 이걸 시도해봐
    • except 근데 실패하면 이렇게 처리해
  • 파일 불러오기
    • 파일 A의 함수를 파일 B에 불러올 수 있다.
  • if문이나 for문 한줄로 요약해서 작성할 수 있다. (문법중요!) </aside>

1. 오늘 학습 한 내용을 나만의 언어로 정리하기

  • [f-string]
    • 뜻: 변수로 더 직관적인 문자열 만들기
    #문제
    
    scores = [
        {'name':'영수','score':70},
        {'name':'영희','score':65},
        {'name':'기찬','score':75},
        {'name':'희수','score':23},
        {'name':'서경','score':99},
        {'name':'미주','score':100},
        {'name':'병태','score':32}    
    ]
    
    #풀이과정
    
    for s in scores:   --> scores의 요소 하나씩 s에 넣기
    	name = s['name']  --> name은 s변수의 'name'의 value
    	score = str(s['score']) --> score은 s변수의 'score'의 value, 단 숫자이니 문자로 변환(str())해주어야 함
    	
    	print('영수는 70점 입니다.')  --> 문자는 ''처리
    	print(name+'는 '+score+'점 입니다.') --> ()안에 변수는 그냥 들어갈 수 있음. 단 문자와 연결하기 위해서 +'' 썼음.
    	print(f '{name}은 {score}점 입니다.') --> f {}하면 변수를 넣어 직관적인 문자열 만들 수 있음.
    
  • [try-except]
    • 뜻: try안에 있는 문장을 실행시키고 에러가 나면 except로 빠져라!
  • [파일의 함수 불러오기]
    • 파일 A의 함수를 파일 B에 불러올 수 있다.
    • 변수는 ‘ ’ (X) 문자열은 ‘ ’ (O)
    #파일A
    
    def say():
    	print('안녕')
    
    def say_to(name):
    	print(f '{name}아 안녕')
    
    #파일B
    
    from 파일A import *  --> *는 파일A에 있는 모든 함수 가져온다는 뜻
    
    say() #안녕
    say_to('혜진') #혜진아 안녕
    
  • [if문, for문 각각 한줄로 만들기]
    • if문 한줄로 간결하게 만들기
      1-2) 요약 후
      
      num = 3
      
      result = '짝수' if num % 2 == 0 else '홀수' --> 결과는 짝수인데, 2로 나눠서 나머지가 0일 경우 그렇지 않으면 홀수
      
      print(f '{num}은 {result}입니다.') #3은 홀수입니다.
      
    • 1-1) 요약전 num = 3 if num % 2 == 0: result = '짝수' else: result = '홀수' print(f '{num}은 {result}입니다.') #3은 홀수입니다.
    • for문 한방에 써버리기
      2-2) 요약 후
      
      a_list = [1, 3, 2, 5, 1, 2]
      
      b_list = [a*2 for a in a_list]  --> a_list에 있는 a를 돌리는데 그때마다 a*2를 해라, 그런 다음에 모든 것들을 리스틀 묶어라
      
      print(b_list) # [2, 6, 4, 10, 2, 4]
      
    • 2-1) 요약 전 a_list = [1, 3, 2, 5, 1, 2] b_list = [] for a in a_list: --> a_list 요소 a변수를 하나씩 돌린다. b_list.append(a*2) --> b_list에 하나씩 추가한다. print(b_list) # [2, 6, 4, 10, 2, 4]
  • 훑고 넘어가기 (why 기초단계에선 어렵기 때문)
    • map: 리스트의 모든 원소를 조작하기
      • 1차) result = map(check_adult, people) —> people에 있는 모든 요소들을 chech_ault에 넣어라
      • 2차) def check_adult(person): return ‘성인’ if person[’age’] > 20 else ‘청소년’ result = map(check_adult, people) print(list(result))
      • 3차) result = map(lambda x: (’성인’ if x[’age’] > 20 else ‘청소년’), people) print(list(result))
    • 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} ]
    • filter: 리스트의 모든 원소 중 true인 것들만 뽑기!
    • result = filter(lambda x: x['age'] > 20, people) print(list(result))

#내일배움캠프 #사전캠프 #TIL