1.파이썬 기초문법
내일배움캠프 파이썬
1-2 파이썬
- print(‘hello python’) > 오른쪽버튼 누르고 실행
- 들여쓰기를 잘써야함 잘못하면 에러나옴
1-3 변수 & 사칙연산
ㄱ. 사칙연산
- A = 3, B = 2
- Print(a+b) = 5
- print(a*b) = 6
- print(a**b) =9(3의제곱)
ㄴ. 참&거짓 : 조건문 할때 많이사용함
- a=(2<3)
- print(a) = sure
1-4. 문자열
####ㄱ. 문자열
- 문자열은 (‘’),(””)로 구분한다
- 문자열이랑 숫자를 더할순 없음
- a= ’sang’ b=‘hyun’
- print(a+b) = sang hyun
ㄴ.문자열 길이세는법
- text=‘abcdef’
- result = len(text)
- Print(result) = 6이라고 문자열의 길이를 출력함
- 문자열 자르는방법 : 앞으로 자르는방법
- text=‘abcdef’
- result = text[:3]
- Print(result) = abc 3개까지 자름
ㄷ.문자열 자르는방법 : 뒤로 자르는방법
- text=‘abcdef’
- result = text[3:] :의 위치로 설정가능
- Print(result) = def 뒤로3개까지 자름
ㄷ.문자열 자르는방법 : 원하는 구간 자르는방법
- text=‘abcdef’
- result = text[2:5] 2부터:5까지 출력
- Print(result) = cde로 원하는구간
ㄹ.문자열 자르는방법 : split
- Myemail =‘chacha@naver.co’
- Result = myemail.splist(‘@‘). // result는 그냥 정한 변수의 이름일뿐임 기능없음
- print(result) = [‘myemail’ , ’naver.co’] = 로쪼개짐 0,1로 호출가능
- esult = myemail.splist(‘@‘)[1]
- Print(result) = naver.co
1-5리스트와 딕셔너리
ㄱ.리스트 : 숫자, 문자, 블린도 리스트에 적을수 있고 []를 사용
- a_list = [1 , ’사과’ , true,[’배’ , ‘감’]]
- print(a_list[2) =trune 를 호출함
- print(a_list[3][0]) = 감을 호출함 리스트안의 리스트
ㄴ.리스트에 추가하기 : append
- a_list =[1,2,3,4,5]
- a_list.append(7)
- Print(1,2,3,4,5,7) = append로 맨뒤에 7을 추가함
ㄷ. 딕셔너리 : 리스트와 다르게 순서가 없고 {}를 사용
- a_dict ={‘name’:’bob’ , ‘age’:27}
- Print(a_dict[’name’]) = bob이 출력됨
ㄹ. 딕셔너리와 리스트의 조합
- a_dict ={‘name’:’bob’ , ‘age’:27 , ‘friend’[‘철수’ , ‘영희’]}
- print(a_dict[‘friend’][0]) = 철수를 출력함
- -people= {'name':'cha','age':27},{'name':'kim','age':30}] = 0,1로 구분됨
- a=(people[0]['name']) = 0번째의 name = cha
- print(a) = cha 가 출력됨
ㅂ. 리스트안의 리스트
- people = [{'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}}
- a=(people[0][‘math’])
- Print(a) = 90이 호출됨
1-6 조건문
ㄱ. if문
- money = 5000
- If monet > 3800:
- Print(‘택시를타자’)
ㄴ. Else문
- money = 3000
- if money > 4000: print('택시를타자')
- else: print('걸어가자') = 걸어가자가 출력됨.
ㄷ.elif
- money = 2000
- if money > 3000: print('택시를타자') = 금액이 3000원보다 크면 if
- Elif money >1500:print(‘버스를타자’) = 금액이 3000~1500원이면 elif
- else: print('걸어가자') = 버스타자가 출력됨. = 그것도 아니면 걸어가자
1-7 반복문
ㄱ.반복문의 기본문법
- Fruits = [‘사과’,’배’,’참외’]
- For fruits in frutis :
- Print(fruits_ = 사과, 배 ,참외
ㄴ. 반복문 예제
- people = [ {'name': 'bob', 'age': 20}, {‘name': 'carry', 'age': 38}
- For person in people: // person은 변수의 이름이기때문에 아무렇게가나능함
- Name=person[‘name’]
- age=person[‘age’]
- print(name,age). = bob 20, carry 38가 출력됨
ㄷ. 반복문 조건문 조합
- people = [ {'name': 'bob', 'age': 20}, {‘name': 'carry', 'age': 38}
- For person in people: // person은 변수의 이름이기때문에 아무렇게가나능함
- Name=person[‘name’]
- age=person[‘age’]
- If age > 20: // 반복문안에 if문을 넣었음
- print(name,age). = carry 38가 출력됨
ㄹ. Enumerate, break 사용
- people = [ {'name': 'bob', 'age': 20}, {‘name': 'carry', 'age': 38}
- For i, person in enumerate(people): // for 옆에 i , in 앞에enmerate를 넣고
- Name=person[‘name’]
- age=person[‘age’]
- print(i , name, age) = 1 bob 20, carry 38 을 출력함 = 즉 앞에 숫자1을 붙이고 1번째에서 break함
- If > 0 :
- (들여쓰기)Break
ㅂ.문제풀이-1
- 짝수만 출력해볼것
- num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
- For num in mum_list:
- If num % 2==0: = num을 2로나눴을때 0과 같다면 짝수임
- print(num) = 2 6 2 4 6 2 4를 출력함
ㅅ.문제풀이 -2
- 짝수의 개수를 세어볼것
- num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
- count=0. // 카운트라는 변수를 하나 만들어준후 0을 부여함
- For num in mun_list:
- In num in mum_list:
- If mum %2==0:
- count+=1 // 위에 코드가 실행될때마다 카운트에 +1을 더하게 한후 그것을 print로 호출함.
- print(count) = 7이나오
ㅂ. 문제풀이-3
- 숫자를 모두 더하시오
- num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
- result = 0 // result라는 변수를 만든후 0을 부여하고
- for num in num_list:
- result += num. // result의 값이 num만큼 계속 더하게 함
- print(result)=38이 나옴
ㅅ. 문제풀이-4
- num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
- max_value = 0 //max_value 라는 변수를 만들고 0을 할당한후
- for num in num_list:
- if num > max_value: //num이 max_value보다 크다면 계속 진행되고
- max_value = num. // 서로 같아질때
- print(max_value)=6 // print 해라
1-8 함수
ㄱ. 함수는 function이 아닌 def
- Def sum(a,b) // def는 함수를 시작할때
- Return(a+b). // a+b를 리턴함
- a=sum(1,2). // a라는 변수를 만들어준후 sum(1,2)가 sum(a,b)에 대입됨
- print(a) = 3이 호출됨
ㄴ. 함수에 조건문
- def bus_rate(age): //bus_Rate(age)라는 함수를 만들어준후
- bus_rate(27) bus_rate(10) bus_rate(72). // 변수를 선언해준후
- if age > 65: // age가 65 이상이면
- print("무료로 이용하세요")
- elif age > 20: // age가 20 이상이면
- print("성인입니다.")
- else: // 20세 이하이면
- print("청소년입니다")
ㄷ. 함수에 리턴
- def bus_fee(age):
- if age > 65: // 나이가 65세이상일때 0값을 리턴
- return 0
- elif age > 20: // 나이가 20세 이상일때 1200값을 리턴
- return 1200
- else:
- return 1000
- money = bus_fee(28) // 나이가 28일때 money가 얼마인지
- print(money) = 1200이 리턴됨
내일배움캠프 파이썬 2
2-1 튜플, 집합
ㄱ.튜플
- 리스트랑 똑같이 생겼지만 불변형의 속성을 가짐
- 리스트는 a= [‘사과’,’배’]였다면 튜플은 a=(’사과’,’배’)임 [],()괄호만 다름
ㄴ. 집합
- 집합은 중복을 제거해서 출력해줌
- a=[1,2,3,4,3,5,.6.2,6,7] // 이런게 중복이 있으면
- a_set = set(a) // a를 set으로 묶은후
- Print (a_set) = {1,2,3,4,5,6,7} // print 하면 중복이 제거된것만 출력됨
ㄷ. 교집합(&) : 같은것들만 출력함
- a = ['사과','감','수박','참외','딸기']
- b = ['사과','멜론','청포도','토마토','참외']
- a_set = set(a)
- b_set = set(b)
- print(a & b) = 사과 참외 만 출력됨 // 겹친거만 출력됨
ㄹ. 합집합 (|) : 합쳐서 출력함
- a = ['사과','감','수박','참외','딸기'] b = ['사과','멜론','청포도','토마토','참외']
- a_set = set(a) b_set = set(b)
- print(a ㅣ b) = 사과 감 수박 참외 딸기 멜론 청포도 토마토 // 합쳐서 출력됨
ㅁ. 차집합 (-) : 서로가지고 있지않은것들을 출력
- student_a = ['물리2','국어','수학1','음악','화학1','화학2','체육']
- student_b = ['물리1','수학1','미술','화학2','체육']
- a_set = set(student_a)
- b_set = set(student_b)
- print(a_set-b_set). // 화학 음악 국어 물리2 // 서로 겹치지 않은것을 출력함
2-2 f-string
ㄱ. 문제
- scores = [{'name':'영수','score':70},{'name':'영희','score':65},{'name':'기찬','score':75},]
- for s in scores:
- name = s['name']
- score = str(s['score'])
- print(name+'는'+score+'점입니다.') = 영수는70점입니다. 영희는65점입니다. 기찬는75점입니다. // +로 변수를 집어넣을수 있음
- print(f'{name}은 {score}점입니다') = f와{}로 작성하면 이게 f-string이 되는것임
2-3 예외처리
ㄱ. Try-except문
- people = [{'name': 'bob', 'age': 20},{'name': 'carry', 'age': 38},{'name': 'john'},{'name': 'smith','age': 17} ]
- for person in people:
- try:
- if person ['age'] >15:
- print(person['name'])
- except:
- name = person['name']
- print('f{name}-에러입니다')2-4 파일불러오기
ㄱ.html css 처럼 파이썬도 파일을 분리할수 있음
- main_test.py라는 폴더와 main_funcy.py라는 두개의 폴더를 만들고
- Main funcy.py안에 함수를 적어놓고 main_test.py에서 쓰고싶으면
- main_test.py위에 from main_funcy import * 라고 적으면됨 funcy는 파일의 이름임
3. 회고
- 파이썬 자바스크립트와 비슷하지만 조금 다르다 함수나 if else ; : 등 다른점이 많은데 헷갈리지 말아야겠다
- 어느 언어나 반복문 조건문 함수는 어려운거 같다. 더 연습해보자