Weakly I Learned

손상훈·2022년 9월 4일
1

이번 주에는 웹개발과정을 복습하며 개발일지 정리를 재작성하였고 목,금요일에는 파이썬 기본 문법강의가 시작하여 '실무적용 알고리즘 실습'에 파이썬 문법 과제를 풀었다. 1일차 알고리즘 문제를 스스로 풀다가 모르는 문제가 있으면 팀원들에게 물어보다가 정 안되면 구글링을 해서 풀었는데 이해를 하려고 노력하다보니 진도가 많이 나가긴 힘들었다. 구글링을 보다 익숙해지도록 노력을 많이 해야 할거 같다.

< 파이썬 문법 심화 >

  • 튜플이란? 리스트와 비슷하지만 불변인 자료형이다.
    ex) people = [('bob',27),('john',30)]

집합이란? 말 그대로'집합을 구현하는 방법. 좋은점: 중복제거
ex) a = [1,2,3,4,3,2,3,4,5,8,7,1,]
a_set = set(a)
print(a_set)
하면 {1,2,3,4,5,7,8} 이렇게 나온다.

< 교집합,합집합,차집합 >

a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']

print(a & b) # 교집합
print(a | b) # 합집합 (엔터키 위에 역슬레이쉬쪽에 있음)
print(a - b) # 차집합

< f-string >

ex) for s in scores:
name = s['name']
score = s['score']
print(name+'의 점수는 '+str(score)+'점입니다')

score를 문자로 바꿔줘야 하기 때문에 score앞에 str를 넣어준다
숫자로 바꿔줄때는 int를 붙여준다. 또한 위에 score = str(s['score'])를 해줘도 됨.

간결하게 다르게 써줄 수도 있음.
print(f'{name}의 점수는 {score}점입니다.')

< 예외처리 try - except >
ex) for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print(person['name'],'에러입니다')

  • 장점: 에러가 나도 꺼지지않고 쭉 나아가고 어떤게 에러인지 알 수 있다.
    단점: 남용하면 돌아는 가는데 뭔가 이상해지고 무슨 에러가 나는지 모르기 때문에
    왠만하면 쓰지를 않는다.

< 파일 불러오기 >

2번째 파일을 1번째 파일에서 쓰고 싶을 때
ex)
from main_func import
여기서
은 파일 전체를 포함시킴. 거의 이걸로만 씀.

< 한줄의 마법 >

< if문 >
if num % 2 == 0:
result = '짝수'
else:
result = '홀수'

  • 간편하게 한줄로 하려면 result = ('짝수' if num % 2 == 0 else '홀수')

< for 문 >

ex)
a_list = [1,3,2,5,1,2]

b_list = []

for a in a_list:
b_list.append(a*2)

print(b_list)

  • 간편하게 b_list = [a*2 for a in a_list] 이렇게 넣어서 쓸 수 있다.

< map >

def check_adult(person):
if person['age'] > 20:
return '성인'
else:
return '청소년'

result = map(check_adult, people)
print(list(result))

  • 한줄로 간편히 줄이면 return '성인' if person['age'] > 20 else '청소년' 으로 쓸 수 있다.

< lambda 식 >

def check_adult(person):
return ('성인' if person['age'] > 20 else '청소년')

result = map(check_adult, people)

print(list(result))

  • people을 돌면서 person에다 넣고 그 person을 이렇게 리턴해라

짧게 쓰려면 def랑 return 줄을 지우고 이렇게 써도 된다.
result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), peopple)

< fliter >

True인 것들만 뽑기!
result = filter(lambda x: x['age'] > 20,people)

< 함수 심화 = 사용할일이 거의 없다.>
def cal(a,b=2): b를 고정으로 해줄수도 있음.
return a+2*b

result = cal(a=1,b=,2) 좋은점은 순서를 바꿔도 됨.
print(result)

def cal(*args):
for name in args:
print(f'{name}밥먹어라~')
cal('영수','철수')

  • 변수를 무제한으로 넣을 수 있다.

def cal(**kwargs):
print(kwargs)
cal(name='bob',age=30,height=180)

  • 인자를 지정해서 넣어줄 수도 있다.

< 클래스 >

class monster():
hp = 100
alive = true

def damage(self, attack):
    self.hp = self.hp - attack
    if self.hp < 0:
	self.alive = False

def status_check(self):
     if self.alive:
	print('살았다')
     else:
	print('죽었다!')

m1 = monster()
m1.damage(150)
m1.status_check()

m2 = monster()
m2.damage(98)
m2.status_check()

  • 내 hp가'를 쓰려면 self. 를 붙여줘야 함.
profile
< 코린이의 코딩모험기 >

1개의 댓글

comment-user-thumbnail
2022년 9월 6일

코딩하면 구글링만큼 효과적으로 빠른 해결방법이 업쬬 하다보면 익숙해질 거예요 ㅎㅎ 화이팅!

답글 달기

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN