서울시 공공데이터/데이터 분석

[서울시 공공데이터] 파이썬 기본 - 2일

막막한 2023. 5. 6. 00:58

파이썬 기본 출력 

 

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)