어떤 객체가 순서를 가지고 나열되어 있는것
python에서 sequence는: String, list, tuple이 있다.
-String = 문자 또는 기호들이 순서대로 나열되어있는 sequence type
-list = 객체가 순서대로 나될되어있는 sequence type
-tuple = 값을 변경할 수 없는 임의의 객체가 나열되어있는 sequence type
indexing을 통해서 해당 값을 얻을 수 있다.
0~부터 정수를 사용. 음수도 가능.
음수 : 끝에서 몇번째인지를 가리킴
문자열을 다루는 여러가지 방법들이 존재한다
'abc' 또는 abc"과 같이 quotation으로 문자열임을 표시한다. 만약 문자열이 길다면, ''' 또는 """로 표시한다.
our_string='python is the best language ever'
print(our_string.capitalize())
결과: Python is the best language ever
print(our_string.center(50))
print(our_string.center(50,'-'))
print(our_string.count('a'))
결과 : 2
x = "Hello, my name is Josh"
print(x.partition('n'))
결과: ['Hello, my ', 'n', 'ame is Josh']
또는, 반복적으로 있는 문자를 기준으로 split할 수 있다.
y = "apple,orange,pineapple,watermelon,plum"
print(y.split(','))
결과: ['apple', 'orange', 'pineapple', 'watermelon', 'plum']
문자열 y에서 몇개까지만 split할지 지정할 수 있다.
print(y.split(',',1))
print(y.split(',',2))
결과:
['apple', 'orange,pineapple,watermelon,plum']
['apple', 'orange', 'pineapple,watermelon,plum']
txt1 = 'java'
txt2 = 'python'
num1 = 5
num2 = 10
print('나는 %s보다 %s에 더 익숙합니다.' %(txt1, txt2))
print('%s은 %s보다 %d배 더 쉽습니다.' %(txt2, txt1, num1))
print('%d + %d = %d' %(num1, num2, num1+num2))
print('작년 세계 경제 성장률은 전년에 비해 %d%% 포인트 증가했다.' %num1)
결과:
나는 java보다 python에 더 익숙합니다.
python은 java보다 5배 더 쉽습니다.
5 + 10 = 15
작년 세계 경제 성장률은 전년에 비해 5% 포인트 증가했다.
실수의 경우 자리수를 formatting 할수있다.
no3 = 12.35
print('%3.2f%%' % no3)
print('%5.2f%%' % no3)
print('%5.1f%%' % no3)
결과:
12.35%
12.35%
12.3%
from time import sleep
for i in range(100):
msg = '\r진행률 %2d%%' %(100-i-1)
print(msg, end='')
sleep(0.1) # 0.1초동안 중지됨
결과: 100% --> 0% (0%가 될때까지 0.1초 텀을두고 순차적으로 감소한다.)
그외 다른 문자열 methods:
# list = str.split() : 문자열에서 리스트로, 공백으로 구분
# ” “.join( list ) : 리스트에서 문자열으로
a='Beautiful, is; better*than\nugly'
import re
re.split('; |, |\*|\n',a)
url = 'http://www.naver.com/news/today=20160831'
log = 'name:홍길동 age:17 gender:남자 nation:한국'
ret1 = url.split('/')
print(ret1)
ret2 = log.split()
for data in ret2:
d1, d2 = data.split(':')
print('%s -> %s' %(d1, d2))
loglist = ['2016/08/26 10:12:11', '200', 'OK', '이 또한 지나가리라']
bond = ';'
log = bond.join(loglist)
print(log)
결과:
['http:', '', 'www.naver.com', 'news', 'today=20160831']
name -> 홍길동
age -> 17
gender -> 남자
nation -> 한국
2016/08/26 10:12:11;200;OK;이 또한 지나가리라
str(variable): variable을 문자열로 변환해서 반환
chr(variable): 문자코드값에 해당하는 문자를 반환
ord(variable): 문자에 해당하는 문자코드 값을 반환
int(variable): 입력한 문자열 숫자를 정수로 변환해서 반환
print(chr(4))
print(ord('A'))
print(ord('z'))
print(float(8))
결과:
??
65
122
8.0
#빈공간, 문자를 입력하면 예외에 걸려서 메세지 출력
#정수나 실수를 입력하면 정수 또는 실수 출력
numstr = input('숫자를 입력하세요: ')
try:
num = int(numstr)
print('당신이 입력한 숫자는 정수 <%d>입니다.' %num)
except:
try:
num = float(numstr)
print('당신이 입력한 숫자는 실수 <%f>입니다.' %num)
except:
print('+++ 숫자를 입력하세요~ +++')