[210615 TIL] Python

Choi Rim·2021년 6월 15일
1

Python

목록 보기
2/20
post-thumbnail

문자열 포매팅

위치기반 (positional formating)

print('Hello my name is {}. 
Nice to meet you. 
How old are you? I\'m {} years old.'.format('hyerim', 23))

Hello my name is hyerim. Nice to meet you. How old are you? I'm 23 years old.

  • '{}{}'.format(first, last)
  • 포매팅을 이용해 원하는 문자를 원하는 위치에 넣을 수 있다.
  • 괄호() 안에 넣은 순서대로 포매팅된다.

이름 기반 (Named placeholder)

print('Hello my name is {name}. 
Nice to meet you. How old are you?
I\'m {age} years old.'.format(name = 'hyerim', age = 23))

Hello my name is hyerim. Nice to meet you. How old are you? I'm 23 years old.

  • 이름 기반으로 포매팅된다.
  • 조금 더 복잡해지지만 중복이 사라지고 가독성이 높아진다.

CGI로 홈페이지 구현하기

CGI란

사진출처 - http://www.sergey.com/web_course/part_5.html

Common gateway interface의 약자로 WWW 서버서버 상에서 등장하는 다른 프로그램이나 스크립트와의 인터페이스. 메일의 송신이나 게임 등, HTML에서는 불가능한 인터랙티브(interactive)한 요소를 홈페이지에 받아들여 쓸 수 있다.
예를 들면, 자신의 홈페이지를 만들었을 때 누가 자신의 홈페이지에 접속했고 자신의 홈페이지에 대해 어떻게 생각하는지 알고 싶다거나, 홈페이지를 통해 물건을 주문받는다거나, 특정한 데이터 베이스의 내용을 서비스 해주고 싶은 경우 홈페이지를 사용하는 사람들로부터 이름이나 주소 등의 자료를 얻어야 할 것이다. 그리고 원하는 상품을 고르게 한 후 찾고자 하는 자료의 이름을 입력하도록 해야 할 것이다. 이런 기능을 지원하는 홈페이지 작성 기법이 CGI이다. 쉽게 말해 CGI는 웹 서버를 운영하는 사람이 사용자들로부터 특정 정보를 얻어 자신의 프로그램에 사용하려고 할 때 필요한 인터페이스이다.

인터페이스 (interface)

사진출처 - https://multicore-it.com/56

인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다. 컴퓨팅에서 컴퓨터 시스템끼리 정보를 교환하는 공유 경계이다. 이러한 교환은 소프트웨어, 컴퓨터 하드웨어, 주변기기, 사람 간에 이루어질 수 있으며, 서로 복합적으로 이루어질 수도 있다. 터치스크린과 같은 일부 컴퓨터 하드웨어 장치들은 인터페이스를 통해 데이터를 송수신할 수 있으며 마우스나 마이크로폰과 같은 장치들은 오직 시스템에 데이터를 전송만 하는 인터페이스를 제공한다.
웹 프로그래밍 관점에서 인터페이스를 바라보면 브라우저를 사용할 때 우리가 자주 보는 웹사이트 화면이 바로 인터페이스에 해당한다. 물건을 구매할 때 구매 버튼을 클릭하면 인터페이스는 사용자의 요청을 웹서버에 전달하고 웹서버에 있는 프로세스는 입력 값에 알맞은 동작을 수행하고 데이터를 조회/수정/저장한 후 결과를 다시 인터페이스인 브라우저에게 전달한다. 브라우저는 웹서버가 보내준 결과를 사용자가 이해할 수 있도록 변경해 화면에 보여준다.

CGI 활용

#!/usr/bin/python3
print("Content-Type: text/html")
print()
  • 윗줄에 프로그램 안에 프로그램이 어떤 형식으로, 누구에 의해 실행되는 지 표시한다.
  • 컨텐츠 타입을 밑 줄에 표시한 후 한줄을 띄운다.
#!/usr/bin/python3
print("Content-Type: text/html")
print()
print('''<h1>
Hello WEB & Python
</h1>''')
  • 독스트링(''')을 이용해 HTML 문서를 출력할 수 있다.
import cgi
form = cgi.FieldStorage()
pageId = form["id"].value
print(pageId)
print('''<!doctype html>
<html>
<head>
    <title>Python</title>
    <meta charset="utf-8">
</head>
<body>
    <h1>
    Hello WEB & Python
    </h1>
    <ol>
        <li><a href="index.py?id=HTML">HTML</a></li>
        <li><a href="index.py?id=CSS">CSS</a></li>
        <li><a href="index.py?id=JavaScript">JavaScript</a></li>
    </ol>
    <h2>{title}</h2>
    <p>WEB is Wonderful</p>
</body>
</html>
'''.format(title=pageId))
  • href="index.py?id=HTML"
    링크를 pageid로 건다.
  • import cgi
    form = cgi.FieldStorage()
    pageId = form["id"].value

    을 이용하면 pageid를 가져올 수 있다.
  • format을 이용해 문서 타이틀을 링크를 클릭하면 pageid값으로 바뀌게 할 수 있다.
    너무 신기하다!

데이터타입

제어문

3. Boolean

논리적인 순서에서

print(True) #참
print(False) #거짓
  • 단 두 개의 데이터로 이루어짐

비교 연산자 (Comparison operator)

print(1==1)
print(1<2)
print(1>2)

True
True
False

  • 불리언은 비교 연산자로 비교한 결과를 반환한다.

멤버 연산자 (member operator)

print('rim' in 'hyerim')

True

  • 어떤 문자열에 문자가 포함되었는지를 '문자열' in '문자열'로 알 수 있다.
  • 결과는 불리언값으로 반환된다.

<참고>

profile
https://rimi0108.github.io/

0개의 댓글