본문으로 바로가기







2일차



수업소개

실습준비 - 설치 및 연동

문법 - 데이터 타입 - 숫자

문법 - 데이터 타입 - 문자열

활용 - 홈페이지를 CGI로 구현

활용 - URL query string을 가져오는 방법

활용 - CGI 소개

문법 - 제어문 소개

문법 - Boolean

문법 - 조건문

활용 - 조건에 반응하는 앱 만들기

활용 - 파일 기능을 이용해 본문 구현

문법 - Python 공식 문서 보는 법

문법 - list

문법 - 컨테이너들

문법 - 반복문 for

활용 - 반복문을 이용해서 글목록 구현

활용 - 생성 구현 1 - form

활용 - 생성 구현 2 - 전송한 정보의 처리

활용 - 수정 구현

활용 - 삭제 구현

문법 - 함수

활용 - 함수를 글목록 기능을 정리 정돈하기

문법 - 모듈

활용 - 모듈로 함수 정리 정돈

활용 - 보안(XSS)

활용 - Pypi와 패키지 매니저

API

수업을 마치며

부록 - Sound of coding





#5.1. 문자열의 표현


▲ string.py 파일 만들기

▲ hello world 출력



□ 에러 발생 → (원인) 문법에 맞지 않음 → (해결) 문자 앞뒤에 '작은따옴표' 또는 '큰 따옴표' 입력해야함 




▲ 작은따옴표/큰따옴표를 통해 출력


▲ 알파벳 오(O)가 생략됨 (*에러)


▲ 큰따옴표를 함께 사용하여 알파벳 오(O) 강조



□ print('hell'o' world') ⇒ 오류

□ print("hell'o' world") ⇒ 문제해결




▲ escape 활용



□ # : 주석 (*python 內)

□ escpae (*escape sequence)[각주:1]

기존 의미를 탈출한 특수한 기능을 위해 사용하는 약속입니다.

즉, 기존 프로그래밍 언어를 통해 코드를 작성해가며 기존에 정해진 약속에 의해 표현이 곤란한 문자들을 표현한다던지, 특정 기능을 제공할 수 있습니다.

백슬래시(\)를 사용하여 표현의 한계를 벗어나게 되는 것입니다. (ex. "Hell'o' wor\"l\"d ─ (cmd 上 출력) → Hell'o' wor"l"d)



▲ \n (역슬래시n) 또는 ''' (단따옴표 3개)를 쓰면 줄을 바꿔서 입력 가능





#5.2. 문자열의 처리


▲ hello python 출력


▲ 출력된 글자 세기


Html
#length
print(len(a)) 

▲ 순서에 따른 글자 출력 (0,1,2,...n)


Html

print(a[0]) print(a[2:5])


▲ 전체 글자 두번 반복하기 (줄 바꿔서)


Html

print((a+'\n')*2)



#5.3. 문자열과 변수 - 이름만 바꿔서 메일보내기

▲ 여러사람한테 메일 보내야 되는 경우



[상황] 내용은 동일하지만 단체메일이 아니라서, 이름을 변경해야되는 경우 (ex.청첩장)

[문제] 명사로서 '김씨' 컴퓨터로서 '김씨'가 있음 → 구분필요

[해결] 변수를 사용하여 지정된 부분만 바꾸기 

Html
name = 'apple' (변수)
'+name+' (바꾸고 싶은 부분)
 


▲ 변수만 바꾸면, 원하는 부분만 통제가능하다.




#5.4. 포맷팅 - (응용)'체크리스트 / 수입신고서' 포맷제공


▲ 시트 복제하기 


▲ 포맷팅 검색하기 



□ 검색 : python3 string format

□ 포맷팅

(필요성) 인수인계·협업으로서 생길 수 있는 문제를 최소화 

(해결책) 텍스트파일 부분만 분리하여, 나를 제외한 사용자는 텍스트만 수정할 수 있게 한다. (cf. 변수)




▲ Postional formating (위치 기준)



- 위치 순서를 통하여, '변수'를 통제함




▲ Named placeholder (이름 기준)



출력되는 내용은 '위치 기준'과 동일하지만, 코딩이 좀 더 직관적이며, 이해하기 편하다


 


▲ 숫자/문자 강제입력화



- 사용자의 실수로 가끔 '수입신고서', 'BOM' 등에 숫자와 문자를 구분하지 않고 입력하는 경우가 있다. 

- 이 경우, d(digit)/s(string) 코드를 이용하면, 숫자/문자를 지정하여 넣을 수 있도록 유도할 수 있다.

- {age:d} 에서, 'age=twelve'를 입력하면 오류발생 (NamError: name 'twelve' is not defined)

- 오류발생 →  팝업창 생성 ('alarm') → 정정유도







  1. 출처: http://shovelman.tistory.com/839 [한글로는 삽잡이, 영어로는 shovelMan] [본문으로]