-. 파이썬을 설치한다 : 번역팩을 설치 했다
-. 읽기 쉽게 만든 언어이기 때문에 문법이 쉬워 초보자가 배우기 좋은 언어
변수선언
'변수이름 = 값' 으로 표현
'a = b' 와 'b = a'의 의미는 다르다!
변수(a=2)와 문자열(a='2')는 다른 의미, 혼동 주의!
text = 'abcdefghijk'
result = text
print(result)
: abcdefghijk
text = 'abcdefghijk'
result = len(text)
print(result)
: 11
text = 'abcdefghijk'
result = text[:3]
print(result)
: abc
text = 'abcdefghijk'
result = text[3:8]
print(result)
: defgh
: 순서가 중요하게 값을 담는 것
a_list = [1,5,6,3,2]
a_list.append(99)
print(a_list)
: [1, 5, 6, 3, 2, 99]
a_list = [1,5,6,3,2]
result = a_list[:3]
print(result)
: [1, 5, 6]
a_list = [1,5,6,3,2]
result = 5 in a_list
print(result)
: True(저 리스트에 5가 있는지)
: key:value
a_dict = {'name' : 'bob','age' : 27}
result = a_dict['name']
print(result)
: bob
a_dict = {'name' : 'bob','age' : 27,'friend' : ['영희','철수']}
a_dict['height'] = 180
print(a_dict)
: {'name': 'bob', 'age': 27, 'friend': ['영희', '철수'], 'height': 180}
people = [
{'name' : 'bob','age' : 27},
{'name' : 'john','age' : 30}
]
print(people[1]['age'])
: 30
money = 3000
if money > 3800:
print('택시를 타자!')
elif money > 1800:
print('버스를 타자!')
else:
print('택시를 못타!')
: 버스를 타자!
콜론(:)이 나오면 들여쓰기를 해야 그 안에 내용물이 된다.
fruits = ['사과','배','감','수박','딸기']
for aaa in fruits:
print(aaa)
: 사과
배
감
수박
딸기
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 > 20:
print(name,age)
:carry 38
ben 27
bobby 57
red 32
queen 25
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 i, person in enumerate(people):
name = person['name']
age = person['age']
print(i,name,age)
if i > 2 :
break
:0 bob 20
1 carry 38
2 john 7
3 smith 17
연습문제 1) 짝수만 나오게하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
for nnn in num_list:
if nnn % 2 == 0:
print(nnn)
연습문제 2) 짝수의 개수 출력하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
count = 0
for nnn in num_list:
if nnn % 2 == 0:
count += 1
print(count)
연습문제 3) 리스트 안에 있는 모든 숫자 더하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
sum = 0
for num in num_list:
sum += num
print(sum)
: 38
연습문제 4) 리스트 안에 있는 자연수 중 가장 큰 숫자 구하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
max = 0
for num in num_list:
if max < num:
max = num
print(max)
: 6
def sum(a,b):
return a+b
result = sum(1,2)
print(result)
: 더하기를 하셨네요!
3
sum(1,2)가 나오는 순간 1이 a, 2가 b로 들어간다.
return을 만나 return 3이 되면 sum(1,2)가 3으로 변신,
result가 3이되고, 결과값으로 3이 출력됨
def bus_rate(age):
if age > 65:
print('무료입니다')
elif age > 20:
print('성인입니다')
else:
print('청소년입니다')
bus_rate(15)
: 청소년입니다
def bus_rate(age):
if age > 65:
return 0
elif age > 20:
return 1200
else:
return 750
myrate = bus_rate(60)
print(myrate)
: 1200
def check_gender(pin):
num = pin.split('-')[1][:1]
if int(num) % 2 == 0:
print('여성입니다')
else:
print('남성입니다')
check_gender('150204-1503458')
check_gender('150204-2503458')
check_gender('150204-3503458')
check_gender('150204-4503458')
: num을 2로 나눠야하는데 num은 문자이기 때문에 정수형으로 바꿔줘야한다 int(num)
a = ('사과','감','배')
튜플은 리스트와 같지만 소괄호로 표현
변경, 추가가 불가능
a = [1,2,3,4,4,5,3,3,4,5,1,4,66,7,8,67]
a_set = set(a)
print(a_set)
:{1, 2, 3, 4, 5, 66, 7, 8, 67}
중복을 빼고 보여줌
a = ['사과','배','감','수박']
b = ['사과','포도','메론','수박']
a_set = set(a)
b_set = set(b)
print(a_set & b_set)
print(a_set | b_set)
print(a_set - b_set)
:교집합
합집합
차집합
scores = [
{'name':'영수','score':70},
{'name':'영희','score':65},
{'name':'기찬','score':75},
{'name':'희수','score':23},
{'name':'서경','score':99},
{'name':'미주','score':100},
{'name':'병태','score':32}
]
for s in scores:
name = s['name']
score = str(s['score'])
print(name+'의 점수는 '+(score)+'점입니다')
print(f'{name}의 점수는 {score}점입니다.')
: 영수의 점수는 70점 입니다
영희의 점수는 65점 입니다.....
scores에 있는 score는 숫자 이므로 문자로 바꿔줘야 한다.(str)
반대로 숫자로 바꿀 때는 int
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben'},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print(person['name'], '에러입니다')
:carry
ben 에러입니다
bobby
red
queen
자주 쓰면 오류생김...
: 안녕!
영수님 안녕하세요
if문
num = 15435
if num % 2 == 0:
result = '짝수'
else:
result = '홀수'
print(f'{num}은 {result}입니다')
:15435은 홀수입니다
num = 4534
result = ('짝수' if num % 2 == 0 else '홀수')
print(f'{num}은 {result}입니다')
:4534은 짝수입니다
(짝수라고해라 만약 나머지가 0이면, 그게아니면 홀수라고해라)
for문
a_list = [1,3,2,5,1,2]
b_list = []
for a in a_list:
b_list.append(a*2)
print(b_list)
:[2, 6, 4, 10, 2, 4]
(a_list를 돌리고, b_list에 a*2한거를 하나씩 추가)
a_list = [1,3,2,5,1,2]
b_list = [a*2 for a in a_list]
print(b_list)
:[2, 6, 4, 10, 2, 4]
(a_list안에있는 a를 돌리는데, 그때마다 *2를하고 b에 추가)
map : 리스트의 모든 원소 조작하기
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에 넣어라, 그리고 그 결과값을 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}
]
result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), people)
print(list(result))
:['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
map(lambda x: x, people)
filter : 리스트의 모든 원소 중 특별한 것만 뽑기
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}
]
result = filter(lambda x: x['age'] > 20, people)
print(list(result))
: [{'name': 'carry', 'age': 38}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25}]
def cal(a,b):
return a+2*b
result = cal(1,2)
print(result)
:여기서 cal(1,2)는 cal(a=1,b=2)와 cal(b=2,a=1)와 결과가 같다
def call_names(*args):
for name in args:
print(f'{name}야 밥먹어라~')
call_names('철수','영수','희재')
: 여러개의 인수를 하나의 매개변수로 받을 때 관례적으로 args(arguments) 라는 이름을 사용
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(90)
m2.status_check()
: Monster : 클래스 이름
m1 : 인스턴스(몬스터 한마리)
오늘 강의를 연달아 듣느라 정신이 없었지만 강사님의 설명이 어느정도 수준에 맞춰서 해주셨다는게 느껴졌다.
하지만 어느정도 이해하는데에 한계가 있어서
아무래도 내일 다시 강의를 처음부터 다시 들어봐야겠다.