파이썬 기초1

InSung-Na·2023년 1월 4일
0

Part 01-1. Python Basic

목록 보기
1/4
post-thumbnail

해당 글은 제로베이스데이터스쿨 학습자료를 참고하여 작성되었습니다

📌Python

  • 네덜란드 출신 개발자 "귀도 반 로섬"이 만든 개발자를 위한 프로그래밍 언어
  • 인터프리터 언어
  • 매우 쉬운 문법 구조
  • 다양한 모듈 -> 매우 방대한 확장성
  • 머신러닝, 딥러닝 등 인공지능 분야 최고의 언어

📌Compiler vs Interpreter

프로그램을 실행시키기 위해서는 코딩(프로그래밍언어로 프로그램을 작성하는 것)을 하고 입력한 소스코드를 기계어로 바꾸어서 실행시키는 작업을 거쳐야 한다. 이 방법에는 대표적으로 Compiler와 Interpreter가 있다.

1) Compiler

(출처 : 제로베이스데이터스쿨)

  • 개발편의 낮음, 용량감소, 실행속도 상승
    -> 실행파일을 별도로 생성함
    -> 개발 중 테스트마다 컴파일 수행으로 개발속도 저하
    -> 완성된 실행파일만 있으면 작업가능하므로 용량감소, 실행속도 상승
  • ex) C/C++, Java 등

compiler : 어떤 언어를 다른 언어로 변환하는 compile를 수행하는 주체

2) Interpreter

(출처 : 제로베이스데이터스쿨)

  • 개발편의 높음, 용량증가, 실행속도 감소
    -> 소스파일에서 한줄씩 번역하여 수행
    -> 테스트 과정이 수월함
    -> 실행시 작성한 모든 파일이 있어야하므로 용량증가, 실행속도 감소
  • ex) Python, JavaScript, SQL 등

interpreter : 번역가,해석기

3) 정리

Compiler는 Low Level Language로 개발은 느리지만, 수행에는 유리하다.
그렇기 때문에 반도체, 의료 등 데스크탑이나 노트북이 아닌 기계를 사용하는 분야는 주로 C/C++, C# 등을 사용한다.

Interpreter는 High Level Langugage로 compiler와 반대이다.
Python은 주로 데이터와 머신러닝, 딥러닝분야에 사용된다.


📌변수명 작명법

  • 영문사용 -> 한글도 사용가능하지만 일부오류가 있을 수 있음
  • 첫번째는 소문자(대문자는 클래스)
  • 첫번째 숫자금지
  • 데이터의 의미를 알 수 있는 명사
  • 예약어(파이썬에서 이미 예약된 단어) 사용금지
  • 공백문자 사용금지
  • 카멜표기법 or 스네이크표기법
PythonVariable = '카멜표기법'
# 띄워쓰기를 하는 부분에 대문자를 사용하는 방식
python_variable = '스네이크표기법'
# 언더바(_)로 띄워쓰기를 대신하는 방식

📌자료형 변환(Type Casting)

  • 각 데이터의 자료형을 변환할 수 있다.
  • 아래와 같은 방법으로 바꾸고 싶은 데이터 앞에 int(정수), float(실수), str(문자) 등을 입력하면 해당 자료형으로 변경된다.
  • 논리값 True/Flase는 1/0으로 변환가능하다.
  • 특정데이터가 존재하면 논리값은 True(1)이다.
  • 단, 알파벳을 숫자형으로 바꾸는 등의 불가능한 것은 안된다.
  • float를 int로 바꾸면 정수미만의 값은 버린다.

1) 단순자료형 변환

📝입력

inum = 100
print(inum)
print(type(inum))

fnum = float(inum)
print(fnum)
print(type(fnum))

snum = str(inum)
print(snum)
print(type(snum))

flag = True
print(flag)
print(type(flag))

str_flag = str(True)
print(str_flag)
print(type(str_flag))

🧾출력

100
<class 'int'>
100.0
<class 'float'>
100
<class 'str'>
True
<class 'bool'>
True
<class 'str'>

2) 논리자료형 변환

📝입력

flag = True
print(int(flag))
flag = False
print(int(flag))

var = '데이터있다'
print(var)
print(bool(var))

var = ''
print(var)
print(bool(var))

var = ' '		# 공백문자도 데이터이다
print(var)
print(bool(var))

🧾출력

1
0
데이터있다
True

False
 
True

📌데이터입출력

1) input()

  • input()으로 받은 데이터는 모두 문자형(str)이다.
  • 주로 자료형변환과 함께 사용된다.

📝입력

userInput = input('데이터를 입력하세요 : ')
print(userInput)
print(type(userInput))
print('정수로 자료형변환')
print(type(int(userInput)))

🧾출력

데이터를 입력하세요 : 10
10
<class 'str'>
정수로 자료형변환
<class 'int'>

2) print()

출력의 여러가지 방식

  • 일반입력방식
  • 콤마(,) : 데이터 사이에 공백문자가 생성
  • format방식 : 중괄호{} 위치에 데이터를 넣는 방식

📝입력

userName = '홍길동'
print(userName)

print('User name : ', userName)

print('User name : ' + userName)

print('user name : {}'.format(userName))

print('자동개행을 하지 않는 방식', end='')
print(' 이러면 자동개행이 안되죠')

num = 10
print(num, end='개\n')
print(str(num)+'개')

print(f'User name : {userName}')

num1 = 10
num2 = 11.1
print('num1 + num2 = {:5.3f}'.format(num1+num2))
print(f'num1 + num2 = {(num1+num2):5.3f}')
print(f'num1 + num2 = %.5f' %(num1 + num2))
print(f'num1 + num2 = %f' %(num1 + num2))

🧾출력

홍길동
User name :  홍길동
User name : 홍길동
user name : 홍길동
자동개행을 하지 않는 방식 이러면 자동개행이 안되죠
1010개
User name : 홍길동
num1 + num2 = 21.100
num1 + num2 = 21.100
num1 + num2 = 21.10000
num1 + num2 = 21.100000

특수문자

\t : 탭 입력
\n : 개행
\' : ' 입력
\" : " 입력

형식문자

%s : 문자열
%d : 정수형
%f : 실수

📝입력

userName = '홍길동'
userAge = 25
print('User name : %s' % userName)
print('User age : %d' % userAge)
print('User name : %s, User age : %d' % (userName, userAge))

print("Pi : %f" % 3.14)
print("Pi : %d" % 3.14)

🧾출력

User name : 홍길동
User age : 25
User name : 홍길동, User age : 25
Pi : 3.140000
Pi : 3

0개의 댓글