반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- springboot
- ioredirection
- devops #engineer
- bash
- multivm
- RSS
- 쿠버네티스
- variable
- python
- httpd실행
- container
- Engineer
- Strimzi
- Kubernetes
- namespace
- WEB
- docker
- devops #jenkins
- 도커
- 컨테이너
- 파이썬
- DOIK
- aws #engineer
- Vagrant
- nginx
- java
- 초간단파이썬
- mongodb operator
- k8s
- linux
Archives
- Today
- Total
샤인의 IT (막 적는) 메모장
[Python] 초보자도 간단히 단숨에 배우는 파이썬(책) 내용 정리 본문
반응형
오랫만에 파이썬 보다보니 기본을 다질 필요가 있어 책을 보고 정리하였는데,
조인석님의 초간단 파이썬은 하루면 뚝-딱 할 수 있을 정도로 쉽게 정리가 잘 되어 있는 책인 것 같다.
또한, 처음 보는 사람도 몇일만 봐도 처음 시작해도 이해하기 좋을 정도로 심플하면서 딥하지 않게 그냥 보기 좋게 구성되어 있다.
뒷부분에 분석 관련해서 기본적인 사용하는 툴 Jupyter와 파이썬 라이브러리 설명이 나오는데 생략하였다.. (pandas, numpy, matplotlib)
파이썬 설치
brew info python
brew install python3
pyenv install 3.10.1
입력과 출력
# 입력은 input 출력은 print 함수를 사용한다.
x = 'Hello World'
print(x)
name = input('what is your name?')
print(name)
name = input('what is your name? ')
account_id = input('what is your account id? ')
email = input('what is your email address? ')
print('Name : ', name)
print('account id : ', account_id)
print('email : ', email)
문자열
# 작은 따옴표 혹은 큰 따옴표 기호로 감싸야 함
# 기본적으로 작은 따옴표를 많이 사용한다고 함.
# 특수 기호를 넣을 때는 백슬래시를 사용
print('Hello \\'World\\'')
# 문자열을 여러줄 표시할 경우
# """ ''' 로 표현한다
# 중요한 점은 """ 부터 첫째줄로 시작해서 다음줄로 넘어갈 경우 첫줄은 공백
text = """첫번째 줄
두번째 줄
세번째 줄"""
print(text)
# 문자열 수 출력할 경우 len() 함수 사용
# 문자열을 더하거나 반복할 경우 +,*로 가능함
텍스트 = '훈민정음'
print(텍스트 + '입니다.')
print(텍스트 * 5)
# f스트링 사용하기
name = input('what is your name?')
message = f'my name is {name}'
print(message)
숫자
# 정수 + 정수 = 정수
# 정수 + 실수 = 실수
# + - * / //(몫) %(나머지)
# =는 대입연산자로 수학적 기호 같다와는 의미가 다름, 대입이라 생각하면 될 듯
# 변수명을 지정할 때 소문자와 _(언더 스코어)로 대부분 지정
# 주의해야할 경우! 문자열을 연산할 경우
x = input('input your number : ')
print(float(x) + 100)
# 문자형을 바꿀 경우 int(), float(), str() 등등을 이용하자!
논리연산
# < > <= >= == != 논리연산자
# if문 사용법
if 조건:
조건이 맞을 경우 실행할 코드
# if 예제
# if문을 사용할 때는 보통 else를 사용하는 것이 좋다
x = True
if x == True:
print('This is True!')
else:
print('This is not True!')
# 조건을 정교하게 사용할 경우 if elif else 사용하기
x = input('input Y/N')
if x == 'Y':
print('This is Y')
elif x == 'N':
print('This is N')
else:
print('not valid character!')
반복
# while 반복문
# 중요한점은 while 반복 조건인데 어떠한 조건이 만족할 때까지로 정의해야 함.
while 반복 조건:
if:
조건 코드
else:
# continue 반복문의 처음으로 다시 돌려보냄
# break 문은 while 반복문을 빠져 나올 때 사용한다.
# for문은 특정 원하는 횟수나 범위만큼 실행할 경우 사용함
# range()를 통해서 특정 범위 설정, 사용 범위 주의! 1보다 작음 0부터 시작임
# break, continue 구문도 조건에 넣어서 반복시킬 수 있음.
for word in '안녕하세요.':
print(word)
for i in range(10):
print(i)
has_owner = ''
while has_owner != '예':
is_space = input('우주 정거장에 도착했나요? (예/아니오)')
if is_space == '예':
print('처음으로 돌아갑니다.')
continue
has_owner = input('땅 주인이 있나요? (예/아니오)')
if has_owner == '예':
print('통행료를 지불하세요.')
else:
print('야호 그냥 통과!')
print('주사위를 던져서 다음 땅으로 이동하세요')
print('프로그램을 종료합니다.')
for x in range(1, 10):
for y in range(1,10):
print(x, 'X', y, '=', x*y)
데이터 나열
# 튜플과 리스트를 통해 데이터를 나열할 수 있음
# 튜플은 ()에 데이터를 나열한 값, 변경이 불가능 함. 인덱스 표기할 경우 0,1,2,3 / -4,-3,-2,-1로 표기함
# len() 함수를 통해 배열의 수를 확인할 수 있음
# 튜플을 언패킹 하는 방법
number = (1,2,3,4)
one, two, three, four = number
# 리스트도 튜플과 비슷하지만 데이터를 변경할 수 있음 []를 사용
# 리스트에 데이터를 추가할 경우 append()를 통하여 데이터 추가
mydata.append(5)
# 리스트에 데이터를 삭제할 경우
mydata.remove(5)
# 리스트 특정 위치에 데이터를 추가할 경우 insert() 사용
# 인덱스 4번에 5 정수를 추가하는 예제
mydata,insert(4, 5)
# 리스트에서 특정 데이터를 빼낼 경우 pop() 사용
# 인덱스 4번 데이터를 뺴내는 예제
mydata.pop(4)
# 리스트 내 데이터를 정렬할 경우 sort()를 사용하며 기본적으로 오름차순, sort(reverse=True)는 내림차순으로 정렬
# 리스트에 모든 데이터를 제거할 경우 clear() 함수 사용
# 기본적으로 튜플은 서로 다른 타입의 데이터를 저장할 때 사용하며, 리스트는 동일한 자료형을 표현할 때 사용한다.
리스트 가지고 놀기
# 리스트를 자를 경우 변수에 [:]를 통하여 데이터를 자름
# 리스트의 1번 인덱스부터 시작하여 3번 인덱스보다 작은 데이터를 출력
data[1:3]
# 리스트의 1번부터 끝까지 출력
data[1:]
# 리스트의 1번까지 출력
data[:1]
# 새 변수에 리스트를 저장할 경우
mydata = data
mydata = data[:]
#리스트를 합칠 경우 + 연산자를 통하여 두 리스트를 합친다 또는 extend() 함수를 사용한다.
# 새로운 변수로 저장할 경우 연산 기호를 사용하지만 기존 변수의 데이터만 사용할 경우 extend() 사용
list = a + b
list = a.extend(b)
# 중첩 리스트는 리스트 안에 리스트가 들어간 방식
# 중첩 리스트 표현은 c[0][1] c[1][1] 이런식으로 표현 함.
# c의 출력값은 [[1,2],[3,4]]
a = [1,2]
b = [3,4]
c = a + b
#중첩 리스트는 for문과 아주 잘 사용한다..
for day_work in total_work:
for each_work in day_work:
print(each_work)
#변수에 저장된 리스트 데이터를 삭제할 경우 del을 사용함
del score[2]
#빈 리스트를 만들 경우
data = []
data = list()
세트와 딕셔너리
# 세트는 데이터 중복을 허용하지 않고 순서가 없는 데이터 타입으로 {}로 감싸서 사용
a = {1,2,3,4}
# 세트에 동일하게 값을 넣을 경우에 중복은 제거되고 표시됨.
# 빈세트를 만들 경우 set() 함수를 이용
# 세트에 데이터를 추가할 경우 add() 함수를 이용
# 세트에 항목 존제 유무를 확인할 경우 in 을 사용함
# 세트 내 데이터를 삭제할 경우 remove() 함수를 사용
# discard() 함수는 remove()와 비슷하지만 에러를 출력하지 않음
# 임의 항목 추출 시 pop() 함수 사용
# 세트 내 모든 데이터 제거 시 clear() 함수 사용
# 집합 연산 시 -, | , & , ^(여집합) 사용
# 딕셔너리는 정렬되지 않은 키:값 쌍으로 구성된 데이터 모음
programmer = {'Python':14, 'Java':9, 'C++':2}
# 항목 수 확인 시 len() 함수 사용
# 값 변경 시 혹은 데이터 추가 시
programmer['Python'] = 15
programmer['C'] = 5
# 딕셔너리의 키와 값 확인 시 keys(), values() 함수 사용
# 예로 키를 리스트로 변경 시
key_programmer = list(programmers.keys())
# 딕셔너리 항목 존재 확인 in
'Python' in programmer
# 딕셔너리 데이터 삭제 del
del programmer['C']
# 튜플을 딕셔너리로 바꿀 경우 dict()
dict([('Python', 10), ('Java', 9), ('C++', 2)])
# 리스트, 튜플, 딕셔너리 정렬 시 sorted() 함수를 사용한다.
sorted(progammer)
sorted(progammer, reverse=True)
# sort() 와 sorted()의 차이점은 sort는 기존 데이터를 변경하지만 sorted는 변경된 데이터를 새로 만들어줌
#
코드 재사용
# 함수 사용법
def func():
코드 입력
def add():
return a+b
# 인수를 추가하거나 반환 return을 사용하여 지정할 수 있음
# 클래스와 객체
# 클래스는 여러 개의 변수와 함수들을 모아 재사용 할 수 있는 기능을 제공
# 객체는 클래스의 유일한 식별자를 가지고 생성됨
# 클래스 안의 변수는 속성, 함수는 메소드라고 부름
# 클래스 사용법
class myClass():
코드 입력
# 클래스를 표기할 때는 단일이름으로 사용하며 언더스코어 기호를 이용하지 않음
# 클래스 초기화
class myClass():
def __init__(self, name):
self.name = name
# 클래스 변수는 클래스 안에 전부 동일한 변수 값을 가지며, 인스턴스 변수는 입력값에 따라 바뀜
# 모듈을 import를 사용하여 불러옴
# 모듈을 만들어 사용하고 싶다면 파이썬 설치경로에해당 py파일을 이동하여 import
# 모듈 경로가 변경되었을 때 재시작 없이 바로 업데이트 하는 방법
import imp
imp.reload(mymodule)
데이터 분석 맛보기
# 기존 데이터를 생성할 때 제어문을 사용하여 리스트를 만들 경우
squares = []
for x in range(10):
squares.append(x**2)
#바로 만드는 방법
squares = [ x**2 for x in range(10)]
# 중첩으로 만들 경우
# 튜플로 저장 됨
items = '가위', '바위', '보'
result = []
for a in items:
for b in items:
if a != b:
result.append((a,b))
# 결과 (a,b)를 소괄호로 묶어야 함
result = [(a,b) for a in items for b in items if a!=b]
#세트도 동일 함
a = {x for x in 'abracadabra' if x not in 'abc'}
#딕셔너리
squares = {}
for x in (2,4,6):
squares[x] = x**2
squares = {x: x**2 for x in (2,4,6)}
#random() 함수 사용
import random as rd
rd.ramdomrange(10)
#나머지는 데이터 분석 numpy, pandas, matploglib 등등..
반응형
'Programming > Python' 카테고리의 다른 글
[Python] 함수 (0) | 2021.04.06 |
---|---|
[Python] 제어문 (0) | 2021.03.26 |
[Python] 조건문 (0) | 2021.03.26 |
[Python] 문자열 관련 인덱싱 및 슬라이싱 (0) | 2021.03.26 |
[Python] 연산자 (0) | 2021.03.26 |
Comments