# Language/[ Python ]

[Language/Python] Python - 변수, 자료형, 리스트 (with. Pycharm)

이론과 실습 사이 2022. 3. 5. 16:11
반응형

 

 

 


- 목차 -
1. 변수
2. 자료형
3. 리스트

 

 

 

Chapter_1

1.변수

파이썬에서 num = 100 선언을 하면 num이라는 변수에 숫자 100을 입력한 것이다.

변수에는 숫자형식, 문자형식, 배열, 문자열 형식으로 입력이 가능하다.(일반적으로)

 

num = "100" 선언을 하면 num변수에 100이라는 문자형식으로 저장이 된다. 

특정한 데이터를 담은 그릇이다.

변수에 데이터를 저장해서 정보를 주고 받고 연산 및 다양한 작업을 할 수 있게 도와준다.

 

연산자

변수를 이용해서 연사자를 이용하면 덧셈 뺄셈도 가능하다.

 기본적으로 +, -, *, /를 사용 할 수있고, 사칙연산도 가능하다.

추가로 고려해야 할 사항은 변수에서 숫자를 정수,실수 두 가지로 나뉘어있기 때문에 연산시 주의 해야 한다. 

 

 

 

 

Chapter_2

2.자료형

 

 

파이썬은 특이하게 데이터 타입을 선언하지 않는다.

일반적으로 C, Java 등 다른 언어에서는 변수를 선언할 때 테이터 타입을 선언한다.

int a;
int b;
char c;
int array[10];
char array_2[10];

 일반적으로 변수 선언을 하게 되면 위 Code 처럼 자료형도 포함해서 서언 하지만, 

 

Python의 경우 자료형을 포함하지 않고 선언을 한다.

num1 = 100
num2 = 200

str = "KyungKing"
str1 = "Theory"
str2 = "Practice"

temp = num1
num1 = num2
num2 = temp

 = 부호를 이용해서 데이터 입력을 하면, 스스로 데이터 타입을 인식하고, 변수에 대한 타입을 설정한다.

 

숫자,문자 등 다양한 자료형태가 존재하며, 숫자에서는 실수, 정수로도 나뉜다. 

 

 

Deep Dive

문자열에 대해 더 깊이 알아보도록하자.

일반적으로 str = "MIN"  "" or ''부호를 이용해서 문자형을 컴퓨터가 알도록 사용한다.

그리고 컴퓨터 언어는 이미 예약어가 존재 한다. 예를 들면 \n 는 키보드에 있는 Enter 기능을 한다.

데이터를 입력하려고 할 때 예약어와 중복이 되면서 나의 의도와 다르게 출력이 되는걸 볼 수 있다.

 

간단한 예제를 통해 알아보자.

[1]

나는 Don't를 출력하고 싶다고 가정하자.

message = 'don't'
문제점은?
컴퓨터는 'don't' 'don'까지 하나의 문자로 인식을하고,
나머지 t' 부분을 't' 인식 하려는데, 사람의 실수로 ' 빠트린 부호 확인을 요청하는 Error 문구를 출력 한다.
 
 
 
해결책은?
message = 'dosent\'t'
위와 같이 \' 를 추가 하게 되면 정상 출력으로 가능하다.
 
 
 
 
 
 

[2]

앞에서 잠깐 \n 사용을 하면 Enter와 같은 기능이라고 설명을 했다. ( + \t 는 키보드 Tab 기능)
그럼 만약 경로를 변수에 입력을 하려고하는데 디렉토리(폴더) 이름이 n이 들어간다면?
경로 C:\Test\Name
message = "C:\temp\name"
문제점은?
변수에 해당 경로를 잘 입력을 했지만 막상 출력을 하면  
 \t 와 \n 두 개 모두 존재하기 때문에 문자형식으로 인식하지 않고 이스케이프 문자들의 기능으로 인식을 했다.
 
 
 
해결책은?
message = r"C:\temp\name\a.txt"
 
 
이제 정확히 출력이 된 걸 볼 수 있다. 
경로앞에 r을 이용함으로써 해결하자!
 
 
 
 
 

[3]

str = "Hwi"
str2 = "Kyung"
number = 100
number2 = 200
1)문자 + 문자 
Ex) str + str => Okay

2)숫자 + 숫자 
Ex) number + number2 => Okay

3)문자 + 숫자 = Error
=> 숫자를 문자형식으로 변경
Ex) temp = str + str(number) = Hwi100 으로 출력
반대로 문자를 숫자형으로 형 변형 불가
 
 
 

[4]

문자열 및 인덱스
str = "Theory"

str[0] = T
str[1] = H
str[2] = e
str[3] = o
str[4] = r
str[5] = y
str 변수에 문자가 여러개 들어가 있으면 문자열이라 칭한다.
6칸의 문자열이 str 변수이름으로 생성이 된 것이다. 
 
 
파이썬의 특이점은 한 번 작성된 문자열은 변형이 불가능하다.
str = "Theory"

str[0] = T
str[1] = H
str[2] = e
str[3] = o
str[4] = r
str[5] = y

 
str[3] = K  -> 추가로 입력
 
이렇게 되면 str = "THekry" 로 변경이 되는게 일반적인 언어이다. 
파이썬에서는 변경이 불가능하다.
 
그리고 0~5번의 숫자가 있는데 해당 번호를 인덱스라고 하며, 0부터 시작하는걸 항상 인지하자.
 
인덱스 번호 0의 값은 T
인덱스 번호 4의 값은 r
 
 
 
 
 

Chapter_3

3.리스트

# 리스트에 대한 실습
# 리스트에 정의 : 여러 개의 값을 모아서 하나의 변수에 저장할 수가 있는 데이터 타입이다.
# 아주 유용하게 널리 사용된다. 리스트는 [ ] 안에 값을 저장한다.

city = ["apple", "banana", "peach"]
# 리스트의 길이를 알아내고 싶을 때 len()함수를 사용하면 된다.
print(len(city))
print(city)

# 리스트는 아래와 같이 해당하는 인덱스의 값이 변경 가능한 객체이다.
print(city[2])
city[1] = "grapes"
print(city)

# 리스트는 정수, 문자열에 국한되지 않고 여러 개의 값을 저장할 수가 있다.
temp = ["apple", "banana", 100, 10.798]
print(temp)

# 한 사람의 정보를 출력
name = input("이름 : ")
age = int(input("나이 : "))
address = input("주소 : ")
tall = int(input("키 : "))
weight = int(input("몸무게 : "))

person = [name, age , address, tall ,weight]
print(person)

문자열과 다르게 리스트는 인데스를 통해서 값을 변경이 가능하다.

또한, 숫자,문자 다양한 형식으로 한 변수에 저장이 가능하다.

 
 
 
 
 
 

마무리

-변수와 자료형의 개념
-자료형에서도 문자열에 대한 규칙성 ( 이스크케이프 문자, "" , '' ,r"경로"  사용법 ) 및 연산자
-문자열 변수에 값을 입력후 인덱스로 수정불가
-리스트는 언제든지 인덱스로 수정 가능!

 

 

 

학습 후 작성된 글입니다.

설명이 잘 못 된 부분이 있다면,

너그럽게 이해 부탁드립니다.

 

+댓글로 알려주세요!

+소통 감사합니다!

 

 

 

 

 

 

 

반응형