네덜란드 귀도 반 로섬 이 만드 언어.
인간적이고, 직관적인 언어 이다!
a= 3 b= 2
print(a+b)
a라는 변수에 3 이라는 값을 넣는다.
사칙 연산 가능.
제곱에 사용되는 기호 : **
나머지: %
Bool 자료형
x = True # 참
y = False # 거짓
비교연산자
> 크다 # True
< 작다 # false
>= 크거나 같다 #True
<= 작거나 같다 # True
== 같다 # False
!- 같지 않다 # True
and 연산자 => 모두 참 이어야 참으로 변환
or 연산자 => 둘중 하나만 참이면 참이다.
문자열은 따옴표로 감싸 주어야 한다. 아니면 변수로 인식을 한다.
len = 문자열의 길이 구하기.
인덱싱과 슬라이싱 가능.
a = [1, 3, 2, 4]
print(a[3]) # 4
print(a[1:3]) # [3, 2]
print(a[-1]) # 4 (맨 마지막 것)
a.append(5) - > 리스트 덧붙이기
a.sort(reverse=True)-> 리스트 정렬하기
a = {"one":1, "two":2}
# 빈 딕셔너리 만들기
a = {}
a = dict()
업데이트 하거나, 새로운 쌍의 자료를 넣을 수 있다.
person = {"name":"Bob", "age": 21}
person["name"] = "Robert"
print(person) # {'name': 'Robert', 'age': 21}
person["height"] = 174.8
print(person) # {'name': 'Robert', 'age': 21, 'height': 174.8}
조건을 만족했을 때만 특정코드를 실행
money = 5000
if money > 3800:
print("택시 타자!")
money = 2000
if money > 3800:
print("택시 타자!")
else:
print("걸어가자...")
age = 27
if age < 20:
print("청소년입니다.")
elif age < 65:
print("성인입니다.")
else:
print("무료로 이용하세요!")
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}
]
for person in people:
name = person['name']
age = person['age']
if age > 22:
print(name,age)
프로그래밍에서의 함수는 같은 동작을 한다.
def bus_rate(age):
if age > 65:
print("무료로 이용하세요")
elif age > 20:
print("성인입니다.")
else:
print("청소년입니다")
bus_rate(27)
bus_rate(10)
bus_rate(72)
a = (1,2,3)
print(a[0])
딕셔너리 대신 리스트와 튜플로 딕셔너리 비슷하게 만들어 사용해야 할 때 많이 사용 된다.
집한은 말 그대로 집합. 중복이 제거 된다.
교집합 & 차집합 - 합집합 |
변수로 더 직관적인 문자열 만들기.
for s in scores:
name = s['name']
score = str(s['score'])
print(f'{name}은 {score}점입니다')
try- except 문
에러가 있어도 건너뛰게 하기!
from main_func import *
만약 조건에 따라 다른 값을 변수에 저장하고 싶다면?
num = 3
result = "짝수" if num%2 == 0 else "홀수"
print(f"{num}은 {result}입니다.")
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))
people 을 하나씩 돌면서 check-_adult 에 넣어라
def check_adult(person):
return ('성인' if person['age'] > 20 else '청소년')
result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), people)
print(list(result))
result = filter(lambda person: person['age'] > 20, people)
print(list(result))
클래스는 언제 사용하느지 아는게 더 중요하다.
몬스터의 hp를 관리해야 한다면 어떻게 해야 편할까.
1. 리스트의 잘지켜서 각 몬스터 hp 관리
2. 몬스터 마자 각자의 hp를 가질 수 있게 한다.
뱀 자체적으로 관리하는게 효율 적이고 직관적 이다.
-> 이런걸 객체 지향 적이다. 라고 한다
함수를 불러다가 물체를 제어!
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()
화이팅 화이팅!!!