목표
- 파이썬 설치하기
- 파이썬 기초 강의 듣기
참고자료
- 파이참(Community)설치: https://www.jetbrains.com/pycharm/download/#section=windows
내용
파이참 써보기!
폴더>마우스오른쪽>NEW>python file>파일이름.py적기
파일에 print('hello')입력하기>마우스오른쪽>Run클릭(내가 보고 있는 파일에서)
변수
:값을 담는 박스
- 값에는 정수, 소수, '문자열', 참/거짓 등을 담을 수 있다
문자열
- ' '(작은따움표)안에 적어야함
- 문자열A+문자열B=문자열A문자열B
- str()은 스트링이라는 의미로 str(2)와 '2'는 같음
- len()은 문자열의 길이를 알려줌
ex) b='lskfskjfls' a=len(b) print(a)
결과: 10
- 문자를 원하는 부분만 잘라 출력할 수 있음
b = 'lskfskjfls' 1) a = b[:3] #앞에서부터 3개까지 2) a = b[3:] #3번째까지 제외하고 출력 3) a = b[3:7] #7번째까지 출력하되, 앞에 3번째까지 제외하고 출력 4) a = b[:] #복사, 그냥 b랑 똑같음 print(a)
결과: 1)lsk 2)fskjfls 3)fskj 4)lskfskjfls
- .split()은 ()를 기준으로 문자를 나눌 수 있음
email = 'kmy@naver.com' 1) result = email.split('@') #@기준으로 문자를 나눔 2) result = email.split('@')[1] #@기준으로 나눈 문자 중 1번 index만 출력 3) result = email.split('@')[1].split('.') #@기준으로 나눈 문자 중 1번 index 값에있는 문자열을 .기준으로 나눔 4) result = email.split('@')[1].split('.')[0] #@기준으로 나눈 문자 중 1번 index 값에있는 문자열을 .기준으로 나눈 후 0번쨰 인덱스만 출력 print(result)
결과: 1)['kmy','naver.com'] 2)naver.com 3)['naver','com'] 4)naver
Quiz
sparta의 앞의 3글자인 spa만 출력하기
text ='sparta'
result = text[:3]
print(result)
결과: spa
전화번호의 지역번호 출력하기
phone ='02-123-1234'
result = phone.split('-')[0]
print(result)
결과: 02
list(리스트)와 dictionary(딕셔너리)
:둘다 값을 담는 방법에 대한 이야기
list:
- 순서가 중요하게 값을 담는 것
- key:value로 값을 담는 방법에 대한 자료형
- 문자열,숫자,참/거짓,리스트 모두 담을 수 있음
ex) 리스트안에 리스트 안의 값을 가져오고 싶을 때 a_list = [2,'배',False,['사과','감']] print(a_list[3][1]) #a_list의 인덱스3(=['사과','감'])리스트의 1번째 인덱스 값을 출력
결과: 감
- .append()로 리스트에 추가 할 수 있음
a_list = [2,4,5,6,4] a_list.append(99) print(a_list[5])
결과: 99
- 문자열에서 했던 것처럼 리스트에서도 [:]를 사용하여 원하는 부분만 자를 수 있음
- 리스트를 len()안에 넣어 길이를 구할 수 있음
- 변수명[-1]을 출력하면 무조건 리스트의 제일 마지막 값을 가져옴
a_list = [2,4,5,6,4] result = a_list[-1] print(result)
결과: 4
- .sort()로 리스트를 정렬할 수 있음
a_list = [2,4,5,6,1] 1) a_list.sort() #오름차순 2) a_list.sort(reverse=True) #내림차순 print(a_list)
결과: [1,2,4,5,6]
- 내가 원하는 값이 리스트 안에 있는지 알아볼 수 있음
a_list = [2,4,5,6,4] result = (5 in a_list) print(result) #있으면 true 없으면 false로 출력됨
결과: true
dictionary:
- 순서의 개념이 없음
- key(키):value(값): 키에 값이 들어있는 형태로 씀
a_dict = {'name':'bob','age':27,'friend':['영희','철수']} 1) print(a_dict['name']) #name키에 들어있는 값을 출력하라 2) print(a_dict['friend'][1])
결과: 1)bob 2)철수
- ['key']=value 값을 추가 할 수도 있음
a_dict = {'name':'bob','age':27,'friend':['영희','철수']} a_dict = ['height'] = 180 print(a_dict)
결과: {'name':'bob','age':27,'friend':['영희','철수'], 'height':180}
- 딕셔너리 안에 원하는 key값이 있는지 찾을 수 있음
a_dict = {'name':'bob','age':27,'friend':['영희','철수']} a_dict = ['height'] = 180 result = ('height' in a_dict) print(result) #있으면 true 없으면 false로 출력됨
결과: true
list와 dictionary의 조합:
리스트안에 딕셔너리가 들어있는 형태
people = [
{'name':'bob','age':27}, #0번째
{'name':'john','age':30} #1번째
]
print(people[1]['age'])
결과: 30
Quiz
smith의 science 점수를 출력하기
people = [
{'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
{'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
{'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
{'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]
result = people[2]['score']['science']
print(result)
결과: 90
조건문 if/else/elif
: 조건을 주어 그 조건에 맞는 결과값을 출력
- 들여쓰기 중요!!
- elif는 여러번 쓸 수 있음
money = 5000
if money > 3800:
print('택시를 타자')
elif money > 1200:
print('버스를 타자')
else:
print('걸어가자')
반복문 for
: 조건을 만족할 때까지 어떤 동작을 반복
fruits = ['사과','배','감','수박','딸기']
for fruit in fruits:
print(fruit)
- 리스트의 요소를 출력할때 반복문을 많이 씀
- enumerate() 요소의 순서를 알려줌
people = [...] for i, person in enumerate(people): name = person['name'] age = person['age'] print(i, name, age)
결과: 0 bob 20 1 carry 38 2 john 7 3 smith 17 4 ben 27 5 bobby 57 6 red 32 7 queen 25
- break 조건이 맞지않으면 빠져나오기
ii=[1,2,3,4,5,6,7,8] for i in ii: if i > 5: break print(i)
결과: 0 1 2 3 4 5
Quiz
20살이 넘는 사람의 이름과 나이 출력하기
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
리스트에서 짝수만 출력하는 함수 만들기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
for i in num_list:
if i%2 == 0:
print(i)
결과: 2 6 2 4 6 2 4
리스트에서 짝수의 개수 출력하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
count = 0
for i in num_list:
if i%2 == 0:
count += 1
print(count)
결과: 7
리스트 안에 있는 모든 숫자 더하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
sum = 0
for i in num_list:
sum += i
print(sum)
결과: 38
리스트 안에 있는 자연수 중 가장 큰 숫자 구하기
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
max = 0
for i in num_list:
if i > max:
max = i
print(max)
결과: 6
함수 def
: 프로그래밍에서의 함수는 같은 동작을 한다는 의미이다.
def hello():
print('안녕!')
print('좋은날씨야')
hello() //함수실행
결과:
안녕!
좋은날씨야
def sum(a,b):
print('더하기를 하셨네요!')
return a+b
result = sum(1,2) #1이 a에, 2가b에 들어감
print(result)
결과: 더하기를 하셨네요! 3
- if문을 여러번 쓰지 않아도 함수의 파라미터만 바꿔 쓸 수 있어 편리함
def bus_rate(age):
if age > 65:
print('무료입니다')
return 0
elif age >20:
print('성인입니다')
return 1200
else:
print('청소년입니다')
return 750
myrate = bus_rate(60)
print(myrate)
- int("")를 이용하여 문자열을 숫자로 바꿀 수 있음
int("2")
Quiz
주민등록번호를 입력받아 성별을 출력하는 함수만들기
def number(abc):
gender = abc.split('-')[1][:1]
if int(gender)%2 == 0:
print('여자입니다')
elif int(gender)%2 == 1:
print('남자입니다')
else:
print('오잉')
number('981210-2111111')
- venv: 가상환경폴더
- Run: 실행하기
- 메모리에 올려둔다:
- tab 들여쓰기/shift+tab 들여쓰기 취소
- 객체지향적: 물체에다가 물체에 관련된 속성들을 넣어두고 컨트롤 할 수 있는 함수들을 만들어 붙여주고 중앙에서는 그 함수만 불러다가 그 물체를 제어하는 것
특강(좋은 개발자의 비밀)
* 상대방의 기간은 내시간 많큼 중요하다
=> 모르는부분을 물어볼 때 어떤시도를 해봤고 어떤결과가 나왔는지 타임라인으로 정리하여 보여준다면 시간을 낭비하지도 않고 상대방도 좋아한다.
* 고민의 흔적을 글로 남겨볼 것
=> 에러 메세지를 읽고 고민해보고 이를 글로 남기기
* 불편한 것들을 '컴퓨터가 해줄 수 있을까?' 고민/실행
=> 알고있습니다 보다는 해보았습니다가 좋다, 코드를 이해하지 못하고 복붙만 한 것은 너무 좋지않다 나를 깍아먹는것, 아이디어를 많이 생각해보고 실행해보기
* 영어 공부하기
=> 최신 소식은 영어권이나 러시아 쪽에서 빠르게 업뎃됨, 그들의 표현과 사고, 문화 들을 흡수해야하기 때문에,
* 도전해보겠다는 의지
* 겸손함, ~도해봤고, ~도해봤습니다 보단 프로젝트를 해보면서 팀원들의 소중함을 알게 되었습니다. 이슈나 에러를 팀원들과 어떻게 해결해 나갔는지,
* 분위기 메이커 '팀분위가 좋은팀이 결과물도 좋다'
=>가장 중요한 것은 소통!!, 일정을 정확하게 전달
문제 (해결하기 어려웠던 일이나 에러)
시도 (문제가 생긴 이유와 해결하기 위해 시도해본 것들)
해결 (최종적으로 해결이 되었을 때 시도한 것 정리)
마무리 (내가 새롭게 알게 된 것이나 짧은 정리)
'TIL' 카테고리의 다른 글
[TIL]2023.03.22 / 파이썬 기초 중 심화 / (0) | 2023.04.29 |
---|---|
[TIL]2023.03.21 / 파이썬 기초 정리 (0) | 2023.04.29 |
[TIL]2023.03.17 / 팀 소개 웹 사이트 project 마무리 /발표 (0) | 2023.04.26 |
[TIL]2023.03.16 / 팀 소개 웹 사이트 project (스크롤 이벤트 추가/버튼 클릭 시 배경 변경) (0) | 2023.04.26 |
[TIL]2023.03.15 / 팀 소개 웹 사이트 project (스크롤 이벤트) (0) | 2023.04.26 |