티스토리 뷰

파이썬(Python) - 문자열, 제곱, format, join, 리스트 등

공부하계된 계기

공부 방식


파이썬에서는 모든 것이 객체로 구현되어있다.

출력

print()

변수,리터럴값 확인할 때 씁니다.

type()

[문자열지정]

작은 따옴표 안에 지정한다 'hello'

큰 따옴표 안에 지정한다. "it's new"

여러중에 걸친 문자열은 3개 ('''또는""")로 지정한다.

[제곱]

x^y 는 x**y로 나타낼 수 있다.

[나눈후 소숫점 아래자리를 버림]

//연산자

[문자열에 "포함하고 싶을시]

\를 사용해서 가능하다.

[줄 바꿈 코드]

\n 코드를 사용한다.

[이스케이프 코드]

 코드

 설명

 \n

 개행 (줄바꿈)

 \t

 수평 탭

 \\

 문자 "\"

 \'

 단일 인용부호(')

 \"

 이중 인용부호(")

 \r

 캐리지 리턴

 \f

 폼 피드

 \a

 벨 소리

 \b

 백 스페이스

 \000

 널문자


[문자열 연산]

+: 두 문자열을 더한다.(붙인다.)

*n: 문자열을 n번 반복한다.

[인덱스]

파이썬 인덱스는 0부터 시작한다.

-1인덱스는 마지막 인덱스.

[문자열 슬라이싱]

a="abcd efg"
a[0:4] 는 abcd를 의미한다. 즉 0~4인덱스의 문자열을 뽑아낸다는 뜻이된다.

a[시작인덱스:끝인덱스]
이때, 끝 인덱스를 생략하면 인덱스의 마지막까지 뽑아온다.

a[:] 은 시작부터 끝까지 다 뽑아온다.


자주 사용하는 예제

a[:10]

a[10:]

또는

a[:3]

a[3:6]

a[6:]


[문자열 포매팅]

문자열 내에 값을 세팅하는 방법입니다.

(%d,%s : 문자열 포멧코드)

"number:%d" %3

여러개 넣을 시 콤마를 사용한다.

"number:%d %d" %(10,20)

 코드

설명

 %s

 문자열 (String)

 %c

 문자 1개(character)

 %d

 정수 (Integer)

 %f

 부동소수 (floating-point)

 %o

 8진수

 %x

 16진수

 %%

 Literal % (문자 % 자체)


%s는 어떤 값이든 변환이 가능해서 넣을 수 있다.(문자열로 변환을 해주기 때문이다)


%d를 쓰고 바로 뒤에 %문자를 표시하고싶을 때는

%를 두개 써서 %%와 같이 사용한다.


%10s : 전체길이가 10개, 오른쪽 정렬, 나머지 공백입니다.

%-10s : 왼쪽 정렬, 전체길이10, 나머지 공백입니다.


%10.4f : 전체길이 10개, 소수점 4개까지 표시합니다.


[format 함수를 이용한 포메팅]

"A is {0} {1}".format(1,2)

{0:<10} 왼쪽정렬, 10자리이다.

{0:>10} 오른쪽정렬, 10자리이다.

{0:^10} 가운데 정렬,10자리이다.

{0:@<10} 왼쪽정렬,10자리,공백은 골뱅이로 채운다.


아래는 3.6버전에 추가된기능입니다.(f문자열 포매팅)

f'my name is {name}. age is {age}'

또는

d={'name':'lee','age':22}

f'my name is {d["name"]}. age is {d["age"]}'

정렬기능

f'{"abc":<10}'

f'{"abc":>10}'

f'{"abc":^10}'


[문자열 관련 함수]

내장함수 count

"abbc".count('b')

b의 개수를 반환한다.


내장함수 find

"abcdefg".find('d')

d의 위치를 알려준다.

내장함수 index

"abcdefg".index('d')

d의 위치를 알려주고, 없을시 오류를 발생시킨다.


문자열 삽입하기 join.

>>> a=','

>>> a.join('hello')

'h,e,l,l,o'


내장함수, 대문자로 바꾸기 upper, 소문자로 lower

왼쪽 공백 지우기 .lstrip()

오른쪽 공백 지우기 .rstrip()

양쪽 공백 지우기 .strip()


문자열 바꾸기 replace()

>>> a="my name is 23"

>>> a.replace("23","lee")

'my name is lee'


문자열 나누기 slpit()

>>> a="a,b,c,d"

>>> a.split(',')

['a', 'b', 'c', 'd']


[리스트]

arr=[1,3,5,7,9]

리스트 안에는 어떤 값이든 들어갈 수 있다.

비어있는 리스트는 list()로 생성한다.


리스트의 슬라이싱이다.

>>> arr=[1,2,3,4,5]

>>> arr[0:2]

[1, 2]


리스트 더하기 +연산으로 가능하다.

리스트 반복하기 *연산으로 가능하다.


문자열변환 str(a)


리스트 수정

a[1:2] = ['a', 'b', 'c']

 a[1] = ['a', 'b', 'c']

위 두개는 다른 의미를 가진다.

첫번째는 리스트 범위를 변경하는 것.

두번째는 인덱스 1에 리스트를 요소로 넣겠다는 것이다.

댓글
댓글쓰기 폼
네이버 이웃추가
«   2019/10   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
글 보관함