[python] 변수/문자열 간단한 규칙들

Cjw.dev·2023년 3월 13일
0

Python

목록 보기
2/7

실행 방법

print("군침이 싹 도는 군")

변수 선언
(변수명) = (값)

number = 100

특징 : 묵시적 형변환 허용 안됨.

number = 100
baek = "숫자백"
print(number+baek) # error
print(str(number)+baek) # 100숫자백

키워드 종류

if, elif, else, and, or, not, import
while, for, in, try, except(catch대신), finally
class, break, continue, def, return

and, or 가능 &&, || 불가능

파이썬 문자열 생성의 규칙

str1 = "화려한 따옴표가"
str2 = '나를 싸악 감싸네'

문자열 생성시 주의사항

  • 큰 따옴표, 작은 따옴표 잘 섞어쓰기

문자열 내 \ <- 활용하는 방법
이스케이프 코드(), 코딩시에 미리 정해둔 문자의 조합
출력 결과를 정렬하기 위해 사용하는 코드
\n : 개행
\t : 문자열 사이에 탭 간격을 줄 때 사용
\ : 문자 그대로 \를 표현하고 싶을 때 사용
\' : 문자 그대로 '를 표현하고 싶을 때 사용

str3 = '어제는 정말 \'햅삐\'했음ㅋㅋ'
print(str3) //

문자열의 연산

  • 덧셈과 곱센만 가능하며, 선안한 문자열은 프로그램이 실행되는 동안 바뀌지 않음
    str4 = "군침이 싹 도는 제육볶음"
print(str4 * 3) # 군침이 싹 도는 제육볶음군침이 싹 도는 제육볶음군침이 싹 도는 제육볶음

파이썬 자료형의 특징

  • 다른 타입끼리의 연산은 일반적으로 불가능
  • 정수 + 실수는 가능

문자열의 인덱싱/슬라이싱

인덱싱 : 문자열의 어느 부분에 접근할 때 사용
슬라이싱 : 문자열의 어느 부분을 추출하기 위해 사용

idx1 = 'sinlimdong nuclearteeth'
print(idx1[0]) # s
print(idx1[2:6]) # 2<=값<6 nlim 
print(idx1[3:10]) # 3<=값<6 limdong 
# 음수 인덱스 : -1은 h -2는 t가 된다. 
print(idx1[-5:]) # -5부터 0까지teeth
# 슬라이싱 응용 (변수명[시작인덱스위치 : 끝인덱스위치+1 : 증가값(step)])
print(idx1[0:15:2]) # snidn ul

연습예제

#문제1. 보기의 문자열에서 두번째와 네번째 문자를 출력하세요
#주의 : 기준이 문자열의 순서가 아닌 일반적인 순서를 얘기하는 거임
#       0번째시작이 아닌 1번째 시작
#        0123456789
quiz1 = "whiteboard"
print(quiz1[1]+quiz1[3])

#문제2. 주어진 변수 quiz2의 값을
#문자열의 슬라이싱 기능을 이용하여 'Boxer Slayer'로 변경해 보세요. 
#출력값:'Boxer Slayer'
#변수선언이 필요하다 판단되면 자유롭게 선언하세요.

quiz2 = "Slayers Boxer"
print(quiz2[-5:]+" "+quiz2[0:7])

# 필요한 것들?
# boxer라는 문자 출력, slayers 라는 문자 출력, 사이에 공백.

#문제3. 김코딩씨의 주민등록번호는 801125-1212351이다. 
#김코딩씨의 주민등록번호를 연월일(YYYYMMDD)부분과 
#그뒤의 숫자 부분으로 나누어 출력해 보세요.
#결과값 19801125 1212351

quiz3 = "801125-1212351"
print("19"+quiz3[0:6]+" "+quiz3[-7:])

문자열 포메팅
신형 포멧 코드(3.6버전 이후로 사용가능)

bite = 2
damage = 10000

print("warwick bite {} times at junmo he has damage {}".format(bite, damage))

dance = 1234
print("kd was {} dancing time".format(dance))

문자열 관련 함수
count, find, index, upper, lower, strip, replace, split, len

문자열 관련 함수 확인법

print(dir(str))

count : 문자열에서 검색한 요소의 개수를 세는 함수
변수.count('찾을문자')

cnt = "hobby"
print(cnt.count('h'))
print(cnt.count('z'))
print(cnt.count('b'))
print(cnt.count('by'))

find, index : 요소의 위치를 알려주는 함수.

변수.find('찾을문자')
변수.index('찾을문자')
b를 찍으면 결과는 2가 출력.
 -> 중복된 요소가 존재한다면 가장 앞에 있는 요소의 인덱스를 출력.
print(cnt.find('o'))
print(cnt.index('o'))

그렇다면 찾는단어가 없다면?
print(cnt.find('Z'))
print(cnt.index('z'))
index의 경우는 없는 단어라면 valueError 출력
but 에러가 났다고 해서 쓸모없는 함수인게 아니라
에러의 경우는 예외처리라는것을 이용하여 결과를 제어할수 있음.

try:
    print(cnt.index('z'))
except:
    print("그런건 없습니다.")

upper / lower
대소문자 변경
upper : 변수.upper() 소문자 -> 대문자
lower : 변수.lower() 대문자 -> 소문자

str1 = 'only lower'
str2 = 'ONLY UPPER'
str3 = 'Mixed Alpabet'

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

replace : 문자열바꾸기
변수.replace("바꿀문자", "변경될 문자")

str4 = 'banqna'
result = str4.replace("q", "a")

replace 함수는 바꿀 문자가 없다면 원래의 값을 출력.
result = str4.replace("z", "a")
replace 함수는 같은 단어가 있다면 모두다 변경.
result = str4.replace("z", "ㄱ")
print(result)

len / 자료형의 길이 확인

len(변수)
특징 : 공백도 인식.
print(len(str4))

strip : 공백지우기(lstrip, rstrip)
변수.strip()

str3 = 'Mixed Alpabet'

test = "   tired   "
print(len(test))
print(len(test.strip()))
print(test.lstrip())
print(len(test.rstrip()))

split / 문자열 나누기
변수.split('나눌기준문자')

split_test = "our!life!is!happy"
print(split_test.split('!'))

split_test2 = "주말은 정말 행복합니다"
print(split_test2.split())
나눌 기준문자가 문자열에 존재하지 않으면
문자열 그대로 리스트에 저장한다.
print(split_test2.split('#'))
profile
백엔드 개발 공부 기록 22.11.07 ~ ing

0개의 댓글