[서울시 공공데이터] 파이썬 기본 - 2일
파이썬 기본 출력
print("hello")
print("hello", "world") # 여러개
print("1+1=", 1+1) #계산식
문자열 출력할 땐 " "로 문자 감싸기
구분자 지정 sep='구분자'
#, 로 구분
print('hello','python', sep=',')
# 공백없이 붙여서 출력 (1+1=2)
print('1+1=', 1+1, sep='')
끝문자 지정
# end='끝문자'
# 공백으로 끝내기
print('안녕하세요', end=' ')
print('반갑습니다')
#!로 끝내기
print('안녕하세요', end='!')
print('반갑습니다', end='!')
여러 줄 한번에 출력
# ""로 묶어서 여러 줄 한번에 출력
print("""
자세히 보아야 예쁘다.
오래 보아야 사랑스럽다.
너도 그렇다.
""")
주석 ## 코드 설명
# 주석 달기
# print(!)
들여쓰기 (공백 4칸)
# 들여쓰기 -- 문법
print('hello')
print('hello') #--이 문장 에러뜸
기본 자료형과 변수
기본자료형
- 정수형 int - 소수점 없는 수
- 실수형 float - 소수점 있는 수
- 문자열형 str - 하나 또는 다수의 문자로 구성된 형 (" ")
- 부울형 bool - true or false
변수 = 데이터가 저장되는 메모리 공간 의미
변수는 이름, 자료형, 값, 메모리 주소를 가진다
변수에 값 할당하기
변수명 = 변수값
# 변수 선언
name = 'james'
age = 20
height = 175.0
ischild = age<20
# 변수 출력 print(변수명)
# 변수 자료형 출력 print(type(변수명 ))
print(name)
print(type(name))
print(age)
print(type(age))
print(ischild)
print(type(ischild))
쌍따옴표나 홀따옴표가 포함되어있는 문자열 사용
a= "'낮말'은 새가 듣고 '밤말'은 쥐가 듣는다 "
print(a)
변수명 = input('입력할 내용')
*input으로 입력받은 값 = 문자열 타입 str
a = input('나이:' ) #입력 받음
print(a)
print(type(a))
자료형 변환하기
int(value), float(value),str(value)
# int(value): int형으로 변환
age = int('20')
type(age)
# str(value): str형으로 변환
age = str(20)
type(age)
#float(value): float형으로 변환
age = float(20)
print(age,type(age))
# input으로 입력받은 값을 숫자형으로 변환해 사용
a = int(input('나이:' ))
type(a)
산술 연산자
몫 //
나머지 %
거듭제곱 **
# 문자열 더하기 (문자 연결)
a = 'good'
b = 'morning'
a+b
# 문자열 곱하기 (문자열 반복)
s = 'ha'
s*4
#문자열과 숫자형 더하기
english = 80
result = '영어점수' + str(english)
print(result)
할당 연산자 = 컴퓨터 메모리에 할당된 주소 공간
즉 변수에 값을 저장한다
할당한다 = 1개 사용
같다 == 2개사용
# 할당 연산자
a = 1
# a, b, c에 모두 1 할당
a=b=c=1
print(a,b,c)
#a, b, c에 1, 2, 3gkfekd
a,b,c= 1, 2,3
복합 할당 연산자
x = 10
x += 20 # x = x+20
print(x)
x = 3
y = 5
x *= x+y # x= x*(x+y)
print(x)
f스트링으로 변수값 출력하기
print(f'{변수명1} {변수명2} 출력할 내용')
문장 사이에 변수값 편리하게 출력할 수 있다
name = input('이름:')
print(name, '님, 안녕하세요?')
#f스트링으로 바꾸기
print(f'{name}님 안녕하세요')
age = int(input('나이:'))
print('나이는', age, '살이시군요. 내년이면', age+1, '살이 되시겠네요')
#f스트링으로 바꾸기
print(f'나이는 {age}살이시군요 내년이면 {age+1}살이 되시겠네요')
a= int(input('첫번쨰 숫자:'))
b= int(input('두번째 숫자:'))
print(a, '+' , b'=', a+b)
# f스트링으로 바꾸기
print(f' {a} + {b} = {a+b}')
문자열 다루기
문자열 인덱스 = 각 문자의 자리 번호
첫 번째 문자의 위치는 0
# 양수 인덱스
a ='hello world'
# 'h' 출력
print(a[0])
# 'w' 출력
print(a[6])
# 'd'출력
print(a[10])
# 음수 인덱스 사용
a='hello world'
# 'h' 출력
print(a[-11])
# 'w' 출력
print(a[-5])
## 범위 밖의 인덱스 ==> 에러뜸
문자열 슬라이싱
문자열의 일정 범위를 추출하는 작업을 슬라이싱이라고 함
문자열[ 시작 인덱스 : 끝 인덱스: 간격]
# 양수 인덱스 슬라이싱
a='hello world'
# 'hello' 슬라이싱
print(a[0: 5])
#'world' 슬라이싱
print(a[6:11])
# 음수 인덱스 슬라이싱
a='hello world'
#'hello' 슬라이싱
print(a[-11:6])
#'world' 슬라이싱
print(a[-5:])
# 첫번째와 마지막 인덱스는 생략 가능
#'hello'
print(a[:5])
# 'world'
print(a[6:])
# 'hello world'
print(a[:])
문자열 함수
문자열.find(찾을 문자열) - 찾을 문자열 시작 인덱스 찾기
문자열.replace(찾을 문자열, 교체할 문자열) - 찾을 문자열을 교체할 문자열로 바꾸기
문자열.lower() - 문자열 모두 소문자로 바꾸기
문자열.upper() - 문자열 모두 대문자로 바꾸기
문자열.split('구분자') - 문자열을 구분자를 기준으로 나누기
# 문자열 교체하기 - 문자열.replace(찾을 문자열, 교체할 문자열)
a = '나는 초코우유 좋아해 '
print(a.replace('초코', '딸기'))
# 문자의 위치 찾기 - 문자열.find(문자)
a= 'hello world'
# 'e'의 위치 찾기
print(a.find('e'))
#소문자로 변환 문자열.lower()
a='Hello, Python!'
print(a.lower())
#대문자로 변환 - 문자열.upper()
print(a.upper())
#문자열 나누기 -split
phone = '010-4433-2233'
email = 'avc@naver.com'
phone.split('-')
email.split('@')
# 연습 문제- 성과 이름을 공백으루 구분/ 사용자 영문 이름 입력, 성과이름 순서 바꿔서 출력
#사용자의 영문 이름 입력받기( 성과 이름 공백으로 구분 )
full_name = input('영문 이름(성과 이름을 공백으로 구분하시오):')
#공백의 위치 찾기
space= full_name.find(' ')
print(space)
# 성, 이름 슬라이싱해 각 변수에 담기
first_name= full_name[:space]
last_name= full_name[1:]
print(first_name, last_name)
# 성, 이름 순서 바꿔 출력
print(last_name, first_name)