확실히 뒷부분이 복잡하게 생겼당...
from main_func import *
# 사용할 특정함수이름만 쓸 수도 있음
#from 파일이름 import 내장함수이름/모두(*)
->어제 권기현 튜터님이 간단하게 쓰지 않으면 파이썬답지 않다고 한 게 이건가보다
원래 함수 모양:
num=3
if num%2 == 0:
result='짝수'
else:
result='홀수'
print(f'{num}은 {result}입니다')
이렇게 한줄이 된다!(전체를 감싸는 괄호는 생략가능)
num=3
result=('짝수' if num %2==0 else '홀수')
print(f'{num}은 {result}입니다')
그러고보니 파이썬 반복문은 i 가 필요없어서 참 간편
(위아래 리스트 정의/프린트 부분은 같으니까 이하생략)
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]
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}
]
def check_adult(person):
if person['age']>20:
return '성인'
else:
return '청소년'
result=map(check_adult,people)
print(list(result))
# 리스트를 씌워주지 않으면 맵오브젝트라고 결과가 나온다. 리스트 형식에 다시 담아줘야
# 내가 원하는 결과물로 볼 수 있음
result=map(lambda x: ('성인' if x['age']>20 else '청소년'), people)
result=filter(lambda x:x['age']>20, people)
원래 형태
def cal(a,b):
return a+2*b
result=cal(1,2)
print(result)
result=cal(b=1,a=2)
->이렇게 변수를 지정하면 순서가 상관없다!
정의할 때 변수 값을 고정해 놓으면
변수 값을 하나만 받으면 당연히 a에 들어가고,
def cal(a,1):
#생략
result=cal(1)
두개 다 받으면 고정된 값은 무시~!~! 7이 입력된다
result=cal(1,7)
def cal(*args):
for name in args:
print(f'{name} 밥 먹어라~')
result=cal('영희','철수','바비','정진')
def cal(**kwargs):
print(kwargs)
cal(name='영희',age=30)
객체 지향: 물체에 그에 관련된 속성을 넣어주고 컨트롤 가능한 함수를 붙여주어 메인에서는 함수만 불러서 물체를 제어
class monster():
hp=100
alive=True
# 첨에 살아있음을 표현함
# 클래스에 포함된 함수2개
def damage(self, attack):
self.hp=self.hp-attack
if self.hp < 0:
self.alive=False
def status_check(self):
if self.alive == True:
print('살았당')
else:
print('죽었당')
-> if 문에서'== True'이 부분은 당연히 생략가능
# 각 몬스터는 인스턴스
m1=monster()
m1.damage(150)
m1.status_check()
m2=monster()
m2.damage(50)
m2.status_check()
x,y=map(int,input().split())
if x>0 and y>0:
print('1')
elif x<0 and y>0:
print('2')
elif x < 0 and y < 0:
print('3')
elif x>0 and y<0:
print('4')
->x따로 y따로 받으면 해결됨
❗multiple/chaining comparison❗
->이런 것도 된당!!
for i in range(10):
print(i)
->0부터 9까지 10개가 출력됨
a=[3,99,100]
b=[4,5,6]
print(min(a,b))
# 젤 작은 값이 있는 a가 출력된다