일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 경사하강법 #핸즈온머신러닝 #머신러닝 #ML
- Chap4 #핸즈온머신러닝 #머신러닝 #핸즈온머신러닝연습문제
- Chap4 #ML #배치경사하강법 #경사하강법 #핸즈온머신러닝 #핸즈온
- IDE #spyder
- Chap4 #다항회귀 #PolynomialRegression #ML #머신러닝
- 라쏘회귀 #엘라스틱넷 #조기종료
- 티스토리블로그 #티스토리 #PDF #블로그PDF저장
- 파이썬 #Python #가상환경 #anaconda #python설치 #python가상환경
- 객체의종류 #리스트 #튜플 #딕셔너리 #집합 #Python #파이썬 #list #tuple #dictionary #set
- 티스토리 #수학수식 #수학수식입력 #티스토리블로그 #수식입력
- 키워드추출 #그래프기반순위알고리즘 #RandomSurferModel #MarcovChain #TextRank #TopicRank #EmbedRank
- 인덱싱 #슬라이싱 #python #파이썬 #수정및삭제 #원소의수정 #객체의함수 #keys#values#items#get#len#append#sort#sorted
- python #dataframe #파생변수 #map #lambda #mapping
- adp #데이터분석전문가 #데이터분석자격증 #adp후기 #adp필기
- Chap4
- Chap4 #릿지회귀 #정규방정식 #확률적경사하강법 #SGD #규제가있는선형모델
- 선형회귀 #정규방정식 #계산복잡도 #LinearRegression #Python #ML
- 확률적경사하강법 #경사하강법 #머신러닝 #선형회귀 #ML #Chap4
- Chap4 #ML #미니배치경사하강법 #경사하강법 #머신러닝 #핸즈온머신러닝
- ML #핸즈온머신러닝 #학습곡선 #편향분산트레이드오프
- python #파이썬 #pandas #dataframe #dataframe생성 #valueerror
- 핸즈온머신러닝 #handson
- Today
- Total
StudyStudyStudyEveryday
[Python] 변수할당 / 자료의 종류 (숫자형, 문자형,논리형) 본문
변수
프로그래밍에서 변수는 어떤 값 혹 데이터가 저장된 이름을 가진 공간을 나타낸다.
변수의 이름을 짓는 것에는 몇 가지 규칙이 존재한다.
- 변수의 첫 시작은 숫자가 올 수 없음
- 연산자(operator)는 변수에 사용할 수 없음 (*, /, - 등)
- 특수문자는 변수에 사용할 수 없음 ($, , 등)
- 이외에 영문, 영문과 숫자 혼용, 한글 변수명 모두 가능
- 하지만, 한글 변수명은 인코딩 문제가 자주 발생하므로 추천하지 않음
변수 할당
# 변수 할당 Variable assignment
x = 1 + 2
x
>>> 3
# 다중 할당 Multiple assignment
x, y, z = 1+2, 2+3, 3+4
x
>>> 3
y
>>> 5
z
>>> 7
자료의 종류
자료의 종류에는 숫자형, 문자형, 논리형 (bool형)이 있다.
객체의 종류에는 리스트, 튜플, 딕셔너리, 집합 등이 있다.
숫자형
integer(정수), float(실수), complex(복소수)로 나눌 수 있다.
- integer : 일반적으로 소수점이 없는 숫자
- float : 소수점이 존재하는 수나 나눗셈 등의 연산 시 산출되는 수
- complex : 허수 부분에 j가 포함된 형태를 나타냄
type() 함수를 통해 숫자의 종류를 알 수 있다.
# integer
type(1)
# float
type(1.1)
# complex
type(1 + 3j)
int(), float(), complex() 함수로 다른 숫자 종류로 변환할 수 있다.
# convert to integer
int(3.1)
# convert to float
float(1)
# convert to complex
complex(1)
isinstance() 함수로 입력되는 숫자가 원하는 숫자형이 맞는지 확인 가능하다.
# check integer type
isinstance(1, int)
# check float type
isinstance(1, float)
isinstance(1.1, float)
isinstance(1+2j, complex)
숫자형에 대한 사칙연산
덧셈 | 뺄셈 | 곱셈 | 나눗셈 | 거듭제곱 | 나머지 | 몫 |
+ | - | * | / | ** | % | // |
계산의 결과가 정수여도 실수로 얻어짐에 주의하자.
문자형 (string)
Python에서 문자는 큰따옴표(")나 작은 따옴표(')로 표시한다.
str() 함수로 문자 변환이 가능하다.
# 문자형 생성
"1"
# 숫자형 1000을 문자형으로 변환
str(1000)
만약 문자에 큰따옴표를 넣고 싶다면 작은따옴표로 묶어주고, 작은따옴표를 넣고싶다면 큰따움표로 묶어주면 된다.
x = "'Hello~'"
y = '"Hello"'
만약 같은 따옴표를 동시에 쓰면 에러가 뜬다.
문자를 여러줄에 걸쳐 작성하고 싶다면 작은따옴표 세 개나 큰따옴표 세 개로 묶어주면 된다.
"""
Hi !
My name is Jenny
"""
문자열에서의 연산자
Python에서는 문자형에 대해 더하기와 곱하기 연산이 가능하다.
- + : 두 개의 문자열 연결
- * : 해당 문자열을 n배 반복
x = 'My name is Jenny'
x + 'ABC'
>>> 'My name is JennyABC'
x * 2
>>> 'My name is JennyMy name is Jenny'
문자열 포맷팅 (Formatting)
방법 1. %() 이용
문자열 포맷팅은 자동화된 코드 등 반복적으로 출력하는 문자열에서 특정값이나 문자만 변화하여 출력할 때 사용됨
x = 'My name is %s'
y = 'Jenny Kim'
x % (y)
>>> 'My name is Jenny Kim'
대입하는 자료형에 따라 대입할 자리에 있는 코드가 달라진다.
- %s : 대입하는 자료형이 문자
- %d : 대입하는 자료형이 정수형
- %f : 대입하는 자료형이 실수형
# 정수형 대입
x = '%d is a number'
y = 3
x % (y)
>>> '3 is a number'
# 두 개 이상의 값 대입
x = '%d + %d = %d'
x % (1, 2, 1+2)
>>> '1 + 2 = 3'
여기서 %d %f 를 사용한 후 문자를 입력하면 에러가 난다. (단, %s는 숫자형 자료를 입력해도 무방하다.)
방법 2. format함수 이용
# {} 안에 입력할 값의 순서 배치
x = "{1} + {2} = {0}"
x.format(3, 2, 1)
>>> '2 + 1 = 3'
# 입력할 값을 이름으로도 대입 가능
x = "My name is {name}"
x.format(name = "Jenny")
>>> 'My name is Jenny'
x = "{num1} + {num2} = {num3}"
x.format(num1= 2, num2= 3, num3 = 5)
>>> '2 + 3 = 5'
논리 자료형과 논리연산자
논리 자료형은 True와 False를 나타내는 값이다.
조건문의 사용과 인덱싱에서 자주 사용되기 때문에 중요하다.
True는 1, False는 0으로 대응된다.
2<3
2>3
1 == (3-2)
1 == True
0 == False
int(True)
문자에서의 논리형은 문자에 대한 이진수 대응을 비교하는 것과 같다.
- a < b < c < d < ...
- ㄱ < ㄴ < ㄷ < ㄹ < ...
진리값은 논리 연산자를 통해 연산이 가능하다.
논리연산자 | 기호 | 설명 |
NOT | not | True -> False False -> True |
AND | and | 양쪽이 모두 True -> True 한쪽이 False -> False |
OR | or | 양쪽 중 한쪽만 True여도 True 모두 False면 False |
Python에서 &, |, ~, ^는 비트(bit) 연산자로 위의 연산자와 구별해야한다.
'Python > 데이터 시각화' 카테고리의 다른 글
[Python] Pandas - series와 dataframe 생성 / 인덱싱과 슬라이싱 / 함수 및 메서드 (0) | 2022.04.17 |
---|---|
[Python] Numpy - array 생성 / 인덱싱과 슬라이싱 / 함수 및 메서드 (0) | 2022.04.16 |
[Python] 인덱싱과 슬라이싱 / 원소의 수정 / 객체의 함수 (0) | 2022.04.12 |
[Python] 객체의 종류(리스트, 튜플, 딕셔너리, 집합) (0) | 2022.04.12 |
[Python] Python 및 패키지 설치 - Anaconda / 가상환경 생성 / IDE (0) | 2022.04.11 |