
- 모든 지식은 구글이 기억해 줍니다!
ㄴ 헷갈리거나 기억이 안날 때, 나중에 쉽게 찾기 위해서 키워드 위주로 정리되어 있습니다.(궁금한 부분은 cmd +f 또는 ctrl+f를 통해 검색)
ㄴ 본 블로그에 자세한 설명이 있다면 [자세히 알아보기] 항목을 누르시면 링크가 연결됩니다.
- 공부를 위해 해당 페이지를 보시는 중이라면 구글 코렙(Google Colab)에서 실행해 보시길 추천드립니다.
🏆 학습 목표
- 변수의 의미
- 데이터 타입
🧷 가져갈 키워드
int / float / str / bool / variable declaration / value assignment
📖 변수(Variable)란?
myNum = 4
# 변수명 = 데이터
- 데이터를 저장하는 공간
- 저장공간(Memory)에 값을 생성하고 이름(name)을 지정
+) 통계에서 매개변수/독립변수/종속변수/조절변수 등으로 인식을 확장할 수 있다. - 주로 대입연산자로서 '=' 를 사용하고 비슷하지만 다른기호인 '==' 는 비교연산자이다.
🍀Tip : Comment(주석)
# Python에서는 '#' 뒷부분을 실행하지 않음
# 그래서 개발자들이 서로 보기편하게 설명을 간단하게 표시
🍀Tip : print( )
- 해당 변수의 값을 출력
- 여러 변수일경우 ',' 을 통해 나열
- 설정
ㄴ sep : 구분자, 각 출력할 변수 사이에서 구별하는 역할을 함
ㄴ end : 마지막에 출력할 문자열
print(myNum)
# 출력 시 위에 변수로 입력한 4가 보이게 됨
print(myNum, 1, 2.6, sep='*', end='!!')
# 출력시 4*1*2.6!!
🍀Tip : format( )
print("I have a {}, I have an {}.".format("pen", "apple")) #I have a pen, I have an apple.
print("I have a {1}, I have an {0}.".format("pen", "apple")) #I have a apple, I have an pen.
pi= 3.1412
print (format(pi, ".2f")) #3.14
✏️ 변수 이름 짓기
- 숫자로 시작하는 이름 안 됨
- 예약어(Reserved keywords) 사용 안 됨 - Python에서 미리 선점하여 사용 (for, while, if, class, try ... etc)
- 영문 대소문자ㅡ, _ , 숫자로 구성가능
- 코드 읽는 것을 쉽게 하기 위해 표현하고자 하는 변수를 정확하고 간결하게 짓는 것이 원칙
# 아래 변수 실행 가능
abcd = 100
ABCD = 100
aBcD = 100
AbCd123 = 100
a1b2b3 = 100
_abc123 = 100
_4 = 100
_123abc = 100
# 아래 변수 실행 불가능
123abc = 100
4 = 100
# 원활한 의사소통을 위해 학교 학생수를 변수로 둘 경우
# a = 100의 경우보다 student_num = 100로 명시한 것이 좋음
str_data = "hello"
int_data = 1
float_data = 1.1
bool_data = True
📖 데이터 타입(data-type)
- Numeric Types: int(정수), float(소수), complex(복소수)
- Sequence Types: str(문자열), list(리스트), tuple(튜플)
- Mapping Type: dict(딕셔너리)
- Set Types: set(집합)
- Boolean Type: bool(불리언)
- Binary Types: bytes, bytearray, memoryview
# Numeric Types: int(정수), float(소수), complex(복소수)
int = 7 #int
print(type(int)) # <class 'int'>
float = 11.3 #float
print(type(float)) # <class 'float'>
complex = 3 + 3j
print(type(complex)) # <class 'complex'>
# Sequence Types: str(문자열), list(리스트), tuple(튜플)
str1 = "Niceman" #str
str2 = "Goodgirl" #str
print(type(str1)) # <class 'str'>
print(type(str2)) # <class 'str'>
list = [3,5,7] #list
print(type(list)) # <class 'list'>
tuple = 3,5,7 #tuple
print(type(tuple)) # <class 'tuple'>
# Mapping Type: dict(딕셔너리)
dict = {
"name" : "Jang",
"age" : 32,
"city" : "seoul"
} #dict
print(type(dict)) # <class 'dict'>
# Set Types: set(집합)
set = {7,8,9} #set
print(type(v_set)) # <class 'set'>
# Boolean Type: bool(불리언)
bool = True #bool
print(type(bool)) # <class 'bool'>
🍀Tip : type( )
- 해당 변수, 값의 타입(type)을 알고자 할 때 사용
🍀Tip : None
- 아무런 값을 갖지 않을 때 사용

✏️ Numeric Types(숫자형 타입): Int / Float / Complex
- 수학의 기본 연산자(가감승제) 사용 가능
- Int(정수형) : 숫자형의 하나로 소수점이 없는 정수
- Float(소수형) : 숫자형의 하나로 소수점이 있는 실수
- Complex(복소수) : 실수와 허수의 합인 복소수
- import math를 통해 수학적 기능을 확장시켜 활용 가능
🍀Tip : 비교 연산자(Comparison Operator)
- 프로그래밍에서는 비교를 할 경우, = 대신 ==를 사용
- <, > (초과,미만)
- <=, >= (이상, 이하)
- == 같다, != 같지 않다
- 비교 연산자의 결과는 bool 타입
🍀Tip : 사칙연산
- 덧셈(+), 뺄샘(-), 곱셈(*), 나눗샘(/), 몫(//), 나머지(%), 제곱(**)
- 연산자 우선순위(Operator priorities)
ㄴ 기본적인 수학의 연산자와 동일
ㄴ 강제로 연산을 선수하기 위해선, 괄호()를 사용
a = 10
b = 2
print(a+b) # 12
print(a-b) # 8
print(a*b) # 20
print(a/b) # 5.0
print(a//b) # 5
print(a%b) # 0
print(a**b) # 100
print(a*b*(b+b)) #80
🍀Tip : 다항 연산
x = 100
x += 100 # x = x + x
print(x) #200
y = 100
y /= y # y = y / y
print(y) #1.0
z = 7
z *= z # z = z * z
print(z) # 49
m = 99999999
m -= m # m = m - m
print(m) # 0
🍀Tip : 수치 연산
print(abs(-10)) #절대값 : 10
n, m = divmod(200,8)
print(n, m) #25 0
import math
print(math.ceil(5.1)) #올림 : 6
print(math.floor(3.874)) #내림 : 3
✏️ String(문자열) : 문자, 단어 등으로 구성된 문자들의 집합
- 문자열은 '(작은따옴표) 혹은 "(큰따옴표) 사이에 문자를 넣어서 생성
- 문자열 자체에 ', "가 있는 경우에는 각각 그 반대의 기호로 생성
print("Hello world!") # Hello python!
print('Hello world!') # Hello python!
print("""Hello world!""") # Hello python!
print('''Hello world!''') # Hello python!
print('"Hi, hello" he says.') # "Hi, hello" he says.
print("Hello World. It's wonderful world") # Hello World. It's wonderful world
🍀Tip : 이스케이프 문자(Escape string)
- 문자열내의 일부 문자의 의미를 달리하여 특정한 효과를 주는 것
- \n : new line \t : tab 등
# 줄 바꿈 위한 이스케이프코드(\n) 삽입하기
multiline = "Life is too short\nYou need python."
print(multiline)
# Life is too short
# You need python.
print('Ha\thahaha') # Ha hahaha
🍀Tip : 인덱스
- 인덱스는 [0, 문자열의 길이] 의 범위만 유효
-음수 인덱스를 사용할 경우, [-문자열의 길이, -1]범위를 넘어갈 경우 에러 발생
# 문자열 길이 구하기 : len()
getlength = 'python is cool'
print(len(getlength)) # 14
# 문자열 인덱싱
indexing = "Life is too short, You need Python"
print(indexing[3]) # e -> 0번부터 시작, 3은 4번째 자리
print(indexing[-1]) # n -> -1은 뒤에서부터 시작해 1번째
🍀Tip : 문자열 슬라이싱
- 인덱스가 하나의 문자만을 추출한다면,slicing은 부분 문자열을 추출
- [시작:끝]와 같이 명시하여 [시작, 끝]에 해당하는 부분 문자열을 추출시작, 끝 인덱스가 생략이 되어 있다면, 0부터 혹은 끝까지로 간주
slicing = "Life is too short, You need Python"
print(slicing[0:4]) # Life -> [x:y] x부터 y전까지 문자열을 뽑아옴(끝 번호 포함 안함)
print(slicing[:]) # Life is too short, You need Python
print(slicing[:4]) # Life
print(slicing[18:]) # You need Python
print(slicing[-1:7]) # Python
✏️ 문자열 함수
- 문자열은 여러가지 기능 제공을 위한 함수를 내장
- 함수란 특정 기능을 하는 코드로 언제든지 호출하여 해당 기능을 사용 가능하도록 구성한 코드
# 소문자를 대문자로 바꾸기(upper)
a = 'hello world'
print(a.upper()) # HELLO WORLD
# 대문자를 소문자로 바꾸기(lower)
a = "PYTHON"
print(a.lower()) #python
# 문자열 바꾸기(replace)
a = 'hello world'
print(a.replace('h', 'j')) #jello world
# 공백지우기 : 양쪽 공백 지우기(strip) / 왼쪽 공백 지우기(lstrip) / 오른쪽 공백 지우기(rstrip)
a = " hello "
print(a.strip()) # hello
a = ",,,hello..."
a.strip(",")# hello...
a.strip(".")# ,,,hello
# 문자열 나누기(split) : 문자열을 특정한 문자 구분하여(delimiter) 문자열의 리스트로 치환
a = 'hello world what a nice weather'
print(a.split('w')) # ['hello ', 'orld ', 'hat a nice ', 'eather']
# 특정 변수값을 동적으로 문자열 생성(format)
temperature = 36.5
prob = 90.0
a = '오늘 기온{}도 이고, 비올 확률은 {}% 입니다.'.format(temperature, prob)
print(a) #오늘 기온36.5도 이고, 비올 확률은 90.0% 입니다.
🍀Tip : 유용한 함수
# 문자 갯수 세기(count)
a = "lalalalalballlballballballllblblblblaaaa"
print(a.count("l")) # 20 -> a 중 l의 갯수를 가져옴
# 위치 알려주기(find)
a = "python!"
print(a.find("!")) # 6 -> !표가 6번째 자리에 위치함
print(a.find("b")) # -1 -> b가 a 없음
# 문자열 삽입(join)
a = "python"
print(".".join(a)) # p.y.t.h.o.n
print("-".join(a)) # p-y-t-h-o-n
📚 Reference
- https://programmersportal.com/python-data-types/
- https://docs.python.org/ko/3/tutorial/introduction.html#lists
Python data types - Programmers Portal
Python Data Types - Python has five standard/built-in data types. But we don't specify the type of a variable explicitly. This is because Python is a dynamically typed programming language.
programmersportal.com
3. 파이썬의 간략한 소개 — Python 3.10.0 문서
3. 파이썬의 간략한 소개 다음에 나올 예에서, 입력과 출력은 프롬프트(>>> 와 …)의 존재 여부로 구분됩니다: 예제를 실행하기 위해서는 프롬프트가 나올 때 프롬프트 뒤에 오는 모든 것들을 입
docs.python.org
'Data Science > Python' 카테고리의 다른 글
| [개인 프로젝트] flask를 활용한 포트폴리오 블로그 (2) | 2021.11.18 |
|---|---|
| [딥러닝 논문 클론 프로젝트] StyleGAN을 활용한 다양한 얼굴 편집(Face Editing) (0) | 2021.10.21 |
| Python101_기초 정리 (0) | 2021.10.16 |


