본문 바로가기
TIL/Python | Django

2021.3.1 TIL : [Python] 기초 문법1

by yeon_zoo 2021. 3. 1.

<파이썬의 자료형>

정수형 (int) : 양의 정수, 음의 정수, 0 을 포함하는 개념 ex) a = 3; a = -876

실수형 (floating - point) : 소수점이 포함된 숫자 ex) a = 4.24e-10

8진수 표현법 : 8진수로 표현되는 수 앞에 0o 혹은 0O를 붙여 8진수 임을 표현해준다. 0o376 혹은 0O376 (10진수로 표현할 경우 254)

16진수 표현법 : 16진수로 표현되는 수 앞에 0x를 붙여 16진수 임을 표현해준다. 0xa95 (10진수로 표현할 경우 2709)

사칙연산 : +, -, *, / 로 사용된다. 

나눗셈 후 나머지 반환 : %

나눗셈 후 몫 반환 : // ex) 72/10 = 7.2         72//10 = 7

문자열 (string) : 문자열을 저장하는 경우, 문자열 내에 ""가 들어가면 전체 문자열은 ''로, 문자열 내에 ''가 들어가면 전체 문자열은 ""로 구분하여 포함시켜줘야 한다. 혹은 \를 이용해도 된다. 백슬래쉬는 이 다음의 문자를 그대로 출력해주는 기능을 갖고 있다.  ex) string = "\"문자열\"은 이렇게 구성된다." 또한 여러 줄의 문자열을 저장할 때, \n을 이용하여 각각의 줄을 구분해 줄 수 있다 . 

 

<문자열 연산>

문자열 더하기 : A와 B에 각각 저장된 문자열이 있다고 할 때, 'A+B'를 출력한다고 하면 A에 있는 문자열 출력 후에 B에 있는 문자열이 출력 된다. 

문자열 곱하기 : A에 저장된 문자열에 * 2 를 통해서 2를 곱해주면 A가 두 번 출력된다. 즉 A + A와 같은 결과를 얻는다. 

문자열 길이 구하기 : len() 함수를 이용하여 구할 수 있다. C언어의 strlen() 함수와 비슷하다. 다른 점은 strlen() 함수를 사용하기 위해서는 string.h의 라이브러리를 필요로 했다면, len()함수는 파이썬의 기본 내장 함수로, 별도의 라이브러리 없이 이용 가능하다. 

 

문자열 인덱싱 : 문자열은 문자의 배열이다. 따라서 a = 'Life is long, you need python.' 이라는 문자열을 저장하고 a[5]를 출력하면 배열의 6번째 글자인 i가 나온다. (파이썬 역시도 C언어랑 동일하게 0부터 숫자를 센다.)

C랑 다른 점 중에 하나로, 파이썬은 배열의 -1번째 원소를 뒤에서부터 체크한 문자로 생각한다. 즉, a[-1] = n이 된다. 마찬가지로 a[-3] = h, a[-5] = y가 된다. 

 

문자열 슬라이싱 :  만약 a = 'Life is long, you need python.' 라는 문자열에서 Life라는 문자들만 출력하고 싶다면, a[0], a[1], a[2], a[3]까지만 출력하면 된다. 이 기능을 쉽게 하기 위해서 슬라이싱 기능이 있다. 즉, a[0:4]를 통해 0번째에서 3번째 배열의 원소까지 출력 가능하다는 것이다. 이 때, 주의해야 할 점은 array[i:j]라고 할 때, j 번째 원소가 아닌 j-1 번째 원소까지 포함이 된다는 점이다. 

또한, a[시작 번호:끝 번호]에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다. 혹은 시작 번호를 생략하면 문자열의 처음부터 끝 번호 - 1번째 원소까지 뽑아낸다. 만약 두 번호를 모두 생략한다면, 배열의 처음부터 끝까지 출력하게 된다. 슬라이싱에서도 인덱싱과 마찬가지로, 음수를 사용할 수 있다. 예를 들어 a[19:-7]는 a[19]부터 a[-8]까지 출력하여 'You need'을 출력하게 된다.

 

문자열에서 오타 하나를 수정하는 경우) Pithon 이라는 오타를 Python으로 수정할 때, a[1] = y 를 추가한다고 문자열 자체가 바뀌지는 않는다. 문자열 자료형의 요소 값 하나만은 바꿀 수 없기 때문에 immutable 문자형으로도 불린다. 따라서 a[:1] + y + a[2:]로 python을 출력되도록 할 수 있다. 

 

<형식 지정자>

C언어와 같이 각 자료형에 따라서 형식 지정자가 사용된다. %s 는 문자열(string), %c는 문자(character), %d는 정수, %f는 부동 소수, %o는 8진수. %x는 16진수, 그리고 %%는 문자 그대로의 %를 의미한다. 또한 %와 s/c/d/f/o/x 전에 1 이상의 수를 넣으면 그 값을 곱하고, 1 미만을 넣으면 그 만큼의 소수점 자리수를 출력한다. 즉, "%10s" % hi 는 '          hi'가 되고 "%.3d" % 3.141592는 '3.141'이 된다. 

 

 

 

 

댓글