Programming Language/Python 기본문법

[Python] 기본 문법(2): 슬라이싱, 문자열 처리, String Formatting, Escape Sequence

lxvxxu 2024. 7. 13. 07:08

 

 

슬라이싱

# 슬라이싱

my_str = "010624-1234567"

print("성별 : " + jumin[7])
print("연 : " + jumin[0:2])
print("월 : " + jumin[2:4])
print("월 : " + jumin[4:6])

print("생년월일 : " + jumin[:6])
print("뒤 6자리 : " + jumin[7:])
print("뒤 6자리 (뒤에부터) : " + jumin[-7:])

 


문자열 처리

형식: 문자열(or 변수).함수()

※ C언어에서는 "함수(문자열 or 변수)" 형식으로 사용하는 것과 차이가 있다.

 

No. 함수 의미
1 lower() 문자열을 소문자로 변환
2 upper() 문자열을 대문자로 변환
3 islower() 문자열이 소문자인지 확인
4 isupper() 문자열이 대문자인지 확인
5 replace() 문자열 바꾸기
6 index() 찾는 문자열의 index (없으면 error 발생)
7 find() 찾는 문자열의 index ( or -1 return)
8 count() 문자열이 나온 횟수

 

python = "Python is Amazing"

print(python.lower())
# C언어 - tolower()

print(python.upper())
# C언어 - toupper()

print(python[0].isupper())
# C언어 - isupper()


# ★★★★★★★★ Only Python ★★★★★★★★★ #
print(python.replace("Python", "Java"))
# 일시적으로 Python이 Java로 바뀌어 출력될 뿐
# 실제로 변수의 값이 바뀌진 않는다.


index = python.index("n")   # 처음 발견한 n의 인덱스
print(index)    # 'Python'에서의 n

index = python.index("n", index + 1)    # 인덱스 6 이후부터 찾아 처음 발견한 n의 인덱스
print(index)    # 'is Amazing'에서의 n

index = python.index("n", 2, 6) # 인덱스 2~ 6 직전까지 찾아 처음 발견한 n의 인덱스
print(index)    # 'thon'에서의 n (인덱스 5)

# index = python.index("Java")
# # Java가 없으면 오류가 발생하며 프로그램 종료
print(python.find("Java"))


print(python.count("n"))
# ★★★★★★★★ Only Python ★★★★★★★★★ #
# Python에서 구간을 설정할 때에는 
# 구간 설정 예시 : (a, b)라면
# a부터 b 직전까지, 즉 (b-1)까지의 범위이다.

 

 

https://lxvxxu.tistory.com/17

 

[C언어] 문자열 함수, 문자 함수

※ 요약- strlen() : 문자열 크기- strcpy() : 문자열 초기화- strcat() : 문자열 뒤에 다른 문자열을 붙임 (string concatenation)- strcmp(), strncmp() : 문자열 비교 함수위 함수들을 이용하기 위해서는 #include 해야

lxvxxu.tistory.com

 


문자열 포매팅 (String Formatting)

문자열과 다른 자료형을 연결하려면 형변환을 해야 한다.

그런데 형변환 없이 문자열과 다른 자료형을 연결하는 방법이 있다.

원하는 위치에 특정한 값(or 변수)을 넣어서 하나의 문자열로 표현하는 방법이다.

 

그 방법은 여러 가지이며, 이 중 가장 편한 방법을 사용하면 된다.

 

<방법 1 : 서식 지정자(Format Specifier) 이용하기>

※ 서식 지정자 중에서 %s를 사용하면 정수, 문자, 문자열 등 자료형에 상관 없이 모든 값을 넣을 수 있다.

    - C언어와 다른 점

 

<방법 2-1 : format() 함수 사용하기 (기본)>

문자열에서 값을 넣을 위치에 중괄호 {}를 표시하고 뒤에 format(값1, 값2, ...) 형태로 값을 입력한다.

그리고 점(.)으로 문자열과 format() 함수를 연결하면 값들이 문자열의 중괄호 부분에 들어간다.

 

<방법 2-2 : format() 함수 사용하기 (변수)>

 

<방법3 : f-문자열 (f-string) 사용하기>

문자열 앞에 f를 추가하면 문자열이 나오기 전에 정의한 변수의 값을 문자열에서 사용할 수 있습니다.

단, 이 방법은 파이썬 3.6v 이상일 떄만 사용할 수 있습니다.

# 4-4. 문자열포맷

# 방법 1 : 서식 지정자(Format Specifier) 이용하기

print("나는 %d살입니다." % 20)
print("나는 %s을 좋아해요." % "파이썬")
print("Apple 은 %c로 시작해요." % "A")

print("나는 %s살입니다." % 20)
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간"))


# 방법 2-1
print("나는 {}살입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간"))
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간"))
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨간"))


# 방법 2-2
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color="빨간"))
print("나는 {age}살이며, {color}색을 좋아해요.".format(color="빨간", age=20))


# 방법 3 (v3.6 이상~)
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")

이스케이프 시퀀스

컴퓨터와 주변 기기의 상태를 바꾸는 데에 쓰이는 일련의 문자열

 

\r

커서를 맨 앞으로 이동시킨다.

   print("Red Apple\rPine"

위와 같은 명령어가 있다면 

    Red Apple

을 출력 후 커서를 맨 앞으로 이동시킨 뒤

    |Red Apple

Pine을 그대로 출력하여 "Red "를 덮어 쓰는 효과를 낸다.

    PineApple

 

# \n : 줄바꿈

# \" \' : 문장 내에서 따옴표

# \\ : 문장 내에서 \
print("C:\\Users\\Nadocoding\\Desktop\\PythonWOrkspace>")

# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")

# \b : 백스페이스 (한 글자 삭제)
print("Redd\bApple")

# \t : 탭
print("Red\tApple")

 

https://lxvxxu.tistory.com/12

 

<어서와 C언어는 처음이지!> 총 복습 (Ch01~Ch17)

C언어교재 범위: Chapter01 ~ Chapter17  포인터메모리구조체  반복문: while, do~ while, break, continue※ 반복문 종료 - break;    반복문 처음으로 돌아가기 - continue;선택문: if, if~else, switchswitch (제어식){ 

lxvxxu.tistory.com

 

※ C언어와 다른 점

    C언어에서는 \r이 캐리지리턴이라고 한 줄을 지우는 문자열이다.

    파이썬에서는 커서를 맨 앞으로 이동시키는 문자열이다.