Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]

[파이썬을 하나도 모르는 사람의 딥러닝] 파이썬 기본 데이터 타입

2020. 12. 10. 11:45programming/python

728x90

 

이미 다른 포스트에 포함된 내용이 있겠지만 추가적으로 작성하고자 합니다.

파이썬에서는 모든 것(부울, 정수, 실수, 문자열, 데이터 구조, 함수, 프로그램이 객체로 구현되어 있습니다.

이러한 측면에서 파이썬은 다른 언어에는 결여된 언어 일관성과 유용한 기능을 제공합니다.

프로그래밍 언어에서 변수를 선언하여 사용할 수 있습니다. 변수는 메모리에 있는 값을 조회하기 위한 이름입니다.

 

파이썬의 변수는 단지 이름일 뿐입니다.  값을 복사하는 것이 아니라, 데이터가 담긴 객체에 이름을 붙이는 것입니다.

파이썬에서 변수 혹은 리터럴값의 타입을 알고 싶다면 type을 사용하면 됩니다.

a = 7
print(a, ' :  ', type(a))
print(type(10.5))
print(type('aaa'))

<< 출력 결과 >>

변수를 선언하고 type을 이용하여 출력해보면 해당 객체의 type을 알 수 있습니다.

 

변수의 이름은 다음 문자만을 이용해 사용할 수 있습니다.

소문자( a ~ z )

대문자( A ~ Z )

숫자( 0 ~ 9 )

언더바( _ )

사용 가능

num

num01

num_01

_num

아래는 사용 불가능

1

1num

1_

파이썬은 정수와 부동소수점수를 지원합니다.

대화식 인터프리터에서 연속된 숫자는 리터럴(literal) 정수로 간주합니다.

기호 없는 숫자

123 와 +123은 같은 숫자입니다.

반면 음수를 표현할 때는 – 기호를 붙이면 됩니다.

 

정수가 나오면 연산자가 나올 법한데 나눗셈에 대해서만 다루겠습니다.

/ 는 부동소수점을 포함한 결과가 출력됩니다.

// 는 부동소수점을 제외한 결과가 출력됩니다. 즉 정수만 출력됩니다.

 

print(8/3)
print(8//3)

b = 10
b - 5
print(b)

어떤 결과 값이 나올까요

정답은 5!!! 가 아니라 10이죠

아직 b에 다시 값을 할당하지 않았습니다.

다음과 같이 해야 값이 할당됩니다.

 

b = 10
b = b-5
print(b)

문자열

단일 인용 부호 혹은 이중 인용 부호를 사용해서 다음과 같이 문자열을 만들 수 있습니다.

str1 = 'python'
str2 = "python"
print(str1)
print(str2)

대화식 인터프리터는 문자열을 단일 인용 부호로 출력합니다.  파이썬에서는 단일/이중 인용 부호를 똑같이 처리합니다.

왜 두가지 인용부호를 사용할 수 있을까요?

다음과 같이 인용부호를 출력하고자 할 때 유용하게 사용됩니다.

str3 = "'hello'"
str4 = '"hello"'
print(str3)
print(str4)

<< 출력 결과 >>

 

단일/이중 인용부호를 3개 사용해서 사용할 수도 있습니다.

str5 = '''hello'''
str6 = """hello"""
print(str5)
print(str6)

<< 출력 결과 >>

 

3개 연속해서 사용했는데 인용부호는 나오지 않았네요. 그렇다면 어떻게 쓰일까요

다음 예제처럼 여러 줄의 문자열을 사용할때 쓰입니다.

 

famous_saying = 'Step by step goes long way' 
# 한걸음 한걸음 걷는자가 성공한다
famous_saying2 = '''Although the world is full of suffering, 
                    it is full also of the overcoming of it. -  Helen Keller 1880-1968''' 
# 세상은 고통으로 가득하지만 한편 그것을 이겨내는 일로도 가득차 있다. - Helen Keller(헬렌 켈러)[美 작가/연사, 1880-1968]
print(famous_saying)
print(famous_saying2)

<< 출력 결과 >>

 

눈치채셨겠지만 위에 코드에서 #은 주석처리됩니다~!

세 개의 인용 부호 안에 여러 줄이 있는 경우, 문자열 끝에 들어있는 문자가 보존도며 공백이 있는 경우에도 보존됩니다.

그런데 출력이 이상하게 되었네요. print()의 출력 결과와 대화식 인터프리터의 자동 출력 결과는 다릅니다.

위의 코드는 다음처럼 인식을 하게 됩니다.

 

'Although the world is full of suffering,\n                   it is full also of the overcoming of it. -  Helen Keller 1880-1968'

print()는 문자열에서 인용 부호를 제거한 후 내용을 출력합니다. 대화식 인터프리터가 자동으로 출력한 것과 다르게, 수동으로 결과를 출력합니다.

 

print(9, 'bots', 'has', 'been', 'cracked')

<< 출력 결과 >>

 

출력할 것들 사이에 공백과 줄바꿈을 유용하게 추가하여 사용할 수 있습니다.

마지막으로 아무런 문자가 없는, 빈 문자열이 있습니다.

 

print('')
print("")
print('''''')
print("""""")

이런 문자열은 어디에 사용될까요?

 

bot = 9
bot_message = ''
bot_message += 'cracked bots count : '
bot_message += str(bot)
print(bot_message)

빈 문자열을 이용하면 여러 문자열을 한 문자열로 합칠 때 문자열 사이에 공백을 입력할 수 있어서 유용합니다.

 

데이터 타입 변환 str()

str() 함수를 사용하여 데이터 타입을 문자열로 변환할 수 있습니다.

print(str(100))
print(str(True))

<< 결과 >>

문자열이 아닌 객체를 print()로 호출할 때, 파이썬은 내부적으로 str() 함수를 사용합니다.

 

이스케이프 문자

파이썬은 문자열 안의 일부 문자의 의미를 다르게 효과를 줄 수 있습니다. 문자 앞에 백슬래시( \ ) 기호를 붙여 사용할 수 있습니다.

가장 일반적인 이스케이프 문자는 줄바꿈을 의미하는 \n 입니다.

 

print('He who does not hope to win has already lost.\n - Jose Joaquin Olmedo')
# 승리를 바라지 않는다면 이미 패배한 것이다. - Jose Joaquin Olmedo(에콰도르의 정치인)

<< 출력 결과 >>

 

문자열  \’  혹은 \”을 사용하여 단일 또는 이중 인용 부호를 표현할 수 있습니다.

 

print('The best and most beautiful things in the world cannot be seen of even touched.\n',
'\"They must be felt with the heart.\"  - Helen Keller')
# 세상에서 가장 아름답고 소중한 것은 보이거나 만져지지 않는다. 단지 가슴으로만 느낄 수 있다. - Helen Keller

<< 출력 결과 >>

 

백슬래시를 입력하고 싶은 경우에는 백슬래시를 두 번 입력하면 됩니다.

 

다음과 같이 ‘+’ 연산자를 이용하면 리터럴 문자열 또는 문자열 변수를 결합할 수 있습니다.

print('Hello' + ' ' + 'buddy')

<< 출력 결과 >>

728x90