[Zero-Base DS]스터디노트 1주차

HAHAHAEUN·2024년 3월 17일

1주차 강의 주요 내용(파이썬 기초)

  1. 파이썬 소개
  2. 변수
  3. 자료형
  4. 데이터 입력, 출력
  5. format()와 형식문자
  6. 연산자(산술, 복합, 비교, 논리)
  7. operator 모듈
  8. 조건식(if, if~else, 다자택일, 중첩)
  9. 반복문(for, while, 무한루프, break, range)

파이썬 소개

  • 1991년 네덜란드 개발자 귀도 반 로섬이 만듦
  • 'python'이란 이름은 귀도 반 로섬이 좋아하는 프로그램에서 유래됨
  • 특징
    1. 무한 정수를 처리할 수 있다
    1. 문법 구조가 쉽다
    2. 다양한 모듈이 있다

변수

  • 변수 : 데이터가 저장되어 있는 메모리 공간
    주로 데이터를 재사용하기 위한 목적으로 사용
  • 변수 선언 및 초기화
  • 변수를 초기화 하지 않을 경우, 에러 뜸
  • 변수 작명법
  1. 영문 사용
  2. 첫 번째는 소문자 사용(숫자 불가)
  3. 가급적 데이터의 의미를 파악할 수 있는 명사 사용
  4. 카멜표기법 또는 스네이크 표기법 사용

    카멜 표기법: customerBankAccount
    스네이크 표기법: customer_bank_account

  5. 예약어(파이썬에서 이미 예약된 단어) 사용 금지
  6. 특수문자 사용 금지(단, 언더바(_)는 사용 가능
  7. 공백문자 사용 금지

자료형(Data type)

  • 정수 : 메모리가 허용되는 한 무한 사용 가능
  • 실수 : 대략 소수점 이하 17~18번째에서 데이터 손실이 일어남
  • 숫자도 따옴표로 묶으면 문자(열)로 인식
  • 논리형 : True(참), False(거짓)을 구분하기 위한 자료형
  • 자료형 변환

데이터 입력, 출력

  • input()함수를 이용한 데이터 입력
userInputDate = input('데이터를 입력하세요.')
→ 데이터를 입력하세요
  • print()함수를 이용한 데이터 출력
userName = '홍길동'
print(userName)
→ 홍길동
  • 특수문자
  1. /t: 탭
  2. /n: 개행

format()함수

  • foramt()함수를 이용한 데이터 출력
print('User name: {}'.format(userName))
print('User age: {}'.format(userAge))
print('User name: {}, User age: {}'.format(userName, userAge))
→ User name: 홍길동
→ User age: 20
→ User name: 홍길동, User age: 20
  • format()함수의 인덱스를 이용한 출력
print('나의 이름은 {0}이고, 나이는{1}살 입니다.'.format(userName, userAge))
→ 나의 이름은 홍길동이고, 나이는 20살 입니다.
  • 형식문자
  1. %s → 문자열
  2. %d → 정수
  3. %f → 실수
    • 소수점 자리수 정하기
      %.nf → 소수점 n자리 표현
print('User name: %s' % userName)
print('User age: %d' % userAge)
print('Pi: %f' % 3.141592)
print('Pi: %.2f' % 3.141592)
→ User name: 홍길동
→ User Age: 20
→ Pi: 3.141592
→ Pi: 3.14

연산자

  • 연산자란?
  • 연산자 종류
    • 숫자와 문자를 이용한 덧셈은 불가능
    • 문자(열)을 이용한 뺄셈은 불가능
    • 0을 나눗셈 하는 경우: 결과 항상 0
    • 0으로 나누는 경우: 'ZeroDivisionError'
    • 나눗셈 결과는 항상 float
  • 나머지 연산자(%, /, divmod)
    • %: 나머지만 구함
    • /: 몫만 구함
    • divmod: 나머지와 몫을 한번에 구함
num1 = 10
num2 = 3
result = divmod(num1, num2)
print('result: {}'.format(result))
print('몫: {}'.format(result[0]))
print('나머지: {}'.format(result[1]))
→ result: (3, 1)
→ 몫: 3
→ 나머지: 1
  • 거듭제곱 연산자
num1 = 2
num2 = 3
result = num1 ** num2
print('num1: {}'.format(num1))
print('num2: {}'.format(num2))
print('result: {}'.format(result))
→ num1: 2
→ num2: 3
→ result: 8
  • 제곱근

  • 복합 연산자

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

  • 논리 연산자

operator 모듈

  • 모듈: 누군가 이미 만들어 놓은 기능

조건식

  • 조건식: 어떤 조건에 따라 실행이 분기 되는 식
num1 = 10
num2 = 100

numResult = True if num1 > num2 else False
print('num1 > num2 : {}'.format(numResult))
print('num1은 num2보다 크다.') if numResult else print('num1은 num2보가 크지 않다.')
→ num1 > num2 : True
→ num1은 num2보다 크다.

조건문(if, if else, if elif)

  1. if 문: 단일조건
  2. if ~ else문: 양자택일
  3. if ~ elif문: 다자택일(다중조건)

    다자택일 주의 점

    • 조건식 순서 check 필요
    • 조건 범위를 명시해야 함

조건문(중첩)

반복문

  • 반복문: 특정 실행을 반복하는 것
    • 반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다

반복(for문, 횟수에 의한 반복)

  • range() : 범위 지정
    • 단계가 1인 경우 마지막 생략 가능
    • 시작이 0인 경우 생략 가능
      for i in range(1, 11):  ## 1부터 10까지 1씩 증가
      print(i)
      for i in range(11):  ## 0부터 10까지 1씩 증가```

반복(while문, 조건에 의한 반복)

무한 루프(무한 반복)

  • 무한 루프: 반복문을 빠져나올 수 없는 경우

반복문 제어(continue)

반복문 제어(break)

중첩 반복문

  • 반복문 안에 또 다른 반복문을 선언
for i in range(1, 10):
	for j in range(i):
    	print('*', end='')
    print()

실행 결과:

자료 출처: 제로베이스 데이터 스쿨 강의

profile
할 거면 제대로 하자

0개의 댓글