print(2**10) 제곱
print(math.pow(2,10)) 제곱
제곱근은 내장 함수가 아니라 math 라이브러리를 import 해야한다 (루트)
print(math.sqrt(1024)) sqrt 루트
문자열은 문자들의 집합으로 궝되며 문자들은 일정한 순서를 가지고 있다. 이러한 순서는 색인(index)이라는 용어로 불린다. 미국인들 답게 순서는 0부터 시작한다. 0,1,2,3...
인덱싱 = 위치값
찾을 대상[찾는 것의 숫자값] 인덱스의 사용방법 0 부터 커지거나 -1로 뒤에서부터 찾는다.
a = 'python\'s fun. but python is a little bit difficult. however i am not horack horack, so i\'ll masterd it'
print(a[5])
print(a[-1])
문자열의 길이를 출력한다.
print(len(a))
print(a[len(a)-1])
슬라이싱 시작~끝까지 잘라낸다.
찾을대상[시작(이상):끝(미만):간격(n칸)]
a = 'abcdefghijklmnopqrstu'
print(a[0:20:2])
acegikmoqs
2이상 ~ 미만 문자를 n개씩 건너띄고 b에 담아 출력
d = 'python is fun'
print(d[5:])
n is fun
format() 함수는 값을 지정한 형식으로 변환해주는 함수
(1) format() 함수 인수
format(3.14159,'8.3f')
3.142
원주율 전체 8개 자릿수를 기준으로 소수점 이해 3번째까지만 표기된다. (반올림)
(2) 양식문자 인수
%s : 문자열 , %d : 십진법 , %f : 실수
사용 방법 : '내용 %s' %(값)
age = 10
weight = 40
print('my age is %d and weight is %fkg'%(age,weight))
print('%s는 %s입니다'%(date,day))
print('%s는 %s입니다'%(int(date),day))
%d decimal(십진법의) 라는 뜻이다.
(3) 외부 상수 인수
print('{} 어쩌구 저쩌구 {}'.format(value1,value2))
{}에 외부값을 차례로 가져온다.
(4) f 포맷팅
f를 앞에 쓰기
print(f'짐의 무게는 {변수명} 이고 수수료는 {변수명}입니다.')
format으로 뒤에 쓰기
print('포매팅을 {}사용해봅니다. {}이건 뭐였져?'.format('1번','2번'))
print 함수에서 사용하는 인수
value 인수
print('value=',10+20+30)
sep 인수 (임의의 특수문자로 값을 구분함)
print('010','2243','9321',sep='-')
end 인수 (줄바꿈이 아니라 인수로 끝남)
print('나는','배가','고프다',end=',')
출력 예시
value= 60
010-2243-9321
나는 배가 고프다,
(1) 대소문자 변경 .upper(), .lower()
a = 'heLLo'
print(a.upper())
b = "HELLo"
print(b.lower())
(2) 양쪽 공백 제거 .strip()
c = " HELLo "
print(c.strip())
(3) 대상 문자열에 지정한 문자가 몇개 있는지 개수 세기 변수.count('갯수 세야 하는 단어')
a = 'python'
b = a.count('o')
1
(4) 위치(index) 찾기 변수.find(찾을내용)
c = a.find('p')
0
없는 문자를 찾을 때는 -1을 return한다.
(5) 문자열 대체하기 replace(찾는문자,대체문자)
d = 'i studied python'
d1 = d.replace('python','java')
print(d1)
print(d)
(6) 구분자.join(s)
문자열 s를 구성하는 요소 문자를 구분자로 결합시킨다.
a = '나는배고파'
print(' '.join(a))
나 는 배 고 파
문제 : hello 를 n개 만큼 반복해서 입력하고 싶은 경우
예시 : hello,2 -> hheelllloo 이런 식으로
def solution(my_string, n):
answer = ""
for i in my_string :
answer = answer + i*n
return answer
위 내용을 join으로 수정하면 아래와 같다.
def solution(my_string, n):
return ''.join(i*n for i in my_string)
''로 붙인다고 하니까 아무 공백도 없이 그냥 붙여 쓰는 것이고 ()안에 있는 내용을 반복하여 붙이고 리턴한다고 보면 된다.
(7) 문자열 나누기 split()
e = d.split() 공백을 기준으로 나눈다
['i', 'studed', 'python']
스페이스바1칸, 중간에 2칸, 뒤에 3칸인 경우
dd = 'i studied python '
e1 = dd.split(" ") 공백 한 칸당 하나씩으로 나뉜다
['i', 'studied', '', 'python', '', '', '']
스플릿 중간에 " "가 사라지고 맨뒤에 " "는 나뉘는게 없어서 살아남는다.
print(e1)
print(dd.split()) 공백이 여러개여도 하나로 체크된다.
print(dd.split('ed')) ['i studi', ' python ']
sep : separate(구분자) 의 줄임말 입니다. 즉, 다중 출력 문자열에서 "각 문자열 객체 사이를 무엇으로 구분 할 것인가"
escape란 어떤 기능으로부터 벗어난 기능을 의미한다. 명령어 이외에 특수 기능을 갖는 문자들을 이스케이프 문자라고 한다. 이스케이프 문자들은 \로 표시한다.
\n : 줄 바꿈 처리 기능
\t : 탭키 처리 기능
ex) 경로 표현 시
C:\python\test >C:\python test
C:\python\test > C:\python\test