데이터 1주_파이썬 기초1~6

ka02·2023년 3월 5일

data, python

목록 보기
1/3
  • 데이터 1주: 파이썬 기초 1~6
  • 3/1(수)~3/5(일)
  • 우선 직장인 선발대로 참여해서 2월부터 강의를 시작할 수 있었지만, 커리큘럼을 보니 그렇게 많이 강의를 듣진 못한 것 같다.. 2월 한달 동안 Python 기초와 기초문제풀이, 기초수학(실습없이 들을 수 있어서 이동시간에 미리 들었다.)까지 들었고, Python 중급과 중급문제풀이도 얼른 들어야겠다.
  • 진도에 맞춰서 1주차에 들어야 할 부분을 복습하며 velog를 작성해보려고 한다!

기초1
01파이썬 소개 ~ 03프로그램 실행 과정

01파이썬 소개

파이썬 python

  • 1991년 네덜란드 개발자 귀도 반 로섬이 만듦.
  • 소규모 프로젝트에 사용하기 위해서 시작된 언어에서 인기를 얻어 완성도가 높아짐.
  • 구글은 자바+파이썬을 메인언어로 사용

특징

  • 무한 정수를 처리할 수 있다.
  • 문법 구조가 쉽다.
  • 다양하고 뛰어난 모듈이 많다.

파이썬 설치 후 명령 프롬프트로 실행하는 방법: Window+R > CMD > python

02처음 만들어보는 프로그램, 03프로그램 실행 과정

파이썬 셸을 이용한 코딩

  • 실행 방법: Windows 검색을 이용해 python 검색 -> IDLE 실행
  • 파이썬 셸은 간단한 코드를 작성하는 경우 사용
    파이썬 IDLE(Integrated Development and Learning Environment)은 파이썬 '통합 개발 환경' 툴로 우리말로 '아이들'이라고 부름. 코드작성, 디버깅, 실행 등을 위한 툴 -> '코딩 툴'이라고 생각


L: 코드 편집기를 이용한 코딩(IDLE Shell-File-New File-작성-Save-Run Module(F5)) -> 결과를 R에 === 이후로 Shell모드에서 확인 가능
R: 파이썬 셸을 이용한 코딩 === L 코드 편집기를 이용한 코딩 출력 결과

기초2~3
04PyCharm 설치 ~ 12자료형 변환(그외 데이터)

04PyCharm 설치

  • PyCharm 설치: PyCharm 검색해서 설치하기

05데이터와 메모리 그리고 데이터 출력

  • 데이터: 숫자, 문자, 음원/영상/이미지 등 -> 관찰이나 측정을 통해 수집된 데이터
  • 메모리: 데이터를 저장
  • 실행: PC에서 실행 (파이참에서Ctrl+Shift+F10)

06변수, 07변수를 사용하는 이유, 08변수명은 이렇게 하세요

  • 변수: 데이터가 저장되어 있는 메모리 공간
    ex) number(변수선언) = 10(변수 초기값) -> 10을 number에 할당함
  • 변수를 사용하는 이유: 주로 데이터를 재사용하기 위한 목적으로 사용, 프로그램을 보다 효율적으로 관리할 수 있음
  • 변수명: 영문사용, 첫번째는 소문자, 데이터의 의미를 파악할 수 있는 명사 사용, 카멜표기법(customerBank) or 스네이크표기법(customer_bank), 예약어 사용 금지, 특수문자 사용 금지(언더바는 가능), 공백 금지, 숫자는 사용해도 되지만 첫번째는 금지

초반엔 변수 선언하는게 낯설었는데 진도를 진행할 수록 변수에 할당하는 것이 나중에 출력할 때 더 편리함을 느껴가고 있다. 의식적으로 변수 선언해서 계산하려고 노력중!

09자료형, 10자료형 변환(문자), 11자료형 변환(숫자), 12자료형 변환(그외 데이터)

  • 자료형: 효율적인 메모리 사용을 위해 데이터를 구분
  • 정수 int, 실수 float, 문자 str, 논리형 bool(T or F)
  • print(type(변수))를 통해 type 확인 가능
  • 자료를 문자, 숫자로 변환 가능 (ex: var = int(var)// var = '100' 문자였으나 int로 정수로 바꿈)

계속 사용하는 거라 뒤로 갈수록 조금 익숙해짐!

기초4
13데이터 입력 ~ 16산술 연산자(덧셈, 뺄셈)

13데이터 입력, 14데이터 출력, 15format()와 형식문자, 16산술 연산자(덧셈,뺄셈)

  • 데이터 입력 input() -> 데이터는 항상 문자열 str
userInputData = input('키보드를 통해서 데이터를 입력하세요.')
print(userInputData)
  • 형 변환 함수 사용하기 int, float, bool
userInputData = int(input('키보드를 통해서 데이터를 입력하세요.'))
print(userInputData)
  • 데이터 출력
    1) print()함수 ex) print(변수)
    2) 콤마를 이용한 데이터 연속 출력 ex) print('user name:', 변수, ', user age:', 변수)
    3) 포켓 문자열 ex)
print(f'User name : {userName}')
print(f'User age : {userAge}')

print(f'User name : {userName}')
  • \t 탭, \n 개행

정말 많이 사용하는 input, print, format() // 이렇게 보는 것보다 실제로 해보는 게 더 유용했다. 아직도 익숙하진 않지만.. 포켓문자열이 아직 좀 안쓰게 된다..

  • format()함수
print(‘User name : {}’.format(userName))
print(‘User name {}, User age: {}’.format(userName, userAge))
  • 형식 문자를 이용한 데이터 출력
    %s -> 문자열
    %d -> 정수
    %f -> 실수

  • 소수점 자릿수 정하기
    %.nf -> 소수점 n자리 표현

  • 연산자란?
    result = data1 + data2
    data1 = 피연산자

  • 연산자 종류?
    산술 연산자: +, -, , /, %, //, **
    할당 연산자: =, +=, -=,
    =, /=, %=, //=,
    비교 연산자: >, >=, <, <=, ==, !=
    논리 연산자: and, or, not

  • 덧셈 연산자: 정수 / 실수 / 정수와 실수 / 문자 덧셈 O
    숫자와 문자를 이용한 덧셈은 X

  • 뺄셈 연산자: 정수 / 실수 / 정수와 실수 뺄셈 O
    문자를 이용한 뺄셈(typeError)

기초5
17_산술연산자(곱셈과 나눗셈) ~ 20 복합연산자

17~19산술 연산자(곱셈, 나눗셈, 나머지와 몫, 거듭제곱)

  • 곱셈 연산자: 숫자(정수,실수) / 문자 곱셈 O

  • 나눗셈 연산자: 숫자(정수, 실수) / 0을 나눗셈 O
    0을 나눗셈 하면 항상 결과는 0
    0으로 나누는 경우는 X
    나눗셈 결과는 항상 float

  • 나머지와 몫
    나머지: num1 % num2
    몫: num1 // num2

  • 나머지와 몫을 한번에 구하기
    divmod()함수

result = divmod(num1, num2)
print('result: {}'.format(result))
print('몫: {}'.format(result[0]))
print('나머지: {}'.format(result[1]))

divmod()함수 기억하기. 뒤에 응용할 때 계속 잊어버려서 찾아보면서 하는중..

20복합연산자

+= 덧셈연산 후 할당
-= 뺄셈연산 후 할당
*= 곱셈 연산 후 할당
/= 나눗셈 연산 후 할당
%= 나머지 연산 후 할당
//= 몫 연산 후 할당
**= 거듭제곱 연산 후 할당

기초6
21_비교 연산자(숫자비교) ~ 24_operator 모듈

21비교연산자(숫자비교), 22비교연산자(문자비교)

  • 숫자비교(연산결과는 bool이라서 True or False로 출력)
num1 = 10; num2 = 5
result = num1 > num2
print(‘num1 > num2 : {}’ .format(result))

result = num1 >= num2
print(‘num1 >= num2 : {}’ .format(result))

result num1< num2
print(‘num1 <= num2 : {}’ .format(result))

result = num1 >= num2
print(‘num1 >= num2 : {}’ .format(result))

result = num1 == num2
print(‘num1 == num2 : {}’ .format(result))

result = num1 != num2
print(‘num1 != num2 : {}’ .format(result))
  • 문자비교: 아스키 코드를 이용한 비교 연산
  • 문자와 아스키 코드 변환
  • 문자열 비교: 문자열 자체 비교

23논리연산자

  • 논리 연산자: 피연산자의 논리(T or F)를 이용한 연산
    종류: and, or, not
  • and 연산: A and B // A와 B 모두 T일 경우 결과값 T
  • or 연산: A or B // A와 B 어느 하나만 T이면 결과값 T
  • not 연산: not A // A의 상태를 부정

24operator 모듈

  • 모듈: 누군가 이미 만들어 놓은 기능을 무료로 사용 가능
    산술, 비교, 논리 연산자 관련 함수들이 있음
import operator

num1 = 8
num2 = 3

print('{} + {} : {}'.format(num1, num2, operator.add(num1, num2)))

operator 모듈은 다양한게 있는데 사용법만 알아두고 나중에 함수를 좀 더 공부하면 좋을 것 같음!

0개의 댓글