변수를 선언하는법 부터 자료형 문자열 ,리스트와 딕셔너리 조건문 반복문 과 같은 기본과 함수 나 튜플 집합 같은 것도 완벽하게 이해하지는 못했지만 배우게되었다
#사칙연산
#+ - * / **제곱 % 나머지
예시 )
a = 1
b=2
print(a+b)
을 하면 3 이 출력이된다
2.문자열다루기
문자열을 배우면서 퀴즈를 내주셨다
퀴즈 지역번호 02만 산출
phone = '02-123-4567'
result = phone.split('-')[0]
print(result)
result = phone[:2]
print(result)
앞에 지역번호만 프린터로 출력하라는 문제였는데
두가지 방법이있다 스플릿을 사용하여 - 을 기준으로 구역을 나누고 02 123 4567 로 나뉘는데
각 0 1 2 로 나눠진다 그래서 지역번호인 0 을 선택해서
result = phone.split('-')[0] 하고 프린터를하면 02가 출력이된다
또는
result = phone[:2] 를 사용하여 앞에서 2번쨰 숫자까지만 불러와 프린터로 출력하면 02가 출력이 됩니다
리스트는
a_list = [1,3,6,2,7]
이런식으로 리스트를 만들어서
리스트를 수정하거나 추가하거나 오름차순, 내림차순으로 분류하는법을 배웠습니다
그리고 리스트의 개수를 산출하거나 등의 리스트를 활용하는법을 배웠습니다
딕셔너리
a_dict = {'name':'bob','age':27,'friend':['영희','철수']} #name 키에 bob 값(벨류) 키:벨류
딕셔너리는 키 와 벨류 값으로 나눌수있습니다
퀴즈
리스트와 딕셔너리 퀴즈 : 스미스의 과학점수를 출력하시오
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'])
스미스는 피플 리스트에 0,1,2 즉 2번쨰에 위치해있고
그 안에서 과학점수는 스코어 -> 사이언스 에 위치해있으므로
정답은 print(people[2]['score']['science']) 이 됩니다.
조건문은 if고 반복문은 for 문이다.
if 문은 개인적인 생각이지만 아래처럼 정리할수있을것같당..!
if:만약 elif:아니면 else: 둘다 거짓일경우
for문 예시
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
#1.짝수출력하기
for num in num_list:
if num % 2 == 0:
print(num)
리스트에있는 숫자들중 짝수를 출력하는 문제입니다!
num_list 에 num 변수를 사용하여 num 을 2로 나누었을떄 나머지가 0이 되면 출력하라.
라는 명령을 넣어주어서 짝수만을 출력하게 구성해보았습니다!
함수 def
def sum(a,b):
print('더하기를하셨네요')
return a+b
result = sum(1,2)
print(result)
def 는 예약어 입니다
def 를 사용해 언제든지 위 함수가 필요할때 꺼내어 사용할수있습니다.
def에 sum(a,b) 를 넣고 나중에 함수를 사용할떄 a+b 라는 값으로 리턴하게되어
result 에 sum(1,2) 임의 의 값을 넣어 출력했을떄 덧샘을 실행하는 함수입니다!
튜플
a = ('사과','감','배') #리스트처럼 순서가있지만 수정이 불가능함
print(a)
튜플은 위에 설명과 같이 리스트와 비슷한 형태이나 추후에 수정이 불가능 합니다
집합
집합은 수학에서 말하는 그 집합과 비슷합니다
set 문을 사용을하고
중괄호를 사용해 딕셔너리와 비슷해보이지만 키는 없고 값 만 존재하는 형태로 보입니다.
집합
a = [1,2,3,4,3,2,3,4,5,8,7]
a_set = set(a) #집합
print(a_set) #집합의 특징 : 중복을 제거시켜준다.
또 특징이 있다면 리스트에서 중복된 숫자를 제거시켜준다는 특징이있습니다
교집합과 합집합
a = ['사과','감','배','수박','딸기']
b = ['배','사과','포도','참외','수박']
a_set = set(a)
b_set = set(b)
print(a_set & b_set) #교집합
print(a_set | b_set) #합집합
#차집합 퀴즈
student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
student_b = ['물리1','수학1','미술','화학2','체육']
a = set(student_a)
b = set(student_b)
print(a-b)
교집합과 합집합 차집합 등 여러가지로 활용할수있습니다
map 함수와 람다함수 필터함수
#def check_adult(person):
return ('성인' if person['age'] > 20 else '청소년')
result = map(check_adult,people)
print(list(result))
람다
result = map(lambda person: ('성인'if person['age'] > 20 else '청소년'),people)
print(list(result))
필터
result = filter(lambda x:x['age']>20 ,people) # person = x
print(list(result))
오늘 배우면서 가장 이해하기 어려웠던 3종세트였습니다..
아직 전부를 이해한것은 아니지만 제가 아는 지식나름대로 끄적여볼게요.. 끄응
람다 함수는 복잡한 코드를 1줄또는 2줄로 간단하게 줄여줄수있는 굉장한 능력을 가진 녀석입니다
map 함수는 리스트에 항목마다 함수를 적용해준다고합니다
또 필터 함수는 네 여러분들이 아시는 공기청정기 필터 청소기 정수기 필터 같은 능력을 가진 친구인데요
말그대로 내가 원하는 조건의 항목만을 가져와주는 걸러주는? 그런역할을 하는 친구입니다
그리고 이외에 클래스 를 적용하는법과
코드를 간소화하는법 등등 많은 꿀팁들도 배웠습니다
또
from main_func import *
를 활용하여 다른 파일에있는 코드를 가져오는법도 익히게되었습니다
저기서 임포트 에서 이 의미하는것은 파일 전체를 뜻한다고합니다!