Web-Programming School 1월 18일 수업
본 문서는 패스트캠퍼스 ‘Web-Programming School’ 수업 자료를 바탕으로 작성되었습니다.
1. 각종 용어
literal(리터럴)
: 변하지 않는 고정된 데이터 자체의 표현
ex) python - 정수형 / 문자열/ 부동소수점
상수
- : 고정된 값을 가질 수 있는 변수나 변경되지 변수
- 프로그램이 실행되는 동안 값이 변하지 않는 것
ex) c++ const, Java final
2. 변수
파이썬은 모든것이 객체로 이루어져있다.
#두 a의 id값이 다름
a = 3
type(a)
id(a)
a = float(a)
type(a)
id(a)
객체는 데이터의 형태를 결정해주는 타입으로, 파이썬에는 객체의 타입을 바꿀 수 없음.
id(변수명)
변수가 참조하고 있는 객체가 메모리 상에서 가지고 있는 고유 주소 출력
객체란 변수들과 그와 관련된 메서드들이 모여서 이룬 하나의 꾸러미
type(변수명)
변수의 타입 확인
변수의 입력과 출력
var = input()
input() 함수 사용
3.숫자
수학 연산자 (그 중 특이했던 것만)
연산자 | 설명 |
---|---|
// | 정수 나누기 |
% | 나머지 |
** | 지수 |
산술 연산자 결합
우선순위
진수
2진수(binary): 0b또는 0B로 시작 8진수(octal): 0o또는 0O로 시작 16진수(hex): 0x또는 0X로 시작
형변환
int("35")
처럼 int 와 float 을 사용
4. 문자열
파이썬3에서는 문자열에서 기본적으로 유니코드(Unicode)를 사용하며, 불변(immutable)하다.
문자열 표현
작은 따음표 또는 큰 따음표
>>> '패스트캠퍼스 "웹 프로그래밍 스쿨"'
'패스트캠퍼스 "웹 프로그래밍 스쿨"'
세 개의 작은 따음표 또는 큰따음표 여러줄에 걸친 문자열을 나타낼 때 사용
>>>'''안녕하세요.
............. 잘지내시나요?'''
문자열 더하기
>>> notice = ''
>>> notice += '공지사항'
>>> notice += '(패치노트)'
>>> notice += ': 7.1 패치노트'
'공지사항(패치노트): 7.1 패치노트'
형변환
내장함수 str()
사용
인덱스 연산
문자열에서 문자 추출을 위해선 대괄호 와 오프셋 으로 지정 가능
가장 왼쪽은 0, 오른쪽은 -1
>>> lux = '빛으로 강타해요!'
>>> lux[0]
'빛'
문자열은 불변함으로 인덱싱한 부분에 새 값을 대입할 수 없다.
>>> lux[0] = '손'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
슬라이스 연산
[ : ]
: 처음부터 끝까지
[start : ]
: start오프셋부터 마지막까지
[ : end]
: 처음부터 end 오프셋까지
[start : end ]
: start 오프셋부터 end오프셋까지
[start : end : step ]
: start 오프셋부터 end오프셋까지 step 만큼씩 뛰어넘음
lux = '빛으로 강타해요!'
>>> print(lux[:])
>>> print(lux[0:])
>>> print(lux[:3])
>>> print(lux[3:5])
>>> print(lux[0:6:2])
빛으로 강타해요!
빛으로 강타해요!
빛으로
강
빛로강
길이
len()
사용
문자열 나누기
>>> twice = '나연, 정연, 모모, 사나, 지효, 미나, 다현, 채영, 쯔위'
>>> twice.split(',')
['나연', ' 정연', ' 모모', ' 사나', ' 지효', ' 미나', ' 다현', ' 채영', ' 쯔위']
split
함수에 진자로 주어진 구분자 를 기준으로 하나의 문자열 리스트 형태로 반환
문자열 결합
>>> twice = '나연,정연,모모,사나,지효,미나,다현,채영,쯔위'
>>> twice_split=twice.split(',')
>>> twice_join = ', '.join(twice_split)
>>> print(twice_join)
나연, 정연, 모모, 사나, 지효, 미나, 다현, 채영, 쯔위
문자열 리스트를 하나의 문자열로 결합
각 문자열을 결합해줄 구분자 문자열 지정 후 join()
함수 이용
대소문자 다루기
>>> lux = 'lux, the Lady of Luminosity'
>>> lux.capitalize()
'Lux, the lady of luminosity'
>>> lux.title()
'Lux, The Lady Of Luminosity'
>>> lux.upper()
'LUX, THE LADY OF LUMINOSITY'
>>> lux.lower()
'lux, the lady of luminosity'
>>> lux.swapcase()
'LUX, THE lADY OF lUMINOSITY'
capitalize()
: 첫글자만 대문자
title()
: 띄어쓰기를 기준으로 첫글자 대문자
upper()
: 모든 글자를 대문자로 변경
lower()
: 모든 글자를 소문자로 변경
swapcase()
:대문자는 소문자로/ 소문자는 대문자로
문자열 포맷
새 스타일 ({},format)
{}.format(변수)
# 기본형태
>>> '{} {} {}'.format(d, f, s)
'37 3.14 Fastcampus'
# 각 인자의 순서를 지정
>>> '{1} {2} {0}'.format(d, f, s)
'3.14 Fastcampus 37'
# 각 인자에 이름을 지정
>>> '{d} {f} {s}'.format(d=50, f=1.432, s='WPS')
'50 1.432 WPS'
# 딕셔너리로부터 변수 할당
>>> dict = {'d': d, 'f': f, 's': s}
>>> '{0[d]} {0[f]} {0[s]} {1}'.format(dict, 'WPS')
'37 3.14 Fastcampus WPS'
# 타입 지정자 입력
>>> '{:d} {:f} {:s}'.format(d, f, s)
'37 3.140000 Fastcampus'
# 이름과 타입지정자를 모두 사용
>>> '{digit:d} {float:f} {string:s}'.format(digit=700, float=1.4323, string='Welcome')
'700 1.432300 Welcome'
# 필드길이 10, 우측정렬
>>> '{:10d}'.format(d)
' 37'
>>> '{:>10d}'.format(d)
' 37'
# 필드길이 10, 좌측정렬
>>> '{:<10d}'.format(d)
'37 '
# 필드길이 10, 가운데 정렬
>>> '{:^10d}'.format(d)
' 37 '
# 필드길이 10, 가운데 정렬, 빈 공간은 ~로 채움
>>> '{:~^10d}'.format(d)
'~~~~37~~~~'
f 표현법
f'{변수 또는 표현식}'
실습
여러 줄의 텍스트를 multi_lines변수에 할당하고,
print()함수로의 출력과 인터프리터의 자동 출력(변수명 입력)을 비교해보시오.
>>> multi_lines='''안녕하세요
오늘은 날씨가 참 좋네요
좋은 하루 되세요'''
>>>print(multi_lines)
>>>multi_lines
안녕하세요
오늘은 날씨가 참 좋네요
좋은 하루 되세요
'안녕하세요\n오늘은 날씨가 참 좋네요\n좋은 하루 되세요'
print
명령어는 \ n
개행문자를 읽어준다.