기본적인 틀을 정리하도록 하겠다!!
#조건문 #반복문 #튜플 #집합 #f-string #예외처리 #한줄if문 #한줄for문
1. 조건문
if A == 10:
print("A는 10입니다")
else:
print("A는 10이 아닙니다")
결과) A가 10이면 "A는 10입니다" 출력
2. 반복문
i = [1,2,3,4,5,6,7]
for w in i:
print(w)
결과 ) 1 2 3 4 5 6 7 순서대로 출력
(w는 내가 지정한 임의의 문자이고, i안에서 하나씩 w에 들어감!!)
3. 튜플
4. 집합
a = [1,2,3,1,4,2,3,1]
b = [1,2,3,4,5,6,1,2,4,1,2]
a_set = set(a)
b_set = set(b)
를 실행하면, 중복된것이 제외된 a_set에 [1,2,3,4]가 들어감
4-1 교집합
print(a_set & b_set)
[1,2,3,4] 를 출력!
4-2 합집합
print(a_set | b_set)
[1,2,3,4,5,6] 을 출력!
4-2 차집합
print( b_set - a_set )
[5,6] 을 출력!
5. f-string
사실 오늘 기입하는 이유중 제일 중요한 것이다.
ex)
print(name , '의 점수는' , score' 점 입니다.')
만약 name이랑 score이라는 변수를 이용 print를 작성한다면, 이렇게 될 것이다.
하지만 f-string을 사용한다면?!
print(f ' {name}의 점수는 {score} 점 입니다.')
라고 간편하게 작성!! {}는 java script의 id 호출값이랑 비슷하다고 생각하면 될 듯 하다. ㅎㅎ
6. 예외처리!!
만약 if문을 돌리고 있는데 비정상 적인 구문에서 막힌다면, 에러가 발생이 될 것이다!!
ex)people = [
{'name': 'bob', 'age': 20},
{'name': 'carry'}]
에서
if person['age'] >= 20:
print(person['name'])
를 돌린다면, age가 없는 carry에서 오류가 발생!
하지만,
for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print('에러입니다')
이렇게 try를 붙인다면 무조건 실행을 하고, 예외인 경우 except를 실행한다.!!
7. 외부파일의 함수를 불러오고 싶을 경우!
만약 main_func.py 라는 폴더에 있는
def hi():
print("hi")
함수를 가져오고 싶을 경우!!
현재 나의 .py 파일에서
from main_func import *
을 해준다!!
이 말을 main_func 파일에 있는 모든 함수를 참조한다는 뜻!! 우리가 알고있는 import랑 똑같음
7-1 번외. 함수에 인자를 무제한으로 넣을 때 !! (*arg)
def cal(*args) :
for name in args:
print(f'안녕 내 이름은{name}야!')
cal('영수','철수','현수')
*arg를 넣게되면, 인자를 무제한으로 받을 수 있다.
입력값의 개수를 지정하지 않고 모두를 받을 수 있다.
7-2 번외. 입력값의 개수를 지정하지 않고 모두 받는 방법
def cal(**kwargs) :
print(kwargs)
cal(name = '영수',age = 30, height = 180)
**kwargs 를 넣게 된다면, 입력값의 개수 제한이 없이 딕셔너리 출력이 가능하다
8. (강의를 들으면서 놀랐다) if문과 for문을 한줄로 작성하는 법
평소의 if문
num = 3
if num % 2 ==0:
result = "짝수"
else :
result = "홀수"
한줄로 작성한 if문
result= '짝수' if num % 2 ==0 else '홀수'
if문은 앞에 있는 값에 적용된다는 것을 알기!!
평소의 for문
a_list = [1,3,2,5,1,2]
b_list = []
for a in a_list:
b_list.append(a*2)
b_list에는 [2,6,4,10,2,4] 출력
한줄로 작성한 for문
b_list = [a*2 for a in a_list]
... 많이 익숙해 지기 위해서 노력해야겠다...
뒤에 for a in a_list를 먼저 작성하고, 앞에 로직을 작성하는게 편할 듯? 하다...
'나의 메모장 > 파이썬 나의 메모장' 카테고리의 다른 글
나의 파이썬 메모장(추가2) #map #lambda #filter (0) | 2022.04.27 |
---|---|
4월 27일 TIL(pygame 마무리, git 특강) (1) | 2022.04.27 |
4월 26일 TIL (pygame) (2) | 2022.04.26 |
4월 25일 TIL (pygame rect) (0) | 2022.04.25 |