Python 2일차

조영훈·2024년 7월 31일

Python

목록 보기
2/16
post-thumbnail

1. 출력문 print()의 다양한 형식

파이썬의 print 함수는 다양한 출력 서식을 지원

예제 ✍️

print('\nprint 출력서식 연습')
print(format(1.5678, '10.3f'))  # 전체 10글자 중에서 소수점 3자리까지 반올림해서 출력
print('나는 나이가 %d 살이다' % 23)  # %d 정수
print('나는 나이가 %s 이다' % '스물셋')  # %s 문자열
print('나는 나이가 %d살이고, 이름은 %s' % (23, '홍길동'))  # %d와 %s 조합
print('나는 키가%.1f이고, 공부에 대한 열정은 %d%%이다' % (177.7, 100))  # %d%% -> 숫자 뒤에 %가 붙는다

# format() 사용
print('이름은 {0}, 나이는 {1}'.format('테스트', 25))  # 위치 기반 포맷
print('이름은 {}, 나이는 {}'.format('테스트', 25))  # 순서대로 대입
print('이름은 {1}, 나이는 {0}'.format(25, '테스트'))  # 위치 지정 포맷

결과 화면 💻



2. 연산자

파이썬은 다양한 산술 연산자를 지원하며, 연산자 우선순위를 가진다.


예제 ✍️

'''
연산자
 나누기 -> %, 몫(//)
'''
print(5+3,5-3,5*3,5/3,5//3,5%3,5**3)
print('나누기에서 몫과 나머지를 구하기')
print(divmod(5,3))#(1,2) 결과를 tuple형태로 출력
print('연산자 우선순위:',3+4*5,(3+4)*5)
print('관계연산자(대소비교)',end=':')
print(5>3,5==3,5!=3,5<=3)#True False True False

print('논리연산자',end=',')
print(5>3 and 4<3,5>3 or 4<3,not(5>=3))#and, or, not(!) !=
print('테'+'스'+"트연습")
print('테스트'*10)#테스트 글자를 10번 반복하라
print('배정연산자')
# a++,++a는 사용불가 (증감연산자 없다)
a=10
a=a+1
a+=1
print('a=>',a)

print('부호변경',a,a*-1,-a,--a) # 12 -12 -12 12
print('boolean 처리',bool(0),bool(1),bool(2),bool(3),bool(None),bool(''))
#                   False   True    True    True    False      False
'''
 0->false 0외에는 true, None, 공백->false true인지 false인지를 체크해주는 함수 bool
'''
print('aa\tbb')#\t 탭키누른것으로 간주
print(r'aa\tbb')#문자열 앞에 r자를 쓰면 일반문자로 인식한다.
print('c:\aa\abc.txt')
print(r'c:\aa\abc.txt')



3. 문자열 처리

파이썬에서 문자열은 다양한 방법으로 처리 가능. 문자열은 불변이며, 슬라이싱(slicing)과 같은 다양한 기능을 제공

s = 'sequence'
print('길이(크기)=>', len(s)) # 문자열의 길이
print('포함 횟수:', s.count('e')) # 특정 문자의 포함 횟수
print('검색 위치:', s.find('e')) # 맨 첫번째 위치 찾아줌
print('검색 위치:', s.find('e'), s.find('e', 3), s.rfind('e'))
print('첫글자 유무=>', s.startswith('s'), s.startswith('b')) # 첫글자의 유무 확인

ss = 'mbc'
print(ss, 'mbc', id(ss))
ss = 'abc' # 문자열이 저장된 주소값이 변경됨
print(ss, 'abc', id(ss))

print('\nslicing')
print(s[0], s[2:4], s[:3], s[3:]) # s qu seq uence
print(s[-1], s[-4:-1], s[-4:], s[::2]) # e enc ence sqec

print('변경전', id(s))
s = 'fre' + s[2:] # 'fre' + 'quence' => frequence
print(s)
print('변경후', id(s))

s2 = 'kbs mbc'
s2 = ' ' + s2[:4] + 'sbs' + s2[4:]
print(s2)
print(s2.strip()) # 양쪽 공백 제거
print(s2.rstrip(), s2.lstrip()) # 오른쪽, 왼쪽 공백 제거
s3 = s2.split(sep=' ') # 분리 기호
print(s3) # 리스트 형태로 저장

print(':'.join(s3)) # :kbs:sbsmbc

a = 'Life is too short'
print(id(a)) # 문자열의 주소값 출력
a = a.replace(a[:4], 'Your Leg') # 문자열 변경
print(a, id(a)) # Your Leg is too short
profile
개발 꿈나무

0개의 댓글