Study. Python
[Python 기초 교육 내용 정리]
📌for 반복문
# 1부터 100가지의 짝수의 합
hap = 0 # 누적합 변수의 초기화
for i in range(0, 101, 2):
hap += i #hap = hap + i
print(hap)
- 위와 같이 누적합을 구할 때는 꼭 변수를 초기화시켜주어야 함
📌자료구조
- 한꺼번에 모아둔 느낌
1) 리스트(list)
- 순서 O
- 수정 O
- [] 사용
#aa = [] #빈 리스트
aa = [10, 20, 30, 40, 50, 60, 70]
# len(aa) # len: 총개수 = 길이
#인덱싱
print(aa[0])
print(aa[-1]) # == print(aa[6])
#슬라이싱
print(aa[:4]) # == print(aa[0:4:1])
print(aa[4:0:-1])
print(aa[:]) # == aa[0:len(aa)] == aa[:len(aa)] 처음부터 끝까지
print(aa[::-1]) #거꾸로 끝부터 처음까지
- append() 함수
# 주문리스트에 "바닐라라떼" 추가하기
print(order)
order.append("바닐라라떼") #.append() => 리스트에 값 추가
print(order)
['아이스아메리카노', '돌체라떼', '그린티푸라푸치노']
['아이스아메리카노', '돌체라떼', '그린티푸라푸치노', '바닐라라떼']
print(order)
order.sort(reverse=True) #reverse=True => 역순으로 정렬
print(order)
['그린티푸라푸치노', '돌체라떼', '바닐라라떼', '아이스아메리카노']
['아이스아메리카노', '바닐라라떼', '돌체라떼', '그린티푸라푸치노']
- for문과 range
aa = [10, 20, 30, 40, 50]
for i in range(0, 5, 1):
print(aa[i])
10
20
30
40
50
aa = [10, 20, 30, 40, 50]
for i, a in enumerate(aa, start=1): # start=1 => 1부터 시작
print(i, a)
1 10
2 20
3 30
4 40
5 50
- 리스트 컨프리헨션(list comprehension)
1) 일반적인 방법
# 화씨온도를 섭씨온도로 변경하기
# 섭씨온도 = 화씨온도 * 9/5 + 32
temp = [0, 10, 15, 32, -5, 27, 3]
temp2 = [] #appends
hwa = 0
for t in temp:
temp2.append(t* 9/5 + 32 )
print(temp2)
2) 새롭게 배운 방법 (for과 if를 안에서 한 번에 다 해결하는 방법)
temp = [0, 10, 15, 32, -5, 27, 3]
temp2 = [t* 9/5 + 32 for t in temp if t > 10.0] #temp에서 t를 하나씩 가져와서 10.0보다 큰지 확인하고 크면 (t* 9/5 + 32) 계산
print(temp2)
2) 튜플(tuple)
- 순서 O
- 수정 X
- () 사용
- append() 함수 사용 불가능
aa = [10, 'abc', True]
bb = [10, 10, 10]
aa + bb
[10, 'abc', True, 10, 10, 10]
3) 딕셔너리(dictionary)
- 순서 X
- {} 사용
- key와 value가 한 쌍
emp = {'사번': 1000, '이름':'이이이', '부서':'전산실', '연봉':5000}
print(emp)
print(type(emp)) # type 확인
{'사번': 1000, '이름': '이이이', '부서': '전산실', '연봉': 5000}
<class 'dict'>
- key값을 이용하여 value값 출력
emp['연봉']
5000
- key와 value 추가
emp['주소'] = '대구'
print(emp)
{'사번': 1000, '이름': '이이이', '부서': '전산실', '연봉': 5000, '주소': '대구'}
- key와 value값 따로 모으기
emp.keys() #key값만 모으기
dict_keys(['사번', '이름', '부서', '연봉', '주소'])
emp.values() #값만 모으기
dict_values([1000, '이이이', '전산실', 5000])
- items()
emp.items()
dict_items([('사번', 1000), ('이름', '이이이'), ('부서', '전산실'), ('연봉', 5000), ('주소', '대구')])
- 깔끔하게 출력
for k, v in emp.items():
print(k, ":", v)
사번 : 1000
이름 : 이현정
부서 : 전산실
연봉 : 5000
주소 : 대구
📌 함수(function)
- 반복적인 작업을 뭉쳐서 코드를 간결하게 만들어주는 도구
- def function_name() : 의 양식으로 함수를 정의
- 함수 사용 예시
# 두 수를 입력받아 덧셈한 후 결과를 리턴해주는 사용자정의함수 생성
# 함수 이름 - myAdder()
# 입력 매개변수 - 2개 => v1, v2
# 출력값 - 입력받은 매개변수를 더한 값 = v1 + v2
def myAdder(v1, v2):
hap = v1 + v2
return hap
for i in range(3):
a, b = map(int, input("숫자 입력>").split())
res = myAdder(a, b)
print(res)
숫자 입력>32 12
44
- 람다 함수
- 함수의 이름 없이 사용할 수 있는 익명의 함수(그래도 이름은 있어야 가능)
f = lambda v1, v2 : v1 + v2 # v1, v2 부분은 입력, v1 + v2 부분은 연산 & 출력
f(10, 20)
30
- map()
list(map(int, ['10', '20'])) # 10과 20 둘 다 int를 취하라
[10, 20]
📌 모듈
- 함수 < 모듈 < 패키지
- 모듈의 종류
- 1) 내장 모듈 : import 모듈명
- 2) 사용자 정의 모듈 : import 모듈명
- 3) 외장 모듈 : pip install 모듈명 -> import 모듈명
🔷 로또 추첨기
# 한줄로 하는 로또 추첨
import random
random.sample(range(1, 46), 6)
🔷 모듈 import방법 4가지
# 1)
import random
random.randint(1, 6)
# 2)
import random as rd
rd.randint(1, 6)
# 3)
from random import randint
randint(1, 6)
# 4)
from random import *
randint(1, 6)
'🖊️Programming Language > 📌Python' 카테고리의 다른 글
[Python] Python을 이용하여 csv파일을 불러와서 전처리한 후, txt파일로 저장하기 (0) | 2021.09.09 |
---|---|
[Python] 파이썬 개념 Study (0) | 2021.06.28 |
[Python] 파이썬 개념 Study (0) | 2021.06.27 |
[Python] 파이썬 개념 Study (0) | 2021.06.27 |
[Python] 파이썬 개념 Study (0) | 2021.06.27 |
댓글