값을 담는 상자와 같다
A = 3
b = "bob"
이렇게
사칙연산가능
a+b
a-b
a/b
a*b
a = a + 1
이건
a += 1 이랑 같다
a//b 몫 구하기
a%b 나머지 구하기
a**b 거듭제곱 하기
True False
참 거짓
not a 참을 거짓 거짓을 참으로 바꾼다
a and b 둘 다 참이어야 참
a or b 둘 중 하나 참이면 참
문자열도 더하기가 가능하다
문자와 정수는 더하지 못한다
len()을 사용하면 길이 구하기 가능
메소드가 많다
split(" ")~를 기준으로 나눈다
replace("","")~를 ~로 바꾼다
a = "123456"
a[:3]
1234
a[3:]
56
a = "123.456"
a.split(".")[1]
456
리스트
순서가 있는 다른 자료형들의 모임
문자열처럼 인덱싱 슬라이싱 가능
리스트에 더하기
list.append(5)
정렬하기
list.sort()
역순
list.sort(reverse=True)
딕셔너리
키와 밸류로 이루어진 자료의 모음
person = {"name":"hong", "age":25}
키 name age
밸류 hong 25
인덱싱은 불가능
딕셔너리 밸류로 모든 자료형 가능
리스트 안에 딕셔너리로 자료를 정리하는데 쓰임
if문
조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법
age = 25
if age > 20
print("성인")
else 와 elif
else 는 그외 의 것
elif는 if 의외에 조건을 붙힐 때
for문
챔피언 = ['가렌','그라가스','갈리오']
for 챔 in 챔피언:
print(챔)
리스트안에서 하나씩 꺼내 프린트한다
enumerate, break
for i, 챔 in enumerate(챔피언):
print(i, 챔피언)
if i == 1
break
i는 인덱스번호
반복적으로 사용하는 코드의 이름을 붙여놓은 것
def hello():
print("안녕")
조건문에 넣을 값을 바꿔가면서 결과를 확인할 때 쓰면 편하다
def old(age):
if age> 100:
print("old")
else:
print("young")
return을 사용하면 값을 돌려주는 함수를 만들 수 있다
def old(age):
if age> 100:
return "old"
else:
return "young"
리스트와 비슷하지만 불변 순서는 존재
중복제거가 쉽다
a = [1,2,1,2,1,2]
print(set(a))
[1,2]
교집합 합집합 차집합 구하기 가능
a&b 교집합
a | b 합집합
a - b 차집합
변수를 문자열에 대입하는 기능
f"{name}아 너는 {age}살 이구나" 이렇게 사용
try - except 문
try 시도하고 오류가나면 except가 실행된다
같은 폴더의 다른 파일 불러오기
깔끔하게 정리하고 싶을때 사용하면 좋을 것 같다
from func import *
*은 모두 불러오는거
import 뒤에 특정 함수만 붙여서
특정함수만 불러올 수 있다
if num%2 == 0:
result = "짝수"
else:
result = "홀수"
이걸
result = "짝수" if num%2 == 0 else "홀수"
이렇게 한줄로 바꾸기가 가능하다
a_list = [1, 3, 2, 5, 1, 2]
b_list = []
for a in a_list:
b_list.append(a*2)
이 for 문을
a_list = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
이렇게 간단하게 가능하다
리스트 전체를 조작하기 좋다
def check_adult(person):
if person['age'] > 20:
return '성인'
else:
return '청소년'
result = map(check_adult, people)
print(list(result))
이걸 삼항연산자를 사용해서
def check_adult(person):
return '성인' if person['age'] > 20 else '청소년'
result = map(check_adult, people)
print(list(result))
이걸 람다함수를 이용해서
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))
이렇게 한줄로 만든다
리스트에서 특정 요소만 조작하기 좋다
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
map과 비슷하다
함수에 인수를 넣을 때 어떤 매개변수에 언떤 값을 넣을지 정하기 가능
이때 순서는 상관 없다
def func(a,b):
print(a + b)
func(b = 1 , a = 3)
특정 매개변수에 디폴드 값을 지정가능
def func(a,b=3):
print(a + b)
인자 값이 안들어왔을때 b는 3이된다
입력값의 개수를 지정하지 않고 모두 받기
def func(*args):
들어오는 모든 값에 개수에 제한이 없음
키워드 인수를 여러 개 받기
def func(**kwargs):
객체에 속성과 함수를 넣어주고 함수를 사용해서 제어한다
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('죽었다')
m = Monster()
m.damage(120)
m2 = Monster()
m2.damage(90)
m.status_check()
m2.status_check()
여기까지