
확실히 뒷부분이 복잡하게 생겼당...
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가 출력된다