AD

아무거나 코딩을 하고싶은 연두님을 위한 기본적인 파이썬1;자료형과 문자열

하로크
2020-09-14 17:49:00 155 12 2

지난편: 코딩을 하고싶은 연두님을 위한 기본적인 파이썬0;파이썬 다운로드 및 기본 파이썬 용어들


개발자들이 쉽게 사용할 수 있도록 구분된 종류를 자료형(Data type) 이라고 부릅니다.

문자열(String): 제목, 내용 등 ex) "Hello World", "연두는 말안드뤄"

숫자(Number): 가격,  성적, 나이 등 ex) 20, 28, 199

불(Boolean): 로그인 상태 등 ex) True, False


type()으로 그 자료가 어떤 자료형을 가지고 있는지 확인할 수 있습니다.

15d0045a9a364d10076aad10f6f88dba.png

str는 문자열, int는 정수형 입니다.


문자열

문자열은 영어로 string(스트링)이라고 부릅니다.

지금까지 따옴표로 둘러싸서 입력한 모든 것을 문자열이라고 합니다.


이스케이프 문자

쉘창에 따옴표를 출력하고 싶으면 이스케이프 문자(Escape character) 를 사용하면 됩니다.

\ 또는 ₩ 둘 중에서 아무거나 쓰면 됩니다.

\""를 의미합니다.

\''를 의미합니다.

\n줄바꿈을 의미합니다.

\t을 의미합니다.

\\\을 의미합니다.

즉, '아 이게 낙타구나'라고 그녀가 말했다.라고 출력하고 싶다면 print("\'아 이게 낙타구나\'라고 그녀가 말했다.") 이렇게 입력하면 됩니다.


연산자+

숫자 + 숫자에도 쓸 수 있지만 문자열 + 문자열에도 쓸 수 있습니다.

ex) >>> print("Hello" + "World")

             Hello World

      >>> print("Hello World" + "!")

             Hello World!

하지만 print("Hello World" + 1)은 오류가 납니다.

문자열 + 숫자이기 때문입니다.

문자열은 무조건 문자열끼리 아니면 따옴표 안에 숫자를 넣어서 숫자를 문자열로 만들어야 합니다.


연산자*

연산자*는 문자열 * 숫자로 입력하면 숫자 만큼 문자열이 반복됩니다.

ex) >>> print("연두님" * 3)

             연두님연두님연두님


문자 선택 연산자(인덱싱)[ ]

문자 선택 연산자는 문자열 내부의 문자 하나를 선택하는 연산자 입니다.

 대괄호 [ ] 안에 선택할 문자의 위치를 지정하고, 이 숫자를 인덱스(Index) 라고 부릅니다.

파이썬은 0부터 세는 제로 인덱스(Zero index) 입니다.

H      E      L      L      O

[0]    [1]    [2]    [3]    [4]

ex) >>> print("Hello"[0])

             H

      >>> print("Hello"[4])

             o

뒤에서부터 선택할 수 도 있습니다.

H      E      L      L      O

[-5]  [-4]   [-3]   [-2]   [-1]


문자열 범위 선택 연산자(슬라이싱)[:]

특정 범위를 선택할 때 사용하는 연산자 입니다.

ex) >>> print("Hello"[1:4])

             ell

뒤의 숫자-1이므로 4-1인 3까지만 출력되는 것입니다.

생략할 수도 있습니다.

ex) >>> print("Hello"[1:])

             ello

      >>> print("Hello"[:3])

             Hel

글자 수보다 많은 수를 입력하면 오류가 뜹니다.


문자열의 길이를 구하는 len() 는 식별자 뒤에 ()가 있으므로 함수 입니다.

ex) >>> print(len("Hello"))

             5

      >>> print(len("연두는말안드뤄"))

             7


소수점이 없는 숫자를 정수형, 있는 숫자를 실수형이라고 합니다.

소수점이 없는 숫자: 0, 1, 199, -199 -> 정수(integer)

소수점이 있는 숫자: 0.0, 52.12 -> 실수(floating point)04f6618dac954b3655c08102fc553815.png


사칙연산자+, -, *, /

기본적인 +, -, *, /은 파이썬에서도 같은 사칙연산자를 적용합니다.

ex) >>> print("1 + 199 =", 1 + 199)

             1 + 199 = 200

"안에 있는 1 + 199 =은 print에의해 출력되고 ,다음에 있는 1 + 199는 계산되어 이미 출력된 1 + 199 =옆에 출력되어 최종적으로는 1 + 199 = 200이 출력된다.

정수 나누기 연산자//

ex) >>> print("3 / 2 =", 3 / 2)

             3 / 2 = 1.5

      >>> print("3 // 2 =, 3 // 2)

             3 // 2 = 1

//연산자를 사용하면 결과를 소수점 아래를 떼어 버린 값이 출력됩니다.


나머지 연산자%

ex) >>> print("5 % 2 =", 5 % 2)

             5 % 2 = 1

나머지 연산자는 A를 B로 나누었을 때  남은 나머지를 구하는 연산자 입니다.


제곱 연산자**

ex) >>> print(" 2 ** 1 =", 2 ** 1)

             2 ** 1 = 2

      >>> print(" 2 ** 2 =", 2 ** 2)

             2 ** 2 = 4

      >>> print(" 2 ** 3 =", 2 ** 3)

             2 ** 3 = 8

      >>> print(" 2 ** 4 =", 2 ** 4)

             2 ** 4 = 16

제곱 연산자는 말 그대로 제곱입니다.


변수

변수 선언은 변수를 생성하는 것을 말 합니다.

C언어 같은 경우에 int YD;로 변수를 선언해야 할당할 수 있습니다.

변수 할당은 변수에 값을 넣는 것을 말합니다.

변수 = 값으로 변수를 할당할 수 있습니다.

파이썬은 변수를 선언하지 않고 바로 할당할 수 있습니다.

변수 참조는 변수에서 값을 꺼내는 것을 말합니다.

8d21cee76f588f11b3a7f361be3a03e0.png


복잡 대입 연산자

+=: 숫자 덧셈 후 대입

-=: 숫자 뺄셈 후 대입

*=: 숫자 곱셈 후 대입

/=: 숫자 나눗셈 후 대입

%=: 숫자의 나머지를 구한 후 대입

**=: 숫자 제곱 후 대입

ex) A += B는 A = A + B라고 생각하면 됩니다.

      A + B의 값을 A에 넣는 것이죠.

c4443ef00214703eb6602ef02028adc0.png

문자열에도 쓸 수 있습니다.

e9e41d2320e1029f8c054511f2072728.png


사용자 입력 input()

input() 함수 괄호 안에 입력한 내용을 프롬프트 문자열이라고 하고, 사용자로부터 입력을 요구하는 내용을 입력합니다.

사용자로부터 입력받은 내용이 무엇이든 전부 문자열입니다.

그래서 입력받은 내용 즉 문자열을 숫자로 변환해야 숫자 연산에 활용할 수 있습니다.

이를 캐스트(Cast) 라고 합니다.

int() float()로 변환하면 됩니다.

편집기창에 (파란색 부분은 식별자(이름)이기 때문에 마음대로 정해도 됩니다.)

string = input("연두님의 능지는: ")

print(type(string))

print()

int_a = int(string)

print(type(string))

print()

#이제 정수이므로 숫자끼리 연산 가능

print("1 + 연두님의 능지 =", 1 + string)

라고 치면 쉘창에 "연두님의 능지는: " 이라고만 출력되고 커서가 깜빡입니다.

여기에 내용을 입력하면 됩니다.

입력하면

f2305efb89b0b4ca30b7fa9a4da9b50c.png

사용자가 입력한 내용이 string에 할당이 됩니다.

처음에는 자료형이 문자열이지만 string을 정수형으로 int_a에 할당한 후 자료형을 보면 자료형이 정수형으로 바뀐것을 볼 수 있습니다.

따라서 숫자 1과 연산할 수 있습니다.

주의할 점은 숫자가 아닌 문자를 정수형이나 실수형으로 변환하면 오류가 뜹니다.

또는 부동 소수점이 있는 자료를 정수형으로 변환할 때에도 에러가 납니다.

반대로 str()로 숫자를 문자열로 변환할 수 있습니다.


format() 함수는 문자열이 가지고 있는 함수입니다.

중괄호 {}를 포함한 문자열 뒤에 .를 찍고 format() 함수를 사용합니다.

{}의 개수와 format 함수 괄호 안 매개변수의 개수는 같아야 합니다.

ex) "{}".format(1)

      "{} {}".format(1, 199)

      "{} {} {}".format(1, 199, 200)

만약 "{}".format(1, 199) 처럼 매개변수가 {}보다 많으면 '1'만 출력될 것입니다.

IndexError 예외가 발생한 것입니다.

하지만 반대의 경우 "{} {} {}".format(1, 199)인 경우 에러가 생깁니다.

30504c3a202940c1f43e705d398ac552.png

이렇게 숫자 뿐만아니라 문자도 넣을수 있습니다.


다음편: 코딩을 하고싶은 연두님을 위한 기본적인 파이썬2;불, 논리연산자, 조건문

후원댓글 2
댓글 2개  
이전 댓글 더 보기
이 글에 댓글을 달 권한이 없습니다. 로그인해 보세요.
▲윗글 단발두는 올것인가 신길꿀주먹
아무거나공지사항오늘의 피듀방송후기팬아트움짤/짤방잡담게시판게임추천신고게시판운동해
4
아무거나
표정쩔어양
요미짱투턱동전지갑
09-15
9
아무거나
연예인 정말 모르는 연두님 [1]
쿠앙곰탱이
09-15
4
방송후기
잘 했는데 ㅋㅋ
Woanderer123
09-15
5
방송후기
아... 겜잘스를 놓쳤네....
쿠앙곰탱이
09-15
3
09-15
10
방송후기
1류 스트리머 연두
작은별하나
09-15
4
방송후기
폭사 엔딩 ㅋㅋㅋ
회원님한세트만더
09-15
16
09-15
8
아무거나
레데리2를 사려고 하는데 [2]
쌀먹는_펭귄
09-14
15
09-14
32
팬아트
연두의12시 1절입니다 [10]
뮤량
09-14
9
아무거나
간단한 주식 게임 [3]
미확인샐러드
09-14
13
팬아트
연두쿤 - 그림 그려봤습니다 [1]
비상식량_빵덕
09-14
12
09-14
38
09-14
15
09-14
25
팬아트
현미씩 연두 [6]
얼민어
09-14
98
아무거나
펜케익이... 먹고싶어... [65]
Broadcaster 연두는말안드뤄
09-14
49
팬아트
단발두는 올것인가 [19]
신길꿀주먹
09-14
0
아무거나
카드 [2]
seobi8711
09-14
12
잡담게시판
삼각대 예토전생 및 테스트 후기 [4]
쵸르니
09-14
0
신고게시판
신고합니다 [1]
dosldhvmsld
09-14
7
아무거나
광희가 민초단이라니... [5]
얼민어
09-14
25
09-14
5
게임추천
축산 혹은 농업(영어제목 Husbandry)
강호의도리도리잼잼
09-14
인기글 글 쓰기