stxxp

python 문법 본문

Programming

python 문법

stxxp 2020. 7. 8. 20:42

#문자열 자료형 특징

>> 인덱싱

모든 문자열은 한 글자 단위의 요소로 구성되어 있는데 이 요소들의 순서를 바탕으로 특정한 문자를 검색하는 것은 인덱싱이라고 합니다.

 

str = "python coding"

print(str[1])
print(str[7])

 

결과화면

str[1]은 첫 번째 요소를 말하는 것이므로 y가 출력되고 str[7]은 일곱 번째 요소를 말하는 것이므로 c가 출력됩니다.

공백도 문자열에 포함됩니다.

 

 

>> 슬라이싱

단일 문자 이외에 다수의 문자(문자열)를 뽑아낼 때 사용하는 방법을 슬라이싱이라고 합니다.

 

str = "20190325"

print("년도 :", str[:4])
print("월 :", str[4:6])
print("일 :", str[6:])

 

결과화면

[숫자:숫자]의 형태로 사용할 수 있고 [4:6}을 하면 4번 요소와 5번 요소가 출력됩니다.

또한 0번째 요소부터 출력을 시작하거나 마지막 요소까지 출력할 때에는 생략이 가능합니다.

 

>> 대소문자

문자열 전체를 대문자나 소문자로 바꾸기 위해서는 lower함수와 upper함수를 사용해야 합니다.

 

str1 = "python"
str2 = "KOREA"

print(str1.upper())
print(str2.lower())

 

결과화면

 

 

>> count 함수, index 함수

문자열에서 포함되어있는 특정한 글자의 개수를 세기 위해서는 count 함수를 사용하고 그 특정 글자가 나타난 위치를 알려주는 함수가 바로 index 함수입니다.

여기서 index 함수는 모든 위치를 출력하지 않고 글자가 처음으로 나타난 위치만 알려줍니다.

 

str = "I love apple pie and apple cake"

print("1-1. ", str.count("p"))
print("1-2. ", str.index("p"))

print("2-1. ", str.count("apple"))
print("2-2. ", str.index("apple"))

 

결과화면

 

>> replace 함수

문자열 안에 있는 특정한 문자를 다른 문자로 바꾸고 싶을 때 replace 함수를 사용합니다.

replace 함수로 특수기호(!,? 등)도 바꿀 수 있습니다.

 

str = "I am very sad"

print(str.replace("sad", "happy"))

 

결과화면

 

 

 

 

#튜플 자료형 특징

튜플 자료형은 리스트 자료형과 매우 비슷하지만 요소를 대괄호가 아닌 소괄호로 둘러싸고 값의 생성 및 삭제와 수정이 불가능하다는 점에서 큰 차이가 있습니다.

 

요소 값을 추가, 삭제, 변경이 불가능해도 인덱싱, 슬라이싱과 연산은 가능합니다. 

>> 슬라이싱

튜플 자료형에서 슬라이싱을 하면 출력된 값이 () 소괄호로 감싸지고 문자는 ''작은따옴표가 붙습니다.

 

subject = (("english1", "english2"), "math", "social", "music")
number = (1,2,3,4,5)

print(subject[:3])
print(number[:3])

 

결과화면

 

>> 연산

튜플에서는 주로 여러 개의 튜플을 합치거나 (더하기 연산자 '+' 사용) 여러 번 나타내기 (곱하기 연산자 '*' 사용) 위한 연산을 합니다.

 

튜플끼리 합치는 연산을 하면 합치는 순서대로 연결되어 출력되며 튜플끼리 곱하는 연산을 하면 해당 튜플이 곱한 만큼 연속되어 출력됩니다.

튜플에서는 요소 값을 추가할 수 없기 때문에 만약 tup1 = (1, 2, 3)에 요소 4, 5를 더해서 출력하려면 tup2 = (4, 5)를 tup1에 더해야 합니다.

 

tup1 = (10, 20, 30)
tup2 = (40, 50, 60)
tup3 = ("a", "b", "c", "d", "e", " ")

print(tup1 + tup2)
print(tup3 * 10)

 

결과화면

 

 

 

 

#딕셔너리 자료형 특징

딕셔너리 자료형은 다른 자료형과 다르게 key값을 가집니다. 딕셔너리는 요소의 순서가 아닌 이 key값을 통해서 요소에 접근하여 바꾸거나 지우거나 추가할 수 있게 됩니다.

 

딕셔너리 자료형을 사용할 때는 key값에 ""큰따옴표를 붙여줘야 합니다.

 

또한, 문자열 자료형, 튜플 자료형과 마찬가지로 인덱싱을 사용할 수 있습니다.

 

자료형 튜플 자료형 딕셔너리 자료형
선언 형태 fruit = ("apple", "grape", "banana") fruit = {"Red":"apple", "Purple":"grape", "Yellow":"banana"}
내용 요소 번호 요소의 값 key값 요소의 값
0 apple Red apple
1 grape Purple grape
2 banana Yellow banana

 

그렇기 때문에 딕셔너리에서 요소의 값을 변경, 삭제, 추가하기 위해서는 요소의 순서가 아닌 key값을 사용해야 합니다.

 

fruit = {"Red":"apple", "Purple":"grape", "Yellow":"banana"}

fruit["Yellow"] = "mango"

print(fruit)

 

결과화면

 

 

 

 

#조건문 if, else, elif

조건문의 형태는

 

if (변수)(비교 연산자)(비교하는 값):

      (if문 안에 들어왔을 때 실행될 코드)

 

입니다.

 

만약 if문이 참이 아닌 경우에도 무언가를 실행하고 싶은 경우에 else를 이용합니다.

(else는 if문이 거짓일 때 실행됨)

 

그리고 두 가지 이상의 조건에 대해 코드를 실행시키려면 elif를 사용하는데 이는 c언어에서의 else if와 동일한 의미로 쓰입니다.

 

age = int(input("나이를 입력해주세요 : "))

if age < 20:
	print("미성년자입니다.")
elif age < 30:
	print("20대입니다.")
elif age < 40:
	print("30대입니다.")
else:
	print("40대 이상입니다.")

 

결과화면

 

 

 

 

#반복문 for, while

>> for문

for문은 반복 조건, 반복 내용, 반복으로 구성되어 있습니다. 반복 횟수를 조정해주기 위해서는 range 함수를 사용하는데 이 함수는 변수의 범위를 지정해줍니다. for문의 형태는

 

for (변수) in range((반복 조건)):

     (반복 내용)

 

입니다.

 

sum=0

for a in range(1, 101):
	sum += a

print("1부터 100까지의 합 : ", sum)

 

결과화면

위 코드에서 range 안에 (1, 101) 은 반복문을 1부터 100까지 반복한다는 뜻입니다.

 

 

>> while문

while문 역시 반복 조건, 반복 내용, 반복으로 구성되어 있습니다. 주의해야 할 점이 있다면 while문은 초기 식이 없으면 실행되지 않는다는 것입니다. 형태는

 

(변수) = (변수의 시작 값)

while (변수) (비교 연산자) (비교하는 값):

     (반복 내용)

     (변수 증감식)

 

입니다.

 

a = 1

while a <= 10:
	print(a)
	a += 1

 

결과화면