87 minute read


한글폰트

# 폰트 설치
!apt-get update -qq # 나눔고딕 설치
!apt-get install fonts-nanum* -qq

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

fontpath = '/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf'
font = fm.FontProperties(fname=fontpath, size=9)
plt.rc('font', family='NanumBarunGothic') 
mpl.font_manager._rebuild()
# 여기까지 실행 후 "런타임 다시 시작..." 실행 (이 부분은 실행할 필요 없음)
Selecting previously unselected package fonts-nanum.
(Reading database ... 148492 files and directories currently installed.)
Preparing to unpack .../fonts-nanum_20170925-1_all.deb ...
Unpacking fonts-nanum (20170925-1) ...
Selecting previously unselected package fonts-nanum-eco.
Preparing to unpack .../fonts-nanum-eco_1.000-6_all.deb ...
Unpacking fonts-nanum-eco (1.000-6) ...
Selecting previously unselected package fonts-nanum-extra.
Preparing to unpack .../fonts-nanum-extra_20170925-1_all.deb ...
Unpacking fonts-nanum-extra (20170925-1) ...
Selecting previously unselected package fonts-nanum-coding.
Preparing to unpack .../fonts-nanum-coding_2.5-1_all.deb ...
Unpacking fonts-nanum-coding (2.5-1) ...
Setting up fonts-nanum-extra (20170925-1) ...
Setting up fonts-nanum (20170925-1) ...
Setting up fonts-nanum-coding (2.5-1) ...
Setting up fonts-nanum-eco (1.000-6) ...
Processing triggers for fontconfig (2.12.6-0ubuntu2) ...

Install

# Tokenizer library 설치
!pip install sentencepiece
Collecting sentencepiece
  Downloading sentencepiece-0.1.96-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)
     |████████████████████████████████| 1.2 MB 2.7 MB/s 
[?25hInstalling collected packages: sentencepiece
Successfully installed sentencepiece-0.1.96

Evn

# imports
import argparse
import os
import random
import shutil
import json
import zipfile
import math
import copy
import collections
import re

import matplotlib.pyplot as plt
import pandas as pd #데이터 핸들링 라이브러리
import numpy as np # 수치연산 라이브러리
import sentencepiece as spm
import tensorflow as tf
import tensorflow.keras.backend as K 

from tqdm.notebook import tqdm, trange # 프로그레스 그리는 라이브러리
# 환경 설정
#아그 파서 
args = {
    # random seed value
    "seed": 1234
}
args = argparse.Namespace(**args)

print(args)
Namespace(seed=1234)
# random seed 설정
# seed 값을 설정 ( 큰 이유 : 텐서플로우가 초깃값을 랜덤하게 초기화를 함 따라서, 어떤 경우에는 현상이 제어가 안되는 문제가 있음)
random.seed(args.seed)
np.random.seed(args.seed)
tf.random.set_seed(args.seed)
# gpu 사용량 확인
!nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
# google drive mount
# 구글드라이브를 로칼로 쓰고 싶어서
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
# data dir
data_dir = '/content/drive/MyDrive/강의자료.202109/data'
os.listdir(data_dir)
['kowiki', 'hello1.json', 'hello.json', 'hello2.json']

argparse

  • https://docs.python.org/ko/3/library/argparse.html
args = {
    "seed": 1234,
    "name": "aaaa",
    "value": 7890,
    "text": "nice to meet you"
}
args = argparse.Namespace(**args)

args
Namespace(name='aaaa', seed=1234, text='nice to meet you', value=7890)
args.name, args.value
('aaaa', 7890)
args.aa = 'aaa'
args
Namespace(aa='aaa', name='aaaa', seed=1234, text='nice to meet you', value=7890)
#실습
args.data_dir= data_dir
args
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-24-2ffb6ab2c475> in <module>()
      1 #실습
----> 2 args.data_dir= data_dir
      3 args


NameError: name 'args' is not defined

실습

  • args에 data_dir 변수를 생성해 보세요.

os

  • https://docs.python.org/ko/3/library/os.html
  • https://docs.python.org/ko/3/library/os.path.html
# 폴더 목록 조회
os.listdir(data_dir)
['kowiki']
# 경로생성
temp_path = os.path.join(data_dir, 'aaa')
temp_path
'/content/drive/MyDrive/강의자료.202109/data/aaa'
# 폴더 생성
os.makedirs(temp_path)
# 폴더 목록 조회
os.listdir(data_dir)
['kowiki', 'aaa']
# 폴더 생성
os.removedirs(temp_path)
# 폴더 목록 조회
os.listdir(data_dir)
['kowiki']
os.listdir(os.path.join(data_dir, 'kowiki'))
['kowiki.txt.zip']

실습

  • 현재 폴더의 파일 목록을 출력해 보세요.
  • 현재 폴더 아래 ‘drive’ 폴더의 파일 목록을 출력해 보세요.
os.listdir('.')
['.config', 'drive', 'sample_data']
os.listdir('./drive')
['MyDrive', '.file-revisions-by-id', '.shortcut-targets-by-id', '.Trash-0']

file

#원래 open하면 꼭 close를 해줘야하는데 with를 쓰면 안에서만 열림
with open('test.txt', 'w') as f:
    f.write('안녕하세요.')
    f.write('\n')
    f.write('만나서 반갑습니다.')
    f.write('\n')
print('하하하하', end='ㅋㅋㅋㅋ')
하하하하ㅋㅋㅋㅋ
#앞뒤 공백을 없앰
'  1     하하핳     2       '.strip()
'1     하하핳     2'
with open('test.txt') as f:
    for i, line in enumerate(f):
        line = line.strip() 
        print(line)
        if i >= 1:
            break
안녕하세요.
만나서 반갑습니다.

실습

  • data_dir 폴더에 hello.txt 파일을 생성하고 임의의 문장을 5줄 기록해 보세요.
  • data_dir 폴더의 파일 목록을 출력하세요.

with open(os.path.join(data_dir, 'hello.txt'), 'w') as f:
  for i in range(5):
    f.write(f'text line {i+1}') # 숫자를 넣을때 f옆에 써주면 편함 (f'')
    f.write('\n')
os.listdir(data_dir)
['kowiki', 'hello.txt']

random

  • https://docs.python.org/ko/3/library/random.html
# random 값 생성 (0 .. 1)
random.random()
0.08393822683708396
random.seed(args.seed)
random.random()
0.9664535356921388
# 1..6 사이의 값 random 선택
random.randrange(1,7)
4
# random 순서 섞기
a = [1, 2, 3, 4, 5, 6]
random.shuffle(a)
a
[2, 4, 3, 5, 6, 1]

실습

  • data_dir 폴더에 hello.txt 파일을 생성하고 random값을 5줄 기록해 보세요.
  • data_dir 폴더의 파일 목록을 출력하세요.
with open(os.path.join(data_dir, 'hello.txt'), 'w') as f:
  for i in range(5):
    f.write(f'{random.random()}') # 숫자를 넣을때 f옆에 써주면 편함 (f'')
    #f.write(str(random.random()))
    f.write('\n')
os.listdir(data_dir)
['kowiki', 'hello.txt']

shutil

  • https://docs.python.org/ko/3/library/shutil.html
os.listdir("sample_data")
['anscombe.json',
 'README.md',
 'california_housing_test.csv',
 'california_housing_train.csv',
 'mnist_test.csv',
 'mnist_train_small.csv']
os.listdir(data_dir)
['kowiki', 'hello.txt']
# 복사
shutil.copy(os.path.join("sample_data", 'README.md'), os.path.join(data_dir, 'README.md'))
os.listdir(data_dir)
['kowiki', 'hello.txt', 'README.md']
# 이동 (이름변경)
shutil.move(os.path.join(data_dir, 'README.md'), 'AAA.md')
os.listdir(data_dir)
['kowiki', 'hello.txt']
os.listdir()
['.config', 'test.txt', 'drive', 'AAA.md', 'sample_data']
os.removedirs('sample_data')
# 삭제 (사용시 매우 주의 필요)
shutil.rmtree('sample_data')
os.listdir()
['.config', 'test.txt', 'drive', 'AAA.md']
# 단일 파일 삭제
os.remove('AAA.md')
os.listdir()
['.config', 'test.txt', 'drive']

실습

  • data_dir 폴더에 hello.txt 파일을 현재 폴더로 이동하세요.
  • 현재 폴더의 파일 목록을 출력하세요.
shutil.move(os.path.join(data_dir, 'hello.txt'),'hello.txt')
os.listdir('.')
['.config', 'hello.txt', 'test.txt', 'drive']

json

  • https://docs.python.org/ko/3/library/json.html
# json 선언
a = {"a": 1, "b": {"c": "2", "d": 3.2}, "e": [1, 2, 3]}
a, type(a)
({'a': 1, 'b': {'c': '2', 'd': 3.2}, 'e': [1, 2, 3]}, dict)
# json을 string으로 변환
a_str = json.dumps(a)
a_str, type(a_str)
('{"a": 1, "b": {"c": "2", "d": 3.2}, "e": [1, 2, 3]}', str)
# string을 json으로 변환
b = json.loads(a_str)
a, type(b)
({'a': 1, 'b': {'c': '2', 'd': 3.2}, 'e': [1, 2, 3]}, dict)
# 파일에 json 저장
with open(os.path.join("a.json"), "w") as f:
    json.dump(a, f)
# 파일에서 1개의 json 읽기
with open(os.path.join("a.json")) as f:
    c = json.load(f)
c, type(c)
({'a': 1, 'b': {'c': '2', 'd': 3.2}, 'e': [1, 2, 3]}, dict)
# 파일에 여러개 json 저장
with open(os.path.join("b.json"), "w") as f:
    f.write(json.dumps(a))
    f.write("\n")
    f.write(json.dumps({"a": 2, "b": {"c": "2", "d": 3.2}, "e": ['영희', '철수']}))
    f.write("\n")
    f.write(json.dumps({"a": 3, "b": {"c": "2", "d": 3.2}, "e": ['민수']}, ensure_ascii=False))
    f.write("\n")
# 파일에서 여러개 json 읽기
with open(os.path.join("b.json")) as f:
    for line in f:
        print(line.strip())
        data = json.loads(line)
        print(data)
        print()
{"a": 1, "b": {"c": "2", "d": 3.2}, "e": [1, 2, 3]}
{'a': 1, 'b': {'c': '2', 'd': 3.2}, 'e': [1, 2, 3]}

{"a": 2, "b": {"c": "2", "d": 3.2}, "e": ["\uc601\ud76c", "\ucca0\uc218"]}
{'a': 2, 'b': {'c': '2', 'd': 3.2}, 'e': ['영희', '철수']}

{"a": 3, "b": {"c": "2", "d": 3.2}, "e": ["민수"]}
{'a': 3, 'b': {'c': '2', 'd': 3.2}, 'e': ['민수']}
# 폴더 목록 조회
os.listdir()
['.config', 'b.json', 'hello.txt', 'test.txt', 'drive', 'a.json']
# 파일삭제
os.remove(os.path.join("a.json"))
os.remove(os.path.join("b.json"))
# 폴더 목록 조회
os.listdir()
['.config', 'hello.txt', 'test.txt', 'drive']

실습

  • 임의의 json을 생성하고 data_dir 폴더에 hello1.json 파일에 저장해 보세요.
  • data_dir 폴더에 hello1.json 파일을 읽어서 json으로 변환하고 출력해 보세요.
  • data_dir 폴더에 hello2.json 파일을 생성하고 5개의 한글로 json을 5줄이 되도록 저장해 보세요.
  • data_dir 폴더에 hello2.json 파일을 읽어서 5개 json으로 변환하고 각각 출력해 보세요.
with open(os.path.join(data_dir, 'hello.json'),'w') as f:
  json.dump({'n``ame':'홍길동' , 'year': 30}, f)
with open(os.path.join(data_dir, 'hello.json')) as f:
  data = json.load(f)
  print(data)
{'name': '홍길동', 'year': 30}
with open(os.path.join(data_dir, 'hello2.json'), 'w') as f:
    for i in range(5):
        f.write(json.dumps({'name': f'홍길동-{i+1}', 'age': 30 + i}, ensure_ascii=False))
        f.write('\n')


with open(os.path.join(data_dir, 'hello2.json')) as f:
    for line in f:
        data = json.loads(line)
        print(data)
{'name': '홍길동-1', 'age': 30}
{'name': '홍길동-2', 'age': 31}
{'name': '홍길동-3', 'age': 32}
{'name': '홍길동-4', 'age': 33}
{'name': '홍길동-5', 'age': 34}

zipfile

  • https://docs.python.org/ko/3/library/zipfile.html
kowiki_dir = os.path.join(data_dir, "kowiki")
os.listdir(kowiki_dir)
['kowiki.txt.zip']
# wiki 내용 확인
with zipfile.ZipFile(os.path.join(kowiki_dir, "kowiki.txt.zip")) as z:
    with z.open("kowiki.txt") as f:
        for i, line in enumerate(f):
            if  100 < i:
                break
            line = line.decode('utf-8').strip()
            print(line)
지미 카터
제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.
지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.
1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.
1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.
카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.
카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.
그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.
카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.
그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.
지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.
1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.
퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.
카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.
특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.
1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.
1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.
미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.
2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.
경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.
그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.



수학
수학(數學, ) 은 양, 구조, 공간, 변화, 미적분 등의 개념을 다루는 학문이다. 현대 수학은 형식 논리를 이용해서 공리로 구성된 추상적 구조를 연구하는 학문으로 여겨지기도 한다. 수학은 그 구조와 발전 과정에서는 자연과학에 속하는 물리학을 비롯한 다른 학문들과 깊은 연관을 맺고 있다. 하지만, 어느 과학의 분야들과는 달리, 자연계에서 관측되지 않는 개념들에 대해서까지 이론을 일반화 및 추상화시킬 수 있다는 차이가 있다고 한다. 수학자들은 그러한 개념들에 대해서 추측을 하고, 적절하게 선택된 정의와 공리로부터의 엄밀한 연역을 통해서 추측들의 진위를 파악한다.
수학은 숫자 세기, 계산, 측정 및 물리적 대상의 모양과 움직임을 추상화하고, 이에 논리적 추론을 적용하여 나타났다. 이런 기본 개념들은 고대 이집트, 메소포타미아, 고대 인도, 고대 중국 및 고대 그리스의 수학책에서 찾아볼 수 있다. 그리고, 유클리드의 원론에서는 엄밀한 논증이 발견된다. 이런 발전은 그 뒤로도 계속되어, 16세기의 르네상스에 이르러서는 수학적 발전과 과학적 방법들의 상호 작용이 일어나, 혁명적인 연구들이 진행되며 인류 문명에 큰 영향을 미치게 되었다. 그리고, 이는 현재까지도 계속되고 있다.
오늘날 수학은 자연과학, 공학, 의학뿐만 아니라, 경제학 등의 사회과학에서도 중요한 도구로서도 사용된다. 수학을 이런 분야들에 적용한 응용수학은 그 결과로써 수학 자체의 발전을 이끌고 새로운 분야들을 낳았다. 응용이 아닌 수학 자체의 아름다움과 재미를 추구하며 연구하는 것을 순수수학이라 하는데, 긴 시간이 지난 뒤에 순수수학적 연구를 다른 분야에 응용할 방법이 발견된 경우도 많았다고 한다.
대부분 자료를 보면, "mathematics"는 "수리적인"이라는 뜻을 가진 라틴어 mathmaticus와 그리스어 mathematikos에서 유래되었거나, "학식있는"을 뜻하는 mathema와 "배우다"를 뜻하는 manthanein에서 유래되었다고 한다. 줄여서 "math"라고 표현하기도 한다.
수학은 기원전 600년 경에 살았던 탈레스로부터 시작됐다. 하지만 탈레스가 태어나기 전에도 수학을 연구한 사람이 있을 수도 있기 때문에, 인류의 역사와 더불어 시작되었다고 할 수 있다. 교역•분배•과세 등의 인류의 사회 생활에 필요한 모든 계산을 수학이 담당해 왔고, 농경 생활에 필수적인 천문 관측과 달력의 제정, 토지의 측량 또한 수학이 직접적으로 관여한 분야이다. 고대 수학을 크게 발전시킨 나라로는 이집트, 인도, 그리스, 중국 등이 있다. 그 중에서도 그리스는 처음으로 수학의 방정식에서 변수를 문자로 쓴 나라이다.
한국의 수학은 약 1,500년 전부터 기록으로 보이기 시작한다. 신라 시대에 수학을 가르쳤으며, 탈레스가 최초로 발견한 일식과 월식을 예측할 정도로 발달했다. 조선 시대에 훈민정음을 창제한 세종 대왕은 집현전 학자들에게 수학 연구를 명하는 등, 조선의 수학 수준을 향상시키기 위해서 많은 노력을 기울였다. 하지만 임진왜란으로 많은 서적들이 불타고, 천문학 분야에서 큰 손실을 입었다. 조선 후기의 한국의 수학은 실학자들을 중심으로 다시 발전하였고, 새로운 결과도 성취되었다.
수학의 각 분야들은 상업에 필요한 계산을 하기 위해, 숫자들의 관계를 이해하기 위해, 토지를 측량하기 위해, 그리고 천문학적 사건들을 예견하기 위해 발전되어왔다. 이 네 가지 목적은 대략적으로 수학이 다루는 대상인 양, 구조, 공간 및 변화에 대응되며, 이들을 다루는 수학의 분야를 각각 산술, 대수학, 기하학, 해석학이라 한다. 또한 이 밖에도 근대 이후에 나타난 수학기초론과 이산수학 및 응용수학 등이 있다.
산술은 자연수와 정수 및 이에 대한 사칙연산에 대한 연구로서 시작했다. 수론은 이런 주제들을 보다 깊게 다루는 학문으로, 그 결과로는 페르마의 마지막 정리 등이 유명하다. 또한 쌍둥이 소수 추측과 골드바흐 추측 등을 비롯해 오랜 세월 동안 해결되지 않고 남아있는 문제들도 여럿 있다.
수의 체계가 보다 발전하면서, 정수의 집합을 유리수의 집합의 부분집합으로 여기게 되었다. 또한 유리수의 집합은 실수의 집합의 부분집합이며, 이는 또다시 복소수 집합의 일부분으로 볼 수 있다. 여기에서 더 나아가면 사원수와 팔원수 등의 개념을 생각할 수도 있다. 이와는 약간 다른 방향으로, 자연수를 무한대까지 세어나간다는 개념을 형식화하여 순서수의 개념을 얻으며, 집합의 크기 비교를 이용하여 무한대를 다루기 위한 또다른 방법으로는 기수의 개념도 있다.
수 대신 문자를 써서 문제해결을 쉽게 하는 것과, 마찬가지로 수학적 법칙을 일반적이고 간명하게 나타내는 것을 포함한다. 고전대수학은 대수방정식 및 연립방정식의 해법에서 시작하여 군, 환, 체 등의 추상대수학을 거쳐 현대에 와서는 대수계의 구조를 보는 것을 중심으로 하는 선형대수학으로 전개되었다. 수의 집합이나 함수와 같은 많은 수학적 대상들은 내재적인 구조를 보인다. 이러한 대상들의 구조적 특성들이 군론, 환론, 체론 그리고 그 외의 수많은 대수적 구조들을 연구하면서 다루어지며, 그것들 하나하나가 내재적 구조를 지닌 수학적 대상이다. 이 분야에서 중요한 개념은 벡터, 벡터 공간으로의 일반화, 그리고 선형대수학에서의 지식들이다. 벡터의 연구에는 산술, 대수, 기하라는 수학의 중요한 세개의 분야가 조합되어 있다. 벡터 미적분학은 여기에 해석학의 영역이 추가된다. 텐서 미적분학은 대칭성과 회전축의 영향 아래에서 벡터의 움직임을 연구한다. 눈금없는 자와 컴퍼스와 관련된 많은 고대의 미해결 문제들이 갈루아 이론을 사용하여 비로소 해결되었다.
공간에 대한 연구는 기하학에서 시작되었고, 특히 유클리드 기하학에서 비롯되었다. 삼각법은 공간과 수들을 결합하였고, 잘 알려진 피타고라스의 정리를 포함한다. 현대에 와서 공간에 대한 연구는, 이러한 개념들은 더 높은 차원의 기하학을 다루기 위해 비유클리드 기하학(상대성이론에서 핵심적인 역할을 함)과 위상수학으로 일반화되었다. 수론과 공간에 대한 이해는 모두 해석 기하학, 미분기하학, 대수기하학에 중요한 역할을 한다. 리 군도 공간과 구조, 변화를 다루는데 사용된다. 위상수학은 20세기 수학의 다양한 지류속에서 괄목할만한 성장을 한 분야이며, 푸앵카레 추측과 인간에 의해서 증명되지 못하고 오직 컴퓨터로만 증명된 4색정리를 포함한다.
변화에 대한 이해와 묘사는 자연과학에 있어서 일반적인 주제이며, 미적분학은 변화를 탐구하는 강력한 도구로서 발전되었다. 함수는 변화하는 양을 묘사함에 있어서 중추적인 개념으로써 떠오르게 된다. 실수와 실변수로 구성된 함수의 엄밀한 탐구가 실해석학이라는 분야로 알려지게 되었고, 복소수에 대한 이와 같은 탐구 분야는 복소해석학이라고 한다. 함수해석학은 함수의 공간(특히 무한차원)의 탐구에 주목한다. 함수해석학의 많은 응용분야 중 하나가 양자역학이다. 많은 문제들이 자연스럽게 양과 그 양의 변화율의 관계로 귀착되고, 이러한 문제들이 미분방정식으로 다루어진다. 자연의 많은 현상들이 동역학계로 기술될 수 있다. 혼돈 이론은 이러한 예측 불가능한 현상을 탐구하는 데 상당한 기여를 한다.
수학의 기초를 확실히 세우기 위해, 수리논리학과 집합론이 발전하였고, 이와 더불어 범주론이 최근에도 발전되고 있다. “근본 위기”라는 말은 대략 1900년에서 1930년 사이에 일어난, 수학의 엄밀한 기초에 대한 탐구를 상징적으로 보여주는 말이다. 수학의 엄밀한 기초에 대한 몇 가지 의견 불일치는 오늘날에도 계속되고 있다. 수학의 기초에 대한 위기는 그 당시 수많은 논쟁에 의해 촉발되었으며, 그 논쟁에는 칸토어의 집합론과 브라우어-힐베르트 논쟁이 포함되었다.



수학 상수
수학에서 상수란 그 값이 변하지 않는 불변량으로, 변수의 반대말이다. 물리 상수와는 달리, 수학 상수는 물리적 측정과는 상관없이 정의된다.
수학 상수는 대개 실수체나 복소수체의 원소이다. 우리가 이야기할 수 있는 상수는 (거의 대부분 계산 가능한) 정의가능한 수이다.
특정 수학 상수, 예를 들면 골롬-딕맨 상수, 프랑세즈-로빈슨 상수, formula_1, 레비 상수같은 상수는 다른 수학상수 또는 함수와 약한 상관관계 또는 강한 상관관계를 갖는다.



문학
문학(文學)은 언어를 예술적 표현의 제재로 삼아 새로운 의미를 창출하여, 인간과 사회를 진실되게 묘사하는 예술의 하위분야이다. 간단하게 설명하면, 언어를 통해 인간의 삶을 미적(美的)으로 형상화한 것이라고 볼 수 있다. 문학은 원래 문예(文藝)라고 부르는 것이 옳으며, 문학을 학문의 대상으로서 탐구하는 학문의 명칭 역시 문예학이다. 문예학은 음악사학, 미술사학 등과 함께 예술학의 핵심분야로서 인문학의 하위범주에 포함된다.
일반적으로 문학의 정의는 텍스트들의 집합이다. 각각의 국가들은 고유한 문학을 가질 수 있으며, 이는 기업이나 철학 조류, 어떤 특정한 역사적 시대도 마찬가지이다. 흔히 한 국가의 문학을 묶어서 분류한다. 예를 들어 고대 그리스어, 성서, 베오울프, 일리아드, 그리고 미국 헌법 등이 그러한 분류의 범주에 들어간다. 좀 더 일반적으로는 문학은 특정한 주제를 가진 이야기, 시, 희곡의 모음이라 할 수 있다. 이 경우, 이야기, 시, 그리고 희곡은 민족주의적인 색채를 띨 수도 아닐 수도 있다. 문학의 한 부분으로서 특정한 아이템을 구분 짓는 일은 매우 어려운 일이다. 어떤 사람들에게 "문학"은 어떠한 상징적인 기록의 형태로도 나타날 수 있는 것이다. (이를테면 이미지나 조각, 또는 문자로도 나타날 수 있다.) 그러나 또다른 사람들에게 있어 문학은 오직 문자로 이루어진 텍스트로 구성된 것만을 포함한다. 좀 더 보수적인 사람들은 그 개념이 꼭 물리적인 형태를 가진 텍스트여야 하고, 대개 그러한 형태는 종이 등의 눈에 보이는 매체에서 디지털 미디어까지 다양할 수 있다.
더 나아가 보면, "문학"과 몇몇 인기있는 기록형태의 작업들, 소위 "대중문학" 사이에는 인식가능한 차이점이 존재한다. 이때 "문학적인 허구성"과 "문학적인 재능"이 종종 개별적인 작품들을 구별하는 데에 사용된다. 예를 들어, 찰스 디킨즈의 작품들은 대부분의 사람들에게 "문학적인 것"으로 받아들여지지만, 제프리 아처의 작품들은 영문학이라는 일반적인 범주 아래 두기에는 다소 가치가 떨어지는 것으로 생각된다. 또한 예를 들어 문법과 어법에 서투르거나, 이야기가 혼란스러워 신뢰성을 주지 않거나, 인물들의 성격에 일관성이 없을 경우에도 문학에서 제외될 수 있다. 로맨스, 범죄소설, 과학소설 등의 장르 소설도 때로 "문학"이 아닌 것으로 간주되는 경우도 있다. 이들은 대부분 "대중문학"의 범주에 포함된다.
문학은 분류하는 방법에 따라 다음과 같이 구분한다.
이 외에도 편의에 따라 발생적으로 대별하기도 한다.
문학은 처음은 유일한 종류, 즉 노래하고, 말하고, 춤춘다는 것이 분화되지 않은 것이었다. 이 춤추는 것을 중심으로 발달한 것이 연극(演劇)이며, 노래하는 것이 발달하여 시(詩), 말하는 것이 발달하여 산문(散文)의 이야기가 되었다. 시는 정형시·자유시·산문시로, 또한 서사시와 서정시로 나뉜다. 산문은 사건을 중심으로 그려진 이야기, 근대 리얼리즘의 수법 이후 인물의 성격을 묘사하는 것을 중심으로 한 소설이 있다. 이야기나 소설과 같이 특별한 구상에 의하지 않고, 작자의 흥미에 의해서 씌어지는 것이 잡문(雜文) 또는 수필이며, 이것이 날짜에 따라 씌어지는 것이 일기, 여행의 과정에 따라 씌어지는 것이 기행문이다. 일기와 마찬가지로 발표의 의도가 작은 것에 서간(書簡)이 있다. 이 밖에 사건의 경험에 따른 회고록, 사건 등의 특정시(特定時)에 한정되지 않는 자서전, 제삼자에 의해서 씌어지는 전기(傳記)가 있다. 또한 이것들을 포함하는 예술작품의 가치평가를 시도하는 것이 평론(評論)이다.
대중문학이란 상업성을 띠며 대중을 겨냥하여 그들의 통속적인 흥미와 욕구를 채워주는 문학을 말한다. 대중문학의 하위장르에는 여러가지가 있다.
문학을 창작하는 예술가를 문예가라고 부른다. 문예학을 연구하는 사람을 문예학자라고 부른다. 문학을 창작하는 사람을 따로 저술가라고 한다. 문예학자와 언어학자를 합쳐 어문학자로 칭하기도 한다. 그러나 언어와, 언어를 사용한 예술인 문학은 현격한 차이가 있으므로 주의해야 한다.
반영론적 관점에 의한 감상은 작품을 창작된 당시 시대 정황과 연결시켜 감상하는 입장이고, 내재적 관점의 감상은 작품의 형식, 내용에 국한하여 감상하는 것이다. 표현론적 관점의 감상은 작가의 전기적 사실과 작품을 연결시켜 감상하는 것이고, 수용론적 관점의 감상은 독자와 작품을 연결시켜 감상하는 것을 말한다.



나라 목록
이 문서는 나라 목록이며, 전 세계 206개 나라의 각 현황과 주권 승인 정보를 개요 형태로 나열하고 있다.
이 목록은 명료화를 위해 두 부분으로 나뉘어 있다.
두 목록은 모두 가나다 순이다.
일부 국가의 경우 국가로서의 자격에 논쟁의 여부가 있으며, 이 때문에 이러한 목록을 엮는 것은 매우 어렵고 논란이 생길 수 있는 과정이다. 이 목록을 구성하고 있는 국가를 선정하는 기준에 대한 정보는 "포함 기준" 단락을 통해 설명하였다. 나라에 대한 일반적인 정보는 "국가" 문서에서 설명하고 있다.
이 목록은 주권을 주장하고 점유한 영토를 실제로 관리하고 있으나, 많은 국가와 외교관계를 맺지 못한 나라를 설명하고 있다. 극소형 국가는 이 목록에 포함하지 않는다.
이 목록에 실린 국가 기준은 1933년 몬테비데오 협약 1장을 참고로 하였다. 협정에 따르면, 국가는 다음의 조건을 만족해야 한다.
특히, 마지막 조건은 국제 공동체의 참여 용인을 내포하고 있기 때문에, 다른 나라의 승인이 매우 중요한 역할을 할 수 있다. 이 목록에 포함된 모든 국가는 보통 이 기준을 만족하는 것으로 보이는 자주적이고 독립적인 국가이다. 하지만 몬테비데오 협약 기준을 만족하는지의 여부는 많은 국가가 논쟁이 되고 있는 실정이다. 또한, 몬테비데오 협약 기준만이 국가 지위의 충분한 자격이든 아니든, 국제법의 견해 차이는 존재할 수 있다. 이 물음에 대한 다른 이론에 대한 고리는 아래에서 볼 수 있다.
위 기준에 논거하여 이 목록은 다음 206개 국가를 포함하고 있다.
위 목록에 포함되지 않은 다음 국가는 몬테비데오 협약의 모든 조건을 만족하지 못하거나, 자주적이고 독립적임을 주장하지 않는 국가이다.



화학
화학(化學, )은 물질의 성질, 조성, 구조, 변화 및 그에 수반하는 에너지의 변화를 연구하는 자연과학의 한 분야이다. 물리학도 역시 물질을 다루는 학문이지만, 물리학이 원소와 화합물을 모두 포함한 물체의 운동과 에너지, 열적·전기적·광학적·기계적 속성을 다루고 이러한 현상으로부터 통일된 이론을 구축하려는 것과는 달리 화학에서는 물질 자체를 연구 대상으로 한다. 화학은 이미 존재하는 물질을 이용하여 특정한 목적에 맞는 새로운 물질을 합성하는 길을 제공하며, 이는 농작물의 증산, 질병의 치료 및 예방, 에너지 효율 증대, 환경오염 감소 등 여러 가지 이점을 제공한다.
고대 화학
<nowiki>*</nowiki>"초기 야금 (야금: 금속을 광석으로부터 추출하고 정련하는 기술)"
인간에 의해 발견된 최초의 기록된 금속은 금인 것으로 보이며 구석기 후기(BC 40,000)에 스페인 동굴에서 소량의 천연 금이 발견되었다고 한다.
은, 구리, 주석 및 유성 철 또한 고대 문화에서 제한된 양의 금속 가공을 허용하면서 고대문화로 발견 될 수 있었다. 기원전 3000년경 유성 철제로 만든 이집트 무기는 "천국의 단검"으로 높이 평가 받았다.
아마도 통제 된 방식으로 사용 된 최초의 화학 반응은 불이였다. 그러나 천년 동안 불는 단순히 열과 빛을 생성하면서 한 물질을 다른 물질 (타는 나무 또는 끓는 물)로 변형시킬 수있는 신비한 힘으로만 알려졌다. 불는 초기 사회의 여러 측면에 영향을 미쳤다. 이들은 요리 및 서식지 조명과 같은 일상 생활의 가장 단순한면에서 도기, 벽돌 및 금속을 녹여 도구를 만드는 것과 같은 고급 기술에 이르기까지 다양했다.
유리의 발견과 금속의 정화로 이어지는 불로 인해 야금이 부상했다. 야금의 초기 단계에서 금속의 정화 방법이 요구되었고, 금은 BC 2900 년 초기의 고대 이집트의 귀중한 금속이되었다.
17 세기와 18 세기 : 초기 화학
"<nowiki>*</nowiki>로버트 보일"
영국계 미국인 화학자 로버트 보일 (Robert Boyle, 1627-1691)은 연금술에 대한 현대의 과학적 방법을 정제하고 화학을 연금술과 분리한 것으로 생각된다. 그의 연구가 연금술 전통에 뿌리를두고 있음에도 불구하고, 보일은 오늘날 현대의 화학자이자 현대화학의 창시자이자 현대 실험 과학 방법의 선구자 중 한 사람으로 불리고 있다. 보일이 원래 발견자가 아님에도 보일은 1662 년에 제시한 보일의 법칙으로 가장 잘 알려져있다. 보일의 법칙은 온도만 폐쇄된 시스템 내에서 일정하게 유지된다면 가스의 절대 압력과 부피가 반비례함을 의미한다.보일은 또한 화학 분야의 초석으로 간주되는 1661 년의 《의심 많은 화학자》 에 대한 획기적인 저서로 인정받고 있다. 작품에서 보일은 모든 현상이 움직이는 입자의 충돌의 결과라는 가설을 제시한다. 보일 (Boyle)은 화학자들에게 실험을 호소했으며 실험은 지구, 화염, 공기 및 물과 같은 고전적인 4 가지 원소만으로 화학 원소를 제한한다는 것을 부인했다. 그는 또한 화학이 의학이나 연금술에 종속되어 과학의 지위로 부상하는 것을 중단해야한다고 촉구했다. 중요한 것은 과학 실험에 대한 엄격한 접근 방식이라고 주장했다. 그는 모든 이론이 사실로 간주되기 전에 실험적으로 입증되어야한다고 믿었다. 이 작품은 원자, 분자 및 화학 반응의 가장 초기의 현대적인 아이디어를 포함하고 있으며 현대 화학의 역사의 시작을 나타낸다. 보일은 또한 화학 물질을 정제하여 재현 가능한 반응을 얻으려고 시도했다. 그는 재료 물질의 물리적 특성과 상호 작용을 설명하고 정량화하기 위해 René Descartes가 제안한 기계 철학의 보컬 지지자였다. 보일은 원자핵론자 였지만 원자보다 더 많은 입자를 선호했다. 그는 속성이 유지되는 물질의 가장 정밀한 부분은 미립자의 수준에 있다고 논평했다. 그는 또한 공기 펌프로 수 많은 조사를 수행했으며, 공기가 펌프로 퍼져 나감에 따라 수은이 떨어지는 것으로 나타났다. 그는 또한 컨테이너에서 공기를 펌핑하면 화염을 없애고 내부에있는 작은 동물을 죽일 수 있음을 관찰했다.
과거 화학에서 더 이상 나뉘지 않는 기초적인 요소가 존재한다고 했는데, 이 기초적인 요소를 원자(atom)라 한다. 원자란 물질을 구성하는 기본적인 입자로 고대 그리스의 데모크리토스에서부터 그 존재가 주장되었는데, 1803년 존 돌턴에 의해서 원자론으로 정리되었다. 20세기 초, 화학자들은 원자를 구성하는 더 작은 입자들, 즉 전자, 양성자, 중성자가 존재한다는 사실을 발견하였다. 전자는 음전하를 띠고 있고, 양성자는 양전하를 띠고 있으며, 중성자는 전하를 띠지 않고 있다. 원자는 양성자와 중성자로 구성되어 있는 원자핵을 가지고 있으며 전자는 이 주변에 오비탈을 이루며 분포되어 있다.
원소(element)는 일반적인 화학적, 물리학적 방법으로는 분해되지 않는 물질을 의미한다. 원소는 원자핵에 존재하는 양성자 수로 정의되는 원자 번호로 구별된다. 산소, 황, 주석, 철 등은 원소이다. 19세기 중엽까지 약 80가지의 원소가 발견되었는데, 이들은 주기율에 따라 배열될 수 있다.
동위원소는 아이소토프 또는 동위체라고도 한다. 서로 화학적으로는 거의 구별하지 못하지만 그것을 구성하고 있는 원자의 질량이 서로 다른 원소를 동위원소라고 한다. 영어의 isotope는 그리스어인 isos(같은)와 topos(장소)의 합성어인데, 질량은 서로 달라도 원소의 주기율표에서 같은 장소에 배열되는 데서 1901년 영국의 화학자 F. 소디가 isotope라는 명칭을 붙였다. 대부분의 원소는 동위 원소를 가진다. 동위 원소는 원자 번호는 같으나, 중성자수가 다른 원소를 뜻한다. 동위 원소는 화학적인 성질은 동일하나, 원자량의 차이를 이용하여 분리할 수 있다. 자연에서도 발견되는 92개의 원소 중 88개는 동위 원소가 지표면 상에 존재한다. 자연에서 발견되지 않더라도 동위 원소는 핵반응을 이용하여 만들어낼 수 있다. 어떤 동위 원소는 방사능을 가지기도 하는데, 이 경우 동위 원소의 원자핵은 불안정하고 방사선을 방출하며 자연적으로 붕괴된다.
동중 원소(isobar)는 원자 질량은 같으나, 양성자수가 다른 원소를 뜻한다. 동중 원소는 화학적, 물리적 성질이 다르며 S, Cl, Ar, K, Ca등이 있다.
분자란 원자의 결합체 중 독립 입자로서 작용하는 단위체이다. 일정한 개수의 원자가 특정하게 정렬되어 서로 결합해 분자가 형성된다. 원자가 원소의 최소단위이듯, 분자는 화합물의 최소단위가 된다. 원자가 결합될 때 전자의 재배치가 일어나는데, 이는 화학에서의 중요한 관심사중 하나이다.
화학 반응은 원자 혹은 분자가 화학적인 변화를 겪는 일을 말한다. 화학 반응은 원자간의 결합이 끊어지는 일과 다시 이어지는 일을 포함한다. 결합이 끊어질 때는 에너지가 흡수되고, 결합이 이어질 때는 에너지가 방출된다. 화학 반응의 간단한 예로는 수소와 산소가 반응하여 물이 되는 것을 들 수 있다. 반응식은 다음과 같다.
반응식에서 알 수 있듯이, 화학 반응에서는 원자가 새로 생성되거나 나타나는 일이 일어나지 않는다. ΔH는 에너지 또는 엔탈피 변화를 뜻한다. 반응은 발열반응일 수도 있고, 흡열반응일 수도 있다. 발열반응은 주위로 열을 방출하는 반응으로 엔탈피 변화가 음수로 나타난다. 반면에 흡열반응은 주위 열을 흡수하는 반응으로 엔탈피 변화가 양수로 나타난다. 위 반응의 경우는 발열반응인데, 이는 계로부터 주위로 열이 이동하였다는 의미이다.
화학 결합을 주된 세 가지 부류로 나누어보면 이온 결합, 공유 결합 그리고 금속결합으로 나눌 수 있다. 이온이란 전하를 띤 원자 또는 분자를 뜻한다. 이온 결합은 양전하와 음전하의 전기적인 인력에 의해서 생성되는 화학 결합이다. 예를 들면 염화 나트륨은 양전하를 띤 나트륨 이온(Na)과 음전하를 띤 염화 이온(Cl) 사이의 전기적인 결합으로 이루어진 이온 화합물이다. 이러한 물질을 물에 녹이면 이온은 물 분자에 의해 수화되고 이렇게 해서 만들어진 수용액은 전기전도도를 가진다.
공유 결합은 오비탈이 겹쳐진 결과 두 원자가 전자쌍을 공유하게 되어 생성되는 결합을 의미한다. 공유 결합이 형성되는 결합은 발열반응인데, 이때 방출되는 에너지의 양이 그 결합의 결합 에너지이다. 결합 에너지만큼의 에너지를 그 결합에 가해주면 결합은 끊어질 수 있다.
금속 결합은 금속 원자에서 전자들이 떨어져 나와 자유전자를 생성하게 되어 생성되는 결합을 의미한다. 금속의 특성인 연성과 전성이 생성되는 이유이기도 하다.
화합물은 구성하고 있는 원자의 종류, 수, 배치에 의해서 그 특성이 결정된다. 자연에서 찾을 수 있거나 인공적으로 합성할 수 있는 화합물의 수는 엄청나고, 이들 중 대부분은 유기 화합물이다. 유기 화합물을 이루는 주된 화학 원소인 탄소는 다른 화학 원소와는 다르게 매우 긴 사슬 형태로 정렬될 수 있으며, 같은 수많은 이성질체를 형성할 수 있다. 예를 들어, 분자식 CHO는 약 천 개의 서로 다른 화합물을 뜻할 수 있다.
화학은 취급 대상 및 대상의 취급 방법에 따라서 몇 가지 분과로 구분될 수 있다. 물질을 분석하는 분석화학은 크게 물질의 존재를 취급하는 정성 분석과 물질의 양을 결정하는 정량 분석으로 나눌 수 있다. 탄소를 포함한 유기 화합물을 다루는 유기화학과 유기 화합물을 제외한 무기 화합물을 다루는 무기화학도 있다. 물리학과 화학의 경계에는 물리화학이 있고 생물학과의 경계에는 생화학이 있다. 물리화학에서 특히 분자의 구조와 성질과의 관계를 다루는 부분을 구조화학이라고 부르기도 한다. 제2차 세계 대전 이후에는 방사성 물질을 다루는 방사화학이 발전하였고 화학 공업을 다루는 공업화학도 있다. 이 외에도 화학의 분과는 매우 다양하다.
화학의 분과는 전통적으로 다음과 같은 5가지로 나눌 수 있으며, 각각의 분과는 더욱 세분화될 수 있다.
무기화학은 유기화학에서 다루지 않는 물질을 다루며 주로 금속이나 준금속이 포함된 물질에 대해서 연구한다. 따라서 무기화학에서는 매우 넓은 범위의 화합물을 다루게 된다. 초기에는 광물의 구성이나 새 원소의 발견이 주요 관심사였고 여기서부터 지구화학이 분기되었다. 주로 전이 금속 등을 이용한 촉매나 생물에서 산소 수송, 광합성, 질소 고정 등의 과정에서 중요한 역할을 하는 금속 원자들에 대해 연구하며 이 외에도 세라믹, 복합재료, 초전도체등에 대한 연구를 한다.
물리화학은 화학적 현상에 대한 해석과 이를 설명하기 위한 물리적 원리들에 대해 다루는 분과이다. 화학반응에 관련된 열역학적 원리와 물질의 물리학적 성질에 대한 설명은 물리화학이 다루는 고전적인 주제이다. 물리화학은 양자화학의 발전에도 큰 기여를 하였다. 분광계나 자기 공명, 회절 기기 등 물리화학에서 사용하는 실험 장비나 실험 방법들은 다른 화학의 분과에서도 매우 많이 사용된다. 물리화학이 다루는 대상은 유기 화합물, 무기 화합물, 혼합물을 모두 포함한다.
분석화학은 물질의 조성이나 혼합물의 구성요소 등을 결정하는 방법에 대해서 연구하는 화학의 분과이다. 혼합물을 이루고 있는 성분의 탐색, 분리, 정량과 분자를 이루고 있는 원자의 비율을 측정하여 분자식을 결정하는 일 등이 분석화학에서 행해진다. 1950년대의 분석화학의 발전은 많은 질량 분석계를 포함한 분석 기구의 등장을 불러일으켰다. 이 외에도 고해상도 크로마토그래피, 전기화학에서의 많은 실험방법 등은 분석화학에 있어서 중요한 분석법이다. 분석화학에 있어서 최종 목표는 더 정확한 측정법이나 측정기기 등을 개발하는 것이다. 분석화학의 발전으로 인해 환경오염 물질 등을 피코그램의 수준에서도 감지하는 것이 가능해졌다.
# 파일 복사
shutil.copy(os.path.join(kowiki_dir, "kowiki.txt.zip"), "kowiki.txt.zip")
os.listdir()
['.config', 'hello.txt', 'test.txt', 'drive', 'kowiki.txt.zip']
# unzip
!unzip kowiki.txt.zip
os.listdir()
Archive:  kowiki.txt.zip
  inflating: kowiki.txt              
  inflating: __MACOSX/._kowiki.txt   





['.config',
 'hello.txt',
 'test.txt',
 'drive',
 'kowiki.txt',
 '__MACOSX',
 'kowiki.txt.zip']
with open("kowiki.txt") as f:
    for i, line in enumerate(f):
        if  100 < i:
            break
        print(line.strip())
지미 카터
제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.
지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.
1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.
1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.
카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.
카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.
그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.
카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.
그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.
지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.
1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.
퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.
카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.
특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.
1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.
1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.
미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.
2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.
경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.
그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.



수학
수학(數學, ) 은 양, 구조, 공간, 변화, 미적분 등의 개념을 다루는 학문이다. 현대 수학은 형식 논리를 이용해서 공리로 구성된 추상적 구조를 연구하는 학문으로 여겨지기도 한다. 수학은 그 구조와 발전 과정에서는 자연과학에 속하는 물리학을 비롯한 다른 학문들과 깊은 연관을 맺고 있다. 하지만, 어느 과학의 분야들과는 달리, 자연계에서 관측되지 않는 개념들에 대해서까지 이론을 일반화 및 추상화시킬 수 있다는 차이가 있다고 한다. 수학자들은 그러한 개념들에 대해서 추측을 하고, 적절하게 선택된 정의와 공리로부터의 엄밀한 연역을 통해서 추측들의 진위를 파악한다.
수학은 숫자 세기, 계산, 측정 및 물리적 대상의 모양과 움직임을 추상화하고, 이에 논리적 추론을 적용하여 나타났다. 이런 기본 개념들은 고대 이집트, 메소포타미아, 고대 인도, 고대 중국 및 고대 그리스의 수학책에서 찾아볼 수 있다. 그리고, 유클리드의 원론에서는 엄밀한 논증이 발견된다. 이런 발전은 그 뒤로도 계속되어, 16세기의 르네상스에 이르러서는 수학적 발전과 과학적 방법들의 상호 작용이 일어나, 혁명적인 연구들이 진행되며 인류 문명에 큰 영향을 미치게 되었다. 그리고, 이는 현재까지도 계속되고 있다.
오늘날 수학은 자연과학, 공학, 의학뿐만 아니라, 경제학 등의 사회과학에서도 중요한 도구로서도 사용된다. 수학을 이런 분야들에 적용한 응용수학은 그 결과로써 수학 자체의 발전을 이끌고 새로운 분야들을 낳았다. 응용이 아닌 수학 자체의 아름다움과 재미를 추구하며 연구하는 것을 순수수학이라 하는데, 긴 시간이 지난 뒤에 순수수학적 연구를 다른 분야에 응용할 방법이 발견된 경우도 많았다고 한다.
대부분 자료를 보면, "mathematics"는 "수리적인"이라는 뜻을 가진 라틴어 mathmaticus와 그리스어 mathematikos에서 유래되었거나, "학식있는"을 뜻하는 mathema와 "배우다"를 뜻하는 manthanein에서 유래되었다고 한다. 줄여서 "math"라고 표현하기도 한다.
수학은 기원전 600년 경에 살았던 탈레스로부터 시작됐다. 하지만 탈레스가 태어나기 전에도 수학을 연구한 사람이 있을 수도 있기 때문에, 인류의 역사와 더불어 시작되었다고 할 수 있다. 교역•분배•과세 등의 인류의 사회 생활에 필요한 모든 계산을 수학이 담당해 왔고, 농경 생활에 필수적인 천문 관측과 달력의 제정, 토지의 측량 또한 수학이 직접적으로 관여한 분야이다. 고대 수학을 크게 발전시킨 나라로는 이집트, 인도, 그리스, 중국 등이 있다. 그 중에서도 그리스는 처음으로 수학의 방정식에서 변수를 문자로 쓴 나라이다.
한국의 수학은 약 1,500년 전부터 기록으로 보이기 시작한다. 신라 시대에 수학을 가르쳤으며, 탈레스가 최초로 발견한 일식과 월식을 예측할 정도로 발달했다. 조선 시대에 훈민정음을 창제한 세종 대왕은 집현전 학자들에게 수학 연구를 명하는 등, 조선의 수학 수준을 향상시키기 위해서 많은 노력을 기울였다. 하지만 임진왜란으로 많은 서적들이 불타고, 천문학 분야에서 큰 손실을 입었다. 조선 후기의 한국의 수학은 실학자들을 중심으로 다시 발전하였고, 새로운 결과도 성취되었다.
수학의 각 분야들은 상업에 필요한 계산을 하기 위해, 숫자들의 관계를 이해하기 위해, 토지를 측량하기 위해, 그리고 천문학적 사건들을 예견하기 위해 발전되어왔다. 이 네 가지 목적은 대략적으로 수학이 다루는 대상인 양, 구조, 공간 및 변화에 대응되며, 이들을 다루는 수학의 분야를 각각 산술, 대수학, 기하학, 해석학이라 한다. 또한 이 밖에도 근대 이후에 나타난 수학기초론과 이산수학 및 응용수학 등이 있다.
산술은 자연수와 정수 및 이에 대한 사칙연산에 대한 연구로서 시작했다. 수론은 이런 주제들을 보다 깊게 다루는 학문으로, 그 결과로는 페르마의 마지막 정리 등이 유명하다. 또한 쌍둥이 소수 추측과 골드바흐 추측 등을 비롯해 오랜 세월 동안 해결되지 않고 남아있는 문제들도 여럿 있다.
수의 체계가 보다 발전하면서, 정수의 집합을 유리수의 집합의 부분집합으로 여기게 되었다. 또한 유리수의 집합은 실수의 집합의 부분집합이며, 이는 또다시 복소수 집합의 일부분으로 볼 수 있다. 여기에서 더 나아가면 사원수와 팔원수 등의 개념을 생각할 수도 있다. 이와는 약간 다른 방향으로, 자연수를 무한대까지 세어나간다는 개념을 형식화하여 순서수의 개념을 얻으며, 집합의 크기 비교를 이용하여 무한대를 다루기 위한 또다른 방법으로는 기수의 개념도 있다.
수 대신 문자를 써서 문제해결을 쉽게 하는 것과, 마찬가지로 수학적 법칙을 일반적이고 간명하게 나타내는 것을 포함한다. 고전대수학은 대수방정식 및 연립방정식의 해법에서 시작하여 군, 환, 체 등의 추상대수학을 거쳐 현대에 와서는 대수계의 구조를 보는 것을 중심으로 하는 선형대수학으로 전개되었다. 수의 집합이나 함수와 같은 많은 수학적 대상들은 내재적인 구조를 보인다. 이러한 대상들의 구조적 특성들이 군론, 환론, 체론 그리고 그 외의 수많은 대수적 구조들을 연구하면서 다루어지며, 그것들 하나하나가 내재적 구조를 지닌 수학적 대상이다. 이 분야에서 중요한 개념은 벡터, 벡터 공간으로의 일반화, 그리고 선형대수학에서의 지식들이다. 벡터의 연구에는 산술, 대수, 기하라는 수학의 중요한 세개의 분야가 조합되어 있다. 벡터 미적분학은 여기에 해석학의 영역이 추가된다. 텐서 미적분학은 대칭성과 회전축의 영향 아래에서 벡터의 움직임을 연구한다. 눈금없는 자와 컴퍼스와 관련된 많은 고대의 미해결 문제들이 갈루아 이론을 사용하여 비로소 해결되었다.
공간에 대한 연구는 기하학에서 시작되었고, 특히 유클리드 기하학에서 비롯되었다. 삼각법은 공간과 수들을 결합하였고, 잘 알려진 피타고라스의 정리를 포함한다. 현대에 와서 공간에 대한 연구는, 이러한 개념들은 더 높은 차원의 기하학을 다루기 위해 비유클리드 기하학(상대성이론에서 핵심적인 역할을 함)과 위상수학으로 일반화되었다. 수론과 공간에 대한 이해는 모두 해석 기하학, 미분기하학, 대수기하학에 중요한 역할을 한다. 리 군도 공간과 구조, 변화를 다루는데 사용된다. 위상수학은 20세기 수학의 다양한 지류속에서 괄목할만한 성장을 한 분야이며, 푸앵카레 추측과 인간에 의해서 증명되지 못하고 오직 컴퓨터로만 증명된 4색정리를 포함한다.
변화에 대한 이해와 묘사는 자연과학에 있어서 일반적인 주제이며, 미적분학은 변화를 탐구하는 강력한 도구로서 발전되었다. 함수는 변화하는 양을 묘사함에 있어서 중추적인 개념으로써 떠오르게 된다. 실수와 실변수로 구성된 함수의 엄밀한 탐구가 실해석학이라는 분야로 알려지게 되었고, 복소수에 대한 이와 같은 탐구 분야는 복소해석학이라고 한다. 함수해석학은 함수의 공간(특히 무한차원)의 탐구에 주목한다. 함수해석학의 많은 응용분야 중 하나가 양자역학이다. 많은 문제들이 자연스럽게 양과 그 양의 변화율의 관계로 귀착되고, 이러한 문제들이 미분방정식으로 다루어진다. 자연의 많은 현상들이 동역학계로 기술될 수 있다. 혼돈 이론은 이러한 예측 불가능한 현상을 탐구하는 데 상당한 기여를 한다.
수학의 기초를 확실히 세우기 위해, 수리논리학과 집합론이 발전하였고, 이와 더불어 범주론이 최근에도 발전되고 있다. “근본 위기”라는 말은 대략 1900년에서 1930년 사이에 일어난, 수학의 엄밀한 기초에 대한 탐구를 상징적으로 보여주는 말이다. 수학의 엄밀한 기초에 대한 몇 가지 의견 불일치는 오늘날에도 계속되고 있다. 수학의 기초에 대한 위기는 그 당시 수많은 논쟁에 의해 촉발되었으며, 그 논쟁에는 칸토어의 집합론과 브라우어-힐베르트 논쟁이 포함되었다.



수학 상수
수학에서 상수란 그 값이 변하지 않는 불변량으로, 변수의 반대말이다. 물리 상수와는 달리, 수학 상수는 물리적 측정과는 상관없이 정의된다.
수학 상수는 대개 실수체나 복소수체의 원소이다. 우리가 이야기할 수 있는 상수는 (거의 대부분 계산 가능한) 정의가능한 수이다.
특정 수학 상수, 예를 들면 골롬-딕맨 상수, 프랑세즈-로빈슨 상수, formula_1, 레비 상수같은 상수는 다른 수학상수 또는 함수와 약한 상관관계 또는 강한 상관관계를 갖는다.



문학
문학(文學)은 언어를 예술적 표현의 제재로 삼아 새로운 의미를 창출하여, 인간과 사회를 진실되게 묘사하는 예술의 하위분야이다. 간단하게 설명하면, 언어를 통해 인간의 삶을 미적(美的)으로 형상화한 것이라고 볼 수 있다. 문학은 원래 문예(文藝)라고 부르는 것이 옳으며, 문학을 학문의 대상으로서 탐구하는 학문의 명칭 역시 문예학이다. 문예학은 음악사학, 미술사학 등과 함께 예술학의 핵심분야로서 인문학의 하위범주에 포함된다.
일반적으로 문학의 정의는 텍스트들의 집합이다. 각각의 국가들은 고유한 문학을 가질 수 있으며, 이는 기업이나 철학 조류, 어떤 특정한 역사적 시대도 마찬가지이다. 흔히 한 국가의 문학을 묶어서 분류한다. 예를 들어 고대 그리스어, 성서, 베오울프, 일리아드, 그리고 미국 헌법 등이 그러한 분류의 범주에 들어간다. 좀 더 일반적으로는 문학은 특정한 주제를 가진 이야기, 시, 희곡의 모음이라 할 수 있다. 이 경우, 이야기, 시, 그리고 희곡은 민족주의적인 색채를 띨 수도 아닐 수도 있다. 문학의 한 부분으로서 특정한 아이템을 구분 짓는 일은 매우 어려운 일이다. 어떤 사람들에게 "문학"은 어떠한 상징적인 기록의 형태로도 나타날 수 있는 것이다. (이를테면 이미지나 조각, 또는 문자로도 나타날 수 있다.) 그러나 또다른 사람들에게 있어 문학은 오직 문자로 이루어진 텍스트로 구성된 것만을 포함한다. 좀 더 보수적인 사람들은 그 개념이 꼭 물리적인 형태를 가진 텍스트여야 하고, 대개 그러한 형태는 종이 등의 눈에 보이는 매체에서 디지털 미디어까지 다양할 수 있다.
더 나아가 보면, "문학"과 몇몇 인기있는 기록형태의 작업들, 소위 "대중문학" 사이에는 인식가능한 차이점이 존재한다. 이때 "문학적인 허구성"과 "문학적인 재능"이 종종 개별적인 작품들을 구별하는 데에 사용된다. 예를 들어, 찰스 디킨즈의 작품들은 대부분의 사람들에게 "문학적인 것"으로 받아들여지지만, 제프리 아처의 작품들은 영문학이라는 일반적인 범주 아래 두기에는 다소 가치가 떨어지는 것으로 생각된다. 또한 예를 들어 문법과 어법에 서투르거나, 이야기가 혼란스러워 신뢰성을 주지 않거나, 인물들의 성격에 일관성이 없을 경우에도 문학에서 제외될 수 있다. 로맨스, 범죄소설, 과학소설 등의 장르 소설도 때로 "문학"이 아닌 것으로 간주되는 경우도 있다. 이들은 대부분 "대중문학"의 범주에 포함된다.
문학은 분류하는 방법에 따라 다음과 같이 구분한다.
이 외에도 편의에 따라 발생적으로 대별하기도 한다.
문학은 처음은 유일한 종류, 즉 노래하고, 말하고, 춤춘다는 것이 분화되지 않은 것이었다. 이 춤추는 것을 중심으로 발달한 것이 연극(演劇)이며, 노래하는 것이 발달하여 시(詩), 말하는 것이 발달하여 산문(散文)의 이야기가 되었다. 시는 정형시·자유시·산문시로, 또한 서사시와 서정시로 나뉜다. 산문은 사건을 중심으로 그려진 이야기, 근대 리얼리즘의 수법 이후 인물의 성격을 묘사하는 것을 중심으로 한 소설이 있다. 이야기나 소설과 같이 특별한 구상에 의하지 않고, 작자의 흥미에 의해서 씌어지는 것이 잡문(雜文) 또는 수필이며, 이것이 날짜에 따라 씌어지는 것이 일기, 여행의 과정에 따라 씌어지는 것이 기행문이다. 일기와 마찬가지로 발표의 의도가 작은 것에 서간(書簡)이 있다. 이 밖에 사건의 경험에 따른 회고록, 사건 등의 특정시(特定時)에 한정되지 않는 자서전, 제삼자에 의해서 씌어지는 전기(傳記)가 있다. 또한 이것들을 포함하는 예술작품의 가치평가를 시도하는 것이 평론(評論)이다.
대중문학이란 상업성을 띠며 대중을 겨냥하여 그들의 통속적인 흥미와 욕구를 채워주는 문학을 말한다. 대중문학의 하위장르에는 여러가지가 있다.
문학을 창작하는 예술가를 문예가라고 부른다. 문예학을 연구하는 사람을 문예학자라고 부른다. 문학을 창작하는 사람을 따로 저술가라고 한다. 문예학자와 언어학자를 합쳐 어문학자로 칭하기도 한다. 그러나 언어와, 언어를 사용한 예술인 문학은 현격한 차이가 있으므로 주의해야 한다.
반영론적 관점에 의한 감상은 작품을 창작된 당시 시대 정황과 연결시켜 감상하는 입장이고, 내재적 관점의 감상은 작품의 형식, 내용에 국한하여 감상하는 것이다. 표현론적 관점의 감상은 작가의 전기적 사실과 작품을 연결시켜 감상하는 것이고, 수용론적 관점의 감상은 독자와 작품을 연결시켜 감상하는 것을 말한다.



나라 목록
이 문서는 나라 목록이며, 전 세계 206개 나라의 각 현황과 주권 승인 정보를 개요 형태로 나열하고 있다.
이 목록은 명료화를 위해 두 부분으로 나뉘어 있다.
두 목록은 모두 가나다 순이다.
일부 국가의 경우 국가로서의 자격에 논쟁의 여부가 있으며, 이 때문에 이러한 목록을 엮는 것은 매우 어렵고 논란이 생길 수 있는 과정이다. 이 목록을 구성하고 있는 국가를 선정하는 기준에 대한 정보는 "포함 기준" 단락을 통해 설명하였다. 나라에 대한 일반적인 정보는 "국가" 문서에서 설명하고 있다.
이 목록은 주권을 주장하고 점유한 영토를 실제로 관리하고 있으나, 많은 국가와 외교관계를 맺지 못한 나라를 설명하고 있다. 극소형 국가는 이 목록에 포함하지 않는다.
이 목록에 실린 국가 기준은 1933년 몬테비데오 협약 1장을 참고로 하였다. 협정에 따르면, 국가는 다음의 조건을 만족해야 한다.
특히, 마지막 조건은 국제 공동체의 참여 용인을 내포하고 있기 때문에, 다른 나라의 승인이 매우 중요한 역할을 할 수 있다. 이 목록에 포함된 모든 국가는 보통 이 기준을 만족하는 것으로 보이는 자주적이고 독립적인 국가이다. 하지만 몬테비데오 협약 기준을 만족하는지의 여부는 많은 국가가 논쟁이 되고 있는 실정이다. 또한, 몬테비데오 협약 기준만이 국가 지위의 충분한 자격이든 아니든, 국제법의 견해 차이는 존재할 수 있다. 이 물음에 대한 다른 이론에 대한 고리는 아래에서 볼 수 있다.
위 기준에 논거하여 이 목록은 다음 206개 국가를 포함하고 있다.
위 목록에 포함되지 않은 다음 국가는 몬테비데오 협약의 모든 조건을 만족하지 못하거나, 자주적이고 독립적임을 주장하지 않는 국가이다.



화학
화학(化學, )은 물질의 성질, 조성, 구조, 변화 및 그에 수반하는 에너지의 변화를 연구하는 자연과학의 한 분야이다. 물리학도 역시 물질을 다루는 학문이지만, 물리학이 원소와 화합물을 모두 포함한 물체의 운동과 에너지, 열적·전기적·광학적·기계적 속성을 다루고 이러한 현상으로부터 통일된 이론을 구축하려는 것과는 달리 화학에서는 물질 자체를 연구 대상으로 한다. 화학은 이미 존재하는 물질을 이용하여 특정한 목적에 맞는 새로운 물질을 합성하는 길을 제공하며, 이는 농작물의 증산, 질병의 치료 및 예방, 에너지 효율 증대, 환경오염 감소 등 여러 가지 이점을 제공한다.
고대 화학
<nowiki>*</nowiki>"초기 야금 (야금: 금속을 광석으로부터 추출하고 정련하는 기술)"
인간에 의해 발견된 최초의 기록된 금속은 금인 것으로 보이며 구석기 후기(BC 40,000)에 스페인 동굴에서 소량의 천연 금이 발견되었다고 한다.
은, 구리, 주석 및 유성 철 또한 고대 문화에서 제한된 양의 금속 가공을 허용하면서 고대문화로 발견 될 수 있었다. 기원전 3000년경 유성 철제로 만든 이집트 무기는 "천국의 단검"으로 높이 평가 받았다.
아마도 통제 된 방식으로 사용 된 최초의 화학 반응은 불이였다. 그러나 천년 동안 불는 단순히 열과 빛을 생성하면서 한 물질을 다른 물질 (타는 나무 또는 끓는 물)로 변형시킬 수있는 신비한 힘으로만 알려졌다. 불는 초기 사회의 여러 측면에 영향을 미쳤다. 이들은 요리 및 서식지 조명과 같은 일상 생활의 가장 단순한면에서 도기, 벽돌 및 금속을 녹여 도구를 만드는 것과 같은 고급 기술에 이르기까지 다양했다.
유리의 발견과 금속의 정화로 이어지는 불로 인해 야금이 부상했다. 야금의 초기 단계에서 금속의 정화 방법이 요구되었고, 금은 BC 2900 년 초기의 고대 이집트의 귀중한 금속이되었다.
17 세기와 18 세기 : 초기 화학
"<nowiki>*</nowiki>로버트 보일"
영국계 미국인 화학자 로버트 보일 (Robert Boyle, 1627-1691)은 연금술에 대한 현대의 과학적 방법을 정제하고 화학을 연금술과 분리한 것으로 생각된다. 그의 연구가 연금술 전통에 뿌리를두고 있음에도 불구하고, 보일은 오늘날 현대의 화학자이자 현대화학의 창시자이자 현대 실험 과학 방법의 선구자 중 한 사람으로 불리고 있다. 보일이 원래 발견자가 아님에도 보일은 1662 년에 제시한 보일의 법칙으로 가장 잘 알려져있다. 보일의 법칙은 온도만 폐쇄된 시스템 내에서 일정하게 유지된다면 가스의 절대 압력과 부피가 반비례함을 의미한다.보일은 또한 화학 분야의 초석으로 간주되는 1661 년의 《의심 많은 화학자》 에 대한 획기적인 저서로 인정받고 있다. 작품에서 보일은 모든 현상이 움직이는 입자의 충돌의 결과라는 가설을 제시한다. 보일 (Boyle)은 화학자들에게 실험을 호소했으며 실험은 지구, 화염, 공기 및 물과 같은 고전적인 4 가지 원소만으로 화학 원소를 제한한다는 것을 부인했다. 그는 또한 화학이 의학이나 연금술에 종속되어 과학의 지위로 부상하는 것을 중단해야한다고 촉구했다. 중요한 것은 과학 실험에 대한 엄격한 접근 방식이라고 주장했다. 그는 모든 이론이 사실로 간주되기 전에 실험적으로 입증되어야한다고 믿었다. 이 작품은 원자, 분자 및 화학 반응의 가장 초기의 현대적인 아이디어를 포함하고 있으며 현대 화학의 역사의 시작을 나타낸다. 보일은 또한 화학 물질을 정제하여 재현 가능한 반응을 얻으려고 시도했다. 그는 재료 물질의 물리적 특성과 상호 작용을 설명하고 정량화하기 위해 René Descartes가 제안한 기계 철학의 보컬 지지자였다. 보일은 원자핵론자 였지만 원자보다 더 많은 입자를 선호했다. 그는 속성이 유지되는 물질의 가장 정밀한 부분은 미립자의 수준에 있다고 논평했다. 그는 또한 공기 펌프로 수 많은 조사를 수행했으며, 공기가 펌프로 퍼져 나감에 따라 수은이 떨어지는 것으로 나타났다. 그는 또한 컨테이너에서 공기를 펌핑하면 화염을 없애고 내부에있는 작은 동물을 죽일 수 있음을 관찰했다.
과거 화학에서 더 이상 나뉘지 않는 기초적인 요소가 존재한다고 했는데, 이 기초적인 요소를 원자(atom)라 한다. 원자란 물질을 구성하는 기본적인 입자로 고대 그리스의 데모크리토스에서부터 그 존재가 주장되었는데, 1803년 존 돌턴에 의해서 원자론으로 정리되었다. 20세기 초, 화학자들은 원자를 구성하는 더 작은 입자들, 즉 전자, 양성자, 중성자가 존재한다는 사실을 발견하였다. 전자는 음전하를 띠고 있고, 양성자는 양전하를 띠고 있으며, 중성자는 전하를 띠지 않고 있다. 원자는 양성자와 중성자로 구성되어 있는 원자핵을 가지고 있으며 전자는 이 주변에 오비탈을 이루며 분포되어 있다.
원소(element)는 일반적인 화학적, 물리학적 방법으로는 분해되지 않는 물질을 의미한다. 원소는 원자핵에 존재하는 양성자 수로 정의되는 원자 번호로 구별된다. 산소, 황, 주석, 철 등은 원소이다. 19세기 중엽까지 약 80가지의 원소가 발견되었는데, 이들은 주기율에 따라 배열될 수 있다.
동위원소는 아이소토프 또는 동위체라고도 한다. 서로 화학적으로는 거의 구별하지 못하지만 그것을 구성하고 있는 원자의 질량이 서로 다른 원소를 동위원소라고 한다. 영어의 isotope는 그리스어인 isos(같은)와 topos(장소)의 합성어인데, 질량은 서로 달라도 원소의 주기율표에서 같은 장소에 배열되는 데서 1901년 영국의 화학자 F. 소디가 isotope라는 명칭을 붙였다. 대부분의 원소는 동위 원소를 가진다. 동위 원소는 원자 번호는 같으나, 중성자수가 다른 원소를 뜻한다. 동위 원소는 화학적인 성질은 동일하나, 원자량의 차이를 이용하여 분리할 수 있다. 자연에서도 발견되는 92개의 원소 중 88개는 동위 원소가 지표면 상에 존재한다. 자연에서 발견되지 않더라도 동위 원소는 핵반응을 이용하여 만들어낼 수 있다. 어떤 동위 원소는 방사능을 가지기도 하는데, 이 경우 동위 원소의 원자핵은 불안정하고 방사선을 방출하며 자연적으로 붕괴된다.
동중 원소(isobar)는 원자 질량은 같으나, 양성자수가 다른 원소를 뜻한다. 동중 원소는 화학적, 물리적 성질이 다르며 S, Cl, Ar, K, Ca등이 있다.
분자란 원자의 결합체 중 독립 입자로서 작용하는 단위체이다. 일정한 개수의 원자가 특정하게 정렬되어 서로 결합해 분자가 형성된다. 원자가 원소의 최소단위이듯, 분자는 화합물의 최소단위가 된다. 원자가 결합될 때 전자의 재배치가 일어나는데, 이는 화학에서의 중요한 관심사중 하나이다.
화학 반응은 원자 혹은 분자가 화학적인 변화를 겪는 일을 말한다. 화학 반응은 원자간의 결합이 끊어지는 일과 다시 이어지는 일을 포함한다. 결합이 끊어질 때는 에너지가 흡수되고, 결합이 이어질 때는 에너지가 방출된다. 화학 반응의 간단한 예로는 수소와 산소가 반응하여 물이 되는 것을 들 수 있다. 반응식은 다음과 같다.
반응식에서 알 수 있듯이, 화학 반응에서는 원자가 새로 생성되거나 나타나는 일이 일어나지 않는다. ΔH는 에너지 또는 엔탈피 변화를 뜻한다. 반응은 발열반응일 수도 있고, 흡열반응일 수도 있다. 발열반응은 주위로 열을 방출하는 반응으로 엔탈피 변화가 음수로 나타난다. 반면에 흡열반응은 주위 열을 흡수하는 반응으로 엔탈피 변화가 양수로 나타난다. 위 반응의 경우는 발열반응인데, 이는 계로부터 주위로 열이 이동하였다는 의미이다.
화학 결합을 주된 세 가지 부류로 나누어보면 이온 결합, 공유 결합 그리고 금속결합으로 나눌 수 있다. 이온이란 전하를 띤 원자 또는 분자를 뜻한다. 이온 결합은 양전하와 음전하의 전기적인 인력에 의해서 생성되는 화학 결합이다. 예를 들면 염화 나트륨은 양전하를 띤 나트륨 이온(Na)과 음전하를 띤 염화 이온(Cl) 사이의 전기적인 결합으로 이루어진 이온 화합물이다. 이러한 물질을 물에 녹이면 이온은 물 분자에 의해 수화되고 이렇게 해서 만들어진 수용액은 전기전도도를 가진다.
공유 결합은 오비탈이 겹쳐진 결과 두 원자가 전자쌍을 공유하게 되어 생성되는 결합을 의미한다. 공유 결합이 형성되는 결합은 발열반응인데, 이때 방출되는 에너지의 양이 그 결합의 결합 에너지이다. 결합 에너지만큼의 에너지를 그 결합에 가해주면 결합은 끊어질 수 있다.
금속 결합은 금속 원자에서 전자들이 떨어져 나와 자유전자를 생성하게 되어 생성되는 결합을 의미한다. 금속의 특성인 연성과 전성이 생성되는 이유이기도 하다.
화합물은 구성하고 있는 원자의 종류, 수, 배치에 의해서 그 특성이 결정된다. 자연에서 찾을 수 있거나 인공적으로 합성할 수 있는 화합물의 수는 엄청나고, 이들 중 대부분은 유기 화합물이다. 유기 화합물을 이루는 주된 화학 원소인 탄소는 다른 화학 원소와는 다르게 매우 긴 사슬 형태로 정렬될 수 있으며, 같은 수많은 이성질체를 형성할 수 있다. 예를 들어, 분자식 CHO는 약 천 개의 서로 다른 화합물을 뜻할 수 있다.
화학은 취급 대상 및 대상의 취급 방법에 따라서 몇 가지 분과로 구분될 수 있다. 물질을 분석하는 분석화학은 크게 물질의 존재를 취급하는 정성 분석과 물질의 양을 결정하는 정량 분석으로 나눌 수 있다. 탄소를 포함한 유기 화합물을 다루는 유기화학과 유기 화합물을 제외한 무기 화합물을 다루는 무기화학도 있다. 물리학과 화학의 경계에는 물리화학이 있고 생물학과의 경계에는 생화학이 있다. 물리화학에서 특히 분자의 구조와 성질과의 관계를 다루는 부분을 구조화학이라고 부르기도 한다. 제2차 세계 대전 이후에는 방사성 물질을 다루는 방사화학이 발전하였고 화학 공업을 다루는 공업화학도 있다. 이 외에도 화학의 분과는 매우 다양하다.
화학의 분과는 전통적으로 다음과 같은 5가지로 나눌 수 있으며, 각각의 분과는 더욱 세분화될 수 있다.
무기화학은 유기화학에서 다루지 않는 물질을 다루며 주로 금속이나 준금속이 포함된 물질에 대해서 연구한다. 따라서 무기화학에서는 매우 넓은 범위의 화합물을 다루게 된다. 초기에는 광물의 구성이나 새 원소의 발견이 주요 관심사였고 여기서부터 지구화학이 분기되었다. 주로 전이 금속 등을 이용한 촉매나 생물에서 산소 수송, 광합성, 질소 고정 등의 과정에서 중요한 역할을 하는 금속 원자들에 대해 연구하며 이 외에도 세라믹, 복합재료, 초전도체등에 대한 연구를 한다.
물리화학은 화학적 현상에 대한 해석과 이를 설명하기 위한 물리적 원리들에 대해 다루는 분과이다. 화학반응에 관련된 열역학적 원리와 물질의 물리학적 성질에 대한 설명은 물리화학이 다루는 고전적인 주제이다. 물리화학은 양자화학의 발전에도 큰 기여를 하였다. 분광계나 자기 공명, 회절 기기 등 물리화학에서 사용하는 실험 장비나 실험 방법들은 다른 화학의 분과에서도 매우 많이 사용된다. 물리화학이 다루는 대상은 유기 화합물, 무기 화합물, 혼합물을 모두 포함한다.
분석화학은 물질의 조성이나 혼합물의 구성요소 등을 결정하는 방법에 대해서 연구하는 화학의 분과이다. 혼합물을 이루고 있는 성분의 탐색, 분리, 정량과 분자를 이루고 있는 원자의 비율을 측정하여 분자식을 결정하는 일 등이 분석화학에서 행해진다. 1950년대의 분석화학의 발전은 많은 질량 분석계를 포함한 분석 기구의 등장을 불러일으켰다. 이 외에도 고해상도 크로마토그래피, 전기화학에서의 많은 실험방법 등은 분석화학에 있어서 중요한 분석법이다. 분석화학에 있어서 최종 목표는 더 정확한 측정법이나 측정기기 등을 개발하는 것이다. 분석화학의 발전으로 인해 환경오염 물질 등을 피코그램의 수준에서도 감지하는 것이 가능해졌다.

실습

  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일을 50줄만 출력해 보새요.
  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분만 배열로 저장해서 출력해 보세요.
with open("kowiki.txt") as f:
    for i, line in enumerate(f):
        if  50 <= i:
            break
        print(line.strip())
지미 카터
제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.
지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.
1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.
1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.
카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.
카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.
그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.
카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.
그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.
지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.
1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.
퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.
카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.
특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.
1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.
1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.
미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.
2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.
경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.
그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.



수학
수학(數學, ) 은 양, 구조, 공간, 변화, 미적분 등의 개념을 다루는 학문이다. 현대 수학은 형식 논리를 이용해서 공리로 구성된 추상적 구조를 연구하는 학문으로 여겨지기도 한다. 수학은 그 구조와 발전 과정에서는 자연과학에 속하는 물리학을 비롯한 다른 학문들과 깊은 연관을 맺고 있다. 하지만, 어느 과학의 분야들과는 달리, 자연계에서 관측되지 않는 개념들에 대해서까지 이론을 일반화 및 추상화시킬 수 있다는 차이가 있다고 한다. 수학자들은 그러한 개념들에 대해서 추측을 하고, 적절하게 선택된 정의와 공리로부터의 엄밀한 연역을 통해서 추측들의 진위를 파악한다.
수학은 숫자 세기, 계산, 측정 및 물리적 대상의 모양과 움직임을 추상화하고, 이에 논리적 추론을 적용하여 나타났다. 이런 기본 개념들은 고대 이집트, 메소포타미아, 고대 인도, 고대 중국 및 고대 그리스의 수학책에서 찾아볼 수 있다. 그리고, 유클리드의 원론에서는 엄밀한 논증이 발견된다. 이런 발전은 그 뒤로도 계속되어, 16세기의 르네상스에 이르러서는 수학적 발전과 과학적 방법들의 상호 작용이 일어나, 혁명적인 연구들이 진행되며 인류 문명에 큰 영향을 미치게 되었다. 그리고, 이는 현재까지도 계속되고 있다.
오늘날 수학은 자연과학, 공학, 의학뿐만 아니라, 경제학 등의 사회과학에서도 중요한 도구로서도 사용된다. 수학을 이런 분야들에 적용한 응용수학은 그 결과로써 수학 자체의 발전을 이끌고 새로운 분야들을 낳았다. 응용이 아닌 수학 자체의 아름다움과 재미를 추구하며 연구하는 것을 순수수학이라 하는데, 긴 시간이 지난 뒤에 순수수학적 연구를 다른 분야에 응용할 방법이 발견된 경우도 많았다고 한다.
대부분 자료를 보면, "mathematics"는 "수리적인"이라는 뜻을 가진 라틴어 mathmaticus와 그리스어 mathematikos에서 유래되었거나, "학식있는"을 뜻하는 mathema와 "배우다"를 뜻하는 manthanein에서 유래되었다고 한다. 줄여서 "math"라고 표현하기도 한다.
수학은 기원전 600년 경에 살았던 탈레스로부터 시작됐다. 하지만 탈레스가 태어나기 전에도 수학을 연구한 사람이 있을 수도 있기 때문에, 인류의 역사와 더불어 시작되었다고 할 수 있다. 교역•분배•과세 등의 인류의 사회 생활에 필요한 모든 계산을 수학이 담당해 왔고, 농경 생활에 필수적인 천문 관측과 달력의 제정, 토지의 측량 또한 수학이 직접적으로 관여한 분야이다. 고대 수학을 크게 발전시킨 나라로는 이집트, 인도, 그리스, 중국 등이 있다. 그 중에서도 그리스는 처음으로 수학의 방정식에서 변수를 문자로 쓴 나라이다.
한국의 수학은 약 1,500년 전부터 기록으로 보이기 시작한다. 신라 시대에 수학을 가르쳤으며, 탈레스가 최초로 발견한 일식과 월식을 예측할 정도로 발달했다. 조선 시대에 훈민정음을 창제한 세종 대왕은 집현전 학자들에게 수학 연구를 명하는 등, 조선의 수학 수준을 향상시키기 위해서 많은 노력을 기울였다. 하지만 임진왜란으로 많은 서적들이 불타고, 천문학 분야에서 큰 손실을 입었다. 조선 후기의 한국의 수학은 실학자들을 중심으로 다시 발전하였고, 새로운 결과도 성취되었다.
수학의 각 분야들은 상업에 필요한 계산을 하기 위해, 숫자들의 관계를 이해하기 위해, 토지를 측량하기 위해, 그리고 천문학적 사건들을 예견하기 위해 발전되어왔다. 이 네 가지 목적은 대략적으로 수학이 다루는 대상인 양, 구조, 공간 및 변화에 대응되며, 이들을 다루는 수학의 분야를 각각 산술, 대수학, 기하학, 해석학이라 한다. 또한 이 밖에도 근대 이후에 나타난 수학기초론과 이산수학 및 응용수학 등이 있다.
산술은 자연수와 정수 및 이에 대한 사칙연산에 대한 연구로서 시작했다. 수론은 이런 주제들을 보다 깊게 다루는 학문으로, 그 결과로는 페르마의 마지막 정리 등이 유명하다. 또한 쌍둥이 소수 추측과 골드바흐 추측 등을 비롯해 오랜 세월 동안 해결되지 않고 남아있는 문제들도 여럿 있다.
수의 체계가 보다 발전하면서, 정수의 집합을 유리수의 집합의 부분집합으로 여기게 되었다. 또한 유리수의 집합은 실수의 집합의 부분집합이며, 이는 또다시 복소수 집합의 일부분으로 볼 수 있다. 여기에서 더 나아가면 사원수와 팔원수 등의 개념을 생각할 수도 있다. 이와는 약간 다른 방향으로, 자연수를 무한대까지 세어나간다는 개념을 형식화하여 순서수의 개념을 얻으며, 집합의 크기 비교를 이용하여 무한대를 다루기 위한 또다른 방법으로는 기수의 개념도 있다.
수 대신 문자를 써서 문제해결을 쉽게 하는 것과, 마찬가지로 수학적 법칙을 일반적이고 간명하게 나타내는 것을 포함한다. 고전대수학은 대수방정식 및 연립방정식의 해법에서 시작하여 군, 환, 체 등의 추상대수학을 거쳐 현대에 와서는 대수계의 구조를 보는 것을 중심으로 하는 선형대수학으로 전개되었다. 수의 집합이나 함수와 같은 많은 수학적 대상들은 내재적인 구조를 보인다. 이러한 대상들의 구조적 특성들이 군론, 환론, 체론 그리고 그 외의 수많은 대수적 구조들을 연구하면서 다루어지며, 그것들 하나하나가 내재적 구조를 지닌 수학적 대상이다. 이 분야에서 중요한 개념은 벡터, 벡터 공간으로의 일반화, 그리고 선형대수학에서의 지식들이다. 벡터의 연구에는 산술, 대수, 기하라는 수학의 중요한 세개의 분야가 조합되어 있다. 벡터 미적분학은 여기에 해석학의 영역이 추가된다. 텐서 미적분학은 대칭성과 회전축의 영향 아래에서 벡터의 움직임을 연구한다. 눈금없는 자와 컴퍼스와 관련된 많은 고대의 미해결 문제들이 갈루아 이론을 사용하여 비로소 해결되었다.
공간에 대한 연구는 기하학에서 시작되었고, 특히 유클리드 기하학에서 비롯되었다. 삼각법은 공간과 수들을 결합하였고, 잘 알려진 피타고라스의 정리를 포함한다. 현대에 와서 공간에 대한 연구는, 이러한 개념들은 더 높은 차원의 기하학을 다루기 위해 비유클리드 기하학(상대성이론에서 핵심적인 역할을 함)과 위상수학으로 일반화되었다. 수론과 공간에 대한 이해는 모두 해석 기하학, 미분기하학, 대수기하학에 중요한 역할을 한다. 리 군도 공간과 구조, 변화를 다루는데 사용된다. 위상수학은 20세기 수학의 다양한 지류속에서 괄목할만한 성장을 한 분야이며, 푸앵카레 추측과 인간에 의해서 증명되지 못하고 오직 컴퓨터로만 증명된 4색정리를 포함한다.
변화에 대한 이해와 묘사는 자연과학에 있어서 일반적인 주제이며, 미적분학은 변화를 탐구하는 강력한 도구로서 발전되었다. 함수는 변화하는 양을 묘사함에 있어서 중추적인 개념으로써 떠오르게 된다. 실수와 실변수로 구성된 함수의 엄밀한 탐구가 실해석학이라는 분야로 알려지게 되었고, 복소수에 대한 이와 같은 탐구 분야는 복소해석학이라고 한다. 함수해석학은 함수의 공간(특히 무한차원)의 탐구에 주목한다. 함수해석학의 많은 응용분야 중 하나가 양자역학이다. 많은 문제들이 자연스럽게 양과 그 양의 변화율의 관계로 귀착되고, 이러한 문제들이 미분방정식으로 다루어진다. 자연의 많은 현상들이 동역학계로 기술될 수 있다. 혼돈 이론은 이러한 예측 불가능한 현상을 탐구하는 데 상당한 기여를 한다.
수학의 기초를 확실히 세우기 위해, 수리논리학과 집합론이 발전하였고, 이와 더불어 범주론이 최근에도 발전되고 있다. “근본 위기”라는 말은 대략 1900년에서 1930년 사이에 일어난, 수학의 엄밀한 기초에 대한 탐구를 상징적으로 보여주는 말이다. 수학의 엄밀한 기초에 대한 몇 가지 의견 불일치는 오늘날에도 계속되고 있다. 수학의 기초에 대한 위기는 그 당시 수많은 논쟁에 의해 촉발되었으며, 그 논쟁에는 칸토어의 집합론과 브라우어-힐베르트 논쟁이 포함되었다.



수학 상수
수학에서 상수란 그 값이 변하지 않는 불변량으로, 변수의 반대말이다. 물리 상수와는 달리, 수학 상수는 물리적 측정과는 상관없이 정의된다.
수학 상수는 대개 실수체나 복소수체의 원소이다. 우리가 이야기할 수 있는 상수는 (거의 대부분 계산 가능한) 정의가능한 수이다.
특정 수학 상수, 예를 들면 골롬-딕맨 상수, 프랑세즈-로빈슨 상수, formula_1, 레비 상수같은 상수는 다른 수학상수 또는 함수와 약한 상관관계 또는 강한 상관관계를 갖는다.



문학
문학(文學)은 언어를 예술적 표현의 제재로 삼아 새로운 의미를 창출하여, 인간과 사회를 진실되게 묘사하는 예술의 하위분야이다. 간단하게 설명하면, 언어를 통해 인간의 삶을 미적(美的)으로 형상화한 것이라고 볼 수 있다. 문학은 원래 문예(文藝)라고 부르는 것이 옳으며, 문학을 학문의 대상으로서 탐구하는 학문의 명칭 역시 문예학이다. 문예학은 음악사학, 미술사학 등과 함께 예술학의 핵심분야로서 인문학의 하위범주에 포함된다.
일반적으로 문학의 정의는 텍스트들의 집합이다. 각각의 국가들은 고유한 문학을 가질 수 있으며, 이는 기업이나 철학 조류, 어떤 특정한 역사적 시대도 마찬가지이다. 흔히 한 국가의 문학을 묶어서 분류한다. 예를 들어 고대 그리스어, 성서, 베오울프, 일리아드, 그리고 미국 헌법 등이 그러한 분류의 범주에 들어간다. 좀 더 일반적으로는 문학은 특정한 주제를 가진 이야기, 시, 희곡의 모음이라 할 수 있다. 이 경우, 이야기, 시, 그리고 희곡은 민족주의적인 색채를 띨 수도 아닐 수도 있다. 문학의 한 부분으로서 특정한 아이템을 구분 짓는 일은 매우 어려운 일이다. 어떤 사람들에게 "문학"은 어떠한 상징적인 기록의 형태로도 나타날 수 있는 것이다. (이를테면 이미지나 조각, 또는 문자로도 나타날 수 있다.) 그러나 또다른 사람들에게 있어 문학은 오직 문자로 이루어진 텍스트로 구성된 것만을 포함한다. 좀 더 보수적인 사람들은 그 개념이 꼭 물리적인 형태를 가진 텍스트여야 하고, 대개 그러한 형태는 종이 등의 눈에 보이는 매체에서 디지털 미디어까지 다양할 수 있다.
doc=[]
with zipfile.ZipFile(os.path.join(kowiki_dir, "kowiki.txt.zip")) as z:
    with z.open("kowiki.txt") as f:
        for i, line in enumerate(f):
            line = line.decode('utf-8').strip()
            if line:
                doc.append(line)
            else:
                break
doc
['지미 카터',
 '제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.',
 '지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.',
 '1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.',
 '1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.',
 '카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.',
 '카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.',
 '그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.',
 '카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.',
 '그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.',
 '지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.',
 '1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.',
 '퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.',
 '카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.',
 '특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.',
 '1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.',
 '1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.',
 '미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.',
 '2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.',
 '경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.',
 '그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.']

math

  • https://docs.python.org/ko/3/library/math.html
math.pi, math.e
(3.141592653589793, 2.718281828459045)
math.log(math.e)
1.0
math.exp(1)
2.718281828459045

실습

  • $\log(\pi \times e)$의 값을 출력해 보세요.
  • $\exp(\pi \times e)$의 값을 출력해 보세요.
math.log(math.pi*math.e)
2.1447298858494
math.exp(math.pi*math.e)
5113.984999751927

copy

  • https://docs.python.org/ko/3/library/copy.html
a = [0, 1, 2, 3, 4, [5, 6, 7, 8]]
b = a
# a와 b는 같은 값
b[1] = 10
a, b
([0, 10, 2, 3, 4, [5, 6, 7, 8]], [0, 10, 2, 3, 4, [5, 6, 7, 8]])
# a와 c는 다른 값
c = copy.copy(a)
c[1] = 20
a, c
([0, 10, 2, 3, 4, [5, 6, 7, 8]], [0, 20, 2, 3, 4, [5, 6, 7, 8]])
# a[5]와 c[5]는 같은 값
c[5][1] = 23
a, c
([0, 10, 2, 3, 4, [5, 23, 7, 8]], [0, 20, 2, 3, 4, [5, 23, 7, 8]])
# a와 d는 다른 값
d = copy.deepcopy(a)
d[5][1] = 99
a, d
([0, 10, 2, 3, 4, [5, 23, 7, 8]], [0, 10, 2, 3, 4, [5, 99, 7, 8]])

실습

  • 1 ~ 10까지 숫자로 된 배열을 deep copy를 이용해서 5개 생성하고 1번째 값을 random 값으로 각각 변경 후 출력해 보세요.
a = [i + 1for i in range(10)]
b=copy.deepcopy(a)
c=copy.deepcopy(a)
d=copy.deepcopy(a)
e=copy.deepcopy(a)
a, b, c, d, e
([1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
a[1]=random.random()
b[1]=random.random()
c[1]=random.random()
d[1]=random.random()
e[1]=random.random()
a, b, c, d, e
([1, 0.4310347746624503, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 0.37291517956285336, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 0.9074216529334242, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 0.7744122415379479, 3, 4, 5, 6, 7, 8, 9, 10],
 [1, 0.38194357502925735, 3, 4, 5, 6, 7, 8, 9, 10])

collections

  • https://docs.python.org/ko/3/library/collections.html
a = {}
if 'aa' not in a:
  a['aa']=0
a['aa'], a
(0, {'aa': 0})
#위에 확인하려면 오래 걸림 따라서 다음과 같은 방법
b = collections.defaultdict(list)
b['aa'], b
([], defaultdict(list, {'aa': []}))
#갯수를 세는 경우가 있는데 그 때, 카운터를 이용하면 쉽게 셀 수 있음 
c = collections.Counter()
c.update(['a', 'b', 'c', 'd'])
c.update(['a', 'c', 'd'])
c.update(['a', 'd'])
c
Counter({'a': 3, 'b': 1, 'c': 2, 'd': 3})
c = collections.Counter()
c.update(list('data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분을 띄어쓰기 기준으로 단어의 개수를 세어서 출력해 보세요.'))
c
Counter({' ': 12,
         '.': 3,
         '/': 1,
         '_': 1,
         'a': 2,
         'd': 2,
         'i': 6,
         'k': 4,
         'o': 2,
         'p': 1,
         'r': 1,
         't': 3,
         'w': 2,
         'x': 1,
         'z': 1,
         '개': 1,
         '기': 2,
         '단': 1,
         '더': 1,
         '띄': 1,
         '력': 1,
         '로': 1,
         '를': 1,
         '미': 1,
         '보': 1,
         '부': 1,
         '분': 1,
         '서': 1,
         '세': 2,
         '수': 1,
         '쓰': 1,
         '어': 3,
         '요': 1,
         '으': 1,
         '을': 1,
         '의': 3,
         '일': 1,
         '준': 1,
         '지': 1,
         '출': 1,
         '카': 1,
         '터': 1,
         '파': 1,
         '폴': 1,
         '해': 1})

실습

  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분을 띄어쓰기 기준으로 단어의 개수를 세어서 출력해 보세요.
doc=[]
with zipfile.ZipFile(os.path.join(kowiki_dir, "kowiki.txt.zip")) as z:
    with z.open("kowiki.txt") as f:
        for i, line in enumerate(f):
            line = line.decode('utf-8').strip()
            if line:
                doc.append(line)
            else:
                break
doc
['지미 카터',
 '제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.',
 '지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.',
 '1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.',
 '1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.',
 '카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.',
 '카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.',
 '그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.',
 '카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.',
 '그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.',
 '지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.',
 '1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.',
 '퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.',
 '카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.',
 '특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.',
 '1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.',
 '1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.',
 '미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.',
 '2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.',
 '경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.',
 '그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.']
# collections
c = collections.Counter()
for line in doc:
  print(line.split())
  c.update(line.split())
c
['지미', '카터']
['제임스', '얼', '"지미"', '카터', '주니어(,', '1924년', '10월', '1일', '~', ')는', '민주당', '출신', '미국', '39번째', '대통령', '(1977년', '~', '1981년)이다.']
['지미', '카터는', '조지아주', '섬터', '카운티', '플레인스', '마을에서', '태어났다.', '조지아', '공과대학교를', '졸업하였다.', '그', '후', '해군에', '들어가', '전함·원자력·잠수함의', '승무원으로', '일하였다.', '1953년', '미국', '해군', '대위로', '예편하였고', '이후', '땅콩·면화', '등을', '가꿔', '많은', '돈을', '벌었다.', '그의', '별명이', '"땅콩', '농부"', '(Peanut', 'Farmer)로', '알려졌다.']
['1962년', '조지아', '주', '상원', '의원', '선거에서', '낙선하나', '그', '선거가', '부정선거', '였음을', '입증하게', '되어', '당선되고,', '1966년', '조지아', '주', '지사', '선거에', '낙선하지만', '1970년', '조지아', '주', '지사를', '역임했다.', '대통령이', '되기', '전', '조지아주', '상원의원을', '두번', '연임했으며,', '1971년부터', '1975년까지', '조지아', '지사로', '근무했다.', '조지아', '주지사로', '지내면서,', '미국에', '사는', '흑인', '등용법을', '내세웠다.']
['1976년', '대통령', '선거에', '민주당', '후보로', '출마하여', '도덕주의', '정책으로', '내세워,', '포드를', '누르고', '당선되었다.']
['카터', '대통령은', '에너지', '개발을', '촉구했으나', '공화당의', '반대로', '무산되었다.']
['카터는', '이집트와', '이스라엘을', '조정하여,', '캠프', '데이비드에서', '안와르', '사다트', '대통령과', '메나헴', '베긴', '수상과', '함께', '중동', '평화를', '위한', '캠프데이비드', '협정을', '체결했다.']
['그러나', '이것은', '공화당과', '미국의', '유대인', '단체의', '반발을', '일으켰다.', '1979년', '백악관에서', '양국', '간의', '평화조약으로', '이끌어졌다.', '또한', '소련과', '제2차', '전략', '무기', '제한', '협상에', '조인했다.']
['카터는', '1970년대', '후반', '당시', '대한민국', '등', '인권', '후진국의', '국민들의', '인권을', '지키기', '위해', '노력했으며,', '취임', '이후', '계속해서', '도덕정치를', '내세웠다.']
['그러나', '주', '이란', '미국', '대사관', '인질', '사건에서', '인질', '구출', '실패를', '이유로', '1980년', '대통령', '선거에서', '공화당의', '로널드', '레이건', '후보에게', '져', '결국', '재선에', '실패했다.', '또한', '임기', '말기에', '터진', '소련의', '아프가니스탄', '침공', '사건으로', '인해', '1980년', '하계', '올림픽에', '반공국가들의', '보이콧을', '내세웠다.']
['지미', '카터는', '대한민국과의', '관계에서도', '중요한', '영향을', '미쳤던', '대통령', '중', '하나다.', '인권', '문제와', '주한미군', '철수', '문제로', '한때', '한미', '관계가', '불편하기도', '했다.', '1978년', '대한민국에', '대한', '북한의', '위협에', '대비해', '한미연합사를', '창설하면서,', '1982년까지', '3단계에', '걸쳐', '주한미군을', '철수하기로', '했다.', '그러나', '주한미군사령부와', '정보기관·의회의', '반대에', '부딪혀', '주한미군은', '완전철수', '대신', '6,000명을', '감축하는', '데', '그쳤다.', '또한', '박정희', '정권의', '인권', '문제', '등과의', '논란으로', '불협화음을', '냈으나,', '1979년', '6월', '하순,', '대한민국을', '방문하여', '관계가', '다소', '회복되었다.']
['1979년', '~', '1980년', '대한민국의', '정치적', '격변기', '당시의', '대통령이었던', '그는', '이에', '대해', '애매한', '태도를', '보였고,', '이는', '후에', '대한민국', '내에서', '고조되는', '반미', '운동의', '한', '원인이', '됐다.', '10월', '26일,', '박정희', '대통령이', '김재규', '중앙정보부장에', '의해', '살해된', '것에', '대해', '그는', '이', '사건으로', '큰', '충격을', '받았으며,', '사이러스', '밴스', '국무장관을', '조문사절로', '파견했다.', '12·12', '군사', '반란과', '5.17', '쿠데타에', '대해', '초기에는', '강하게', '비난했으나,', '미국', '정부가', '신군부를', '설득하는데,', '한계가', '있었고', '결국', '묵인하는', '듯한', '태도를', '보이게', '됐다.']
['퇴임', '이후', '민간', '자원을', '적극', '활용한', '비영리', '기구인', '카터', '재단을', '설립한', '뒤', '민주주의', '실현을', '위해', '제', '3세계의', '선거', '감시', '활동', '및', '기니', '벌레에', '의한', '드라쿤쿠르스', '질병', '방재를', '위해', '힘썼다.', '미국의', '빈곤층', '지원', '활동,', '사랑의', '집짓기', '운동,', '국제', '분쟁', '중재', '등의', '활동도', '했다.']
['카터는', '카터', '행정부', '이후', '미국이', '북핵', '위기,', '코소보', '전쟁,', '이라크', '전쟁과', '같이', '미국이', '군사적', '행동을', '최후로', '선택하는', '전통적', '사고를', '버리고', '군사적', '행동을', '선행하는', '행위에', '대해', '깊은', '유감을', '표시', '하며', '미국의', '군사적', '활동에', '강한', '반대', '입장을', '보이고', '있다.']
['특히', '국제', '분쟁', '조정을', '위해', '북한의', '김일성,', '아이티의', '세드라스', '장군,', '팔레인스타인의', '하마스,', '보스니아의', '세르비아계', '정권', '같이', '미국', '정부에', '대해', '협상을', '거부하면서', '사태의', '위기를', '초래한', '인물', '및', '단체를', '직접', '만나', '분쟁의', '원인을', '근본적으로', '해결하기', '위해', '힘썼다.', '이', '과정에서', '미국', '행정부와', '갈등을', '보이기도', '했지만,', '전직', '대통령의', '권한과', '재야', '유명', '인사들의', '활약으로', '해결해', '나갔다.']
['1978년에', '채결된', '캠프데이비드', '협정의', '이행이', '지지부진', '하자', '중동', '분쟁', '분제를', '해결하기', '위해', '1993년', '퇴임', '후', '직접', '이스라엘과', '팔레인스타인의', '오슬로', '협정을', '이끌어', '내는', '데도', '성공했다.']
['1993년', '1차', '북핵', '위기', '당시', '북한에', '대한', '미국의', '군사적', '행동이', '임박했으나,', '미국', '전직', '대통령으로는', '처음으로', '북한을', '방문하고', '미국과', '북', '양국의', '중재에', '큰', '기여를', '해', '위기를', '해결했다는', '평가를', '받았다.', '또한', '이', '때', '김영삼', '대통령과', '김일성', '주석의', '만남을', '주선했다.', '하지만', '그로부터', '수주일', '후', '김일성이', '갑자기', '사망하여', '김일성과', '김영삼의', '정상회담은', '이루어지지', '못했다.']
['미국의', '관타나모', '수용소', '문제,', '세계의', '인권문제에서도', '관심이', '깊어', '유엔에', '유엔인권고등판무관의', '제도를', '시행하도록', '노력하여', '독재자들의', '인권', '유린에', '대해', '제약을', '하고,', '국제형사재판소를', '만드는', '데', '기여하여', '독재자들', '같은', '인권유린범죄자를', '재판소로', '회부하여', '국제적인', '처벌을', '받게', '하는', '등', '인권', '신장에', '크나', '큰', '기여를', '했다.']
['2011년', '4월', '26일부터', '29일까지', '북한을', '3일간', '방문했다.']
['경제문제를', '해결하지', '못하고', '주', '이란', '미국', '대사관', '인질', '사건에', '발목이', '잡혀', '실패한', '대통령으로', '평가를', '받지만', '이란', '사태는', '미국', '내', '이란', '재산을', '풀어주겠다는', '조건을', '내세워서', '사실상', '카터가', '해결한', '것이었고,', '사랑의', '집짓기', '운동', '등으로', '퇴임', '후에', '훨씬', '더', '존경받는', '미국', '대통령', '중에', '특이한', '인물로', '남았다.']
['그는', '2002년', '말', '인권과', '중재', '역할에', '대한', '공로를', '인정받아', '노벨', '평화상을', '받게', '되었다.']





Counter({'"땅콩': 1,
         '"지미"': 1,
         '(1977년': 1,
         '(Peanut': 1,
         ')는': 1,
         '10월': 2,
         '12·12': 1,
         '1924년': 1,
         '1953년': 1,
         '1962년': 1,
         '1966년': 1,
         '1970년': 1,
         '1970년대': 1,
         '1971년부터': 1,
         '1975년까지': 1,
         '1976년': 1,
         '1978년': 1,
         '1978년에': 1,
         '1979년': 3,
         '1980년': 3,
         '1981년)이다.': 1,
         '1982년까지': 1,
         '1993년': 2,
         '1일': 1,
         '1차': 1,
         '2002년': 1,
         '2011년': 1,
         '26일,': 1,
         '26일부터': 1,
         '29일까지': 1,
         '39번째': 1,
         '3단계에': 1,
         '3세계의': 1,
         '3일간': 1,
         '4월': 1,
         '5.17': 1,
         '6,000명을': 1,
         '6월': 1,
         'Farmer)로': 1,
         '~': 3,
         '가꿔': 1,
         '간의': 1,
         '갈등을': 1,
         '감시': 1,
         '감축하는': 1,
         '갑자기': 1,
         '강하게': 1,
         '강한': 1,
         '같은': 1,
         '같이': 2,
         '개발을': 1,
         '거부하면서': 1,
         '걸쳐': 1,
         '것에': 1,
         '것이었고,': 1,
         '격변기': 1,
         '결국': 2,
         '경제문제를': 1,
         '계속해서': 1,
         '고조되는': 1,
         '공과대학교를': 1,
         '공로를': 1,
         '공화당과': 1,
         '공화당의': 2,
         '과정에서': 1,
         '관계가': 2,
         '관계에서도': 1,
         '관심이': 1,
         '관타나모': 1,
         '구출': 1,
         '국무장관을': 1,
         '국민들의': 1,
         '국제': 2,
         '국제적인': 1,
         '국제형사재판소를': 1,
         '군사': 1,
         '군사적': 4,
         '권한과': 1,
         '그': 2,
         '그는': 3,
         '그러나': 3,
         '그로부터': 1,
         '그의': 1,
         '그쳤다.': 1,
         '근무했다.': 1,
         '근본적으로': 1,
         '기구인': 1,
         '기니': 1,
         '기여를': 2,
         '기여하여': 1,
         '김영삼': 1,
         '김영삼의': 1,
         '김일성': 1,
         '김일성,': 1,
         '김일성과': 1,
         '김일성이': 1,
         '김재규': 1,
         '깊어': 1,
         '깊은': 1,
         '나갔다.': 1,
         '낙선하나': 1,
         '낙선하지만': 1,
         '남았다.': 1,
         '내': 1,
         '내는': 1,
         '내세워,': 1,
         '내세워서': 1,
         '내세웠다.': 3,
         '내에서': 1,
         '냈으나,': 1,
         '노력하여': 1,
         '노력했으며,': 1,
         '노벨': 1,
         '논란으로': 1,
         '농부"': 1,
         '누르고': 1,
         '다소': 1,
         '단체를': 1,
         '단체의': 1,
         '당선되고,': 1,
         '당선되었다.': 1,
         '당시': 2,
         '당시의': 1,
         '대비해': 1,
         '대사관': 2,
         '대신': 1,
         '대위로': 1,
         '대통령': 5,
         '대통령과': 2,
         '대통령으로': 1,
         '대통령으로는': 1,
         '대통령은': 1,
         '대통령의': 1,
         '대통령이': 2,
         '대통령이었던': 1,
         '대한': 3,
         '대한민국': 2,
         '대한민국과의': 1,
         '대한민국에': 1,
         '대한민국을': 1,
         '대한민국의': 1,
         '대해': 6,
         '더': 1,
         '데': 2,
         '데도': 1,
         '데이비드에서': 1,
         '도덕정치를': 1,
         '도덕주의': 1,
         '독재자들': 1,
         '독재자들의': 1,
         '돈을': 1,
         '됐다.': 2,
         '되기': 1,
         '되어': 1,
         '되었다.': 1,
         '두번': 1,
         '뒤': 1,
         '드라쿤쿠르스': 1,
         '들어가': 1,
         '듯한': 1,
         '등': 2,
         '등과의': 1,
         '등용법을': 1,
         '등으로': 1,
         '등을': 1,
         '등의': 1,
         '땅콩·면화': 1,
         '때': 1,
         '또한': 4,
         '레이건': 1,
         '로널드': 1,
         '마을에서': 1,
         '만나': 1,
         '만남을': 1,
         '만드는': 1,
         '많은': 1,
         '말': 1,
         '말기에': 1,
         '메나헴': 1,
         '못하고': 1,
         '못했다.': 1,
         '무기': 1,
         '무산되었다.': 1,
         '묵인하는': 1,
         '문제': 1,
         '문제,': 1,
         '문제로': 1,
         '문제와': 1,
         '미국': 10,
         '미국과': 1,
         '미국에': 1,
         '미국의': 5,
         '미국이': 2,
         '미쳤던': 1,
         '민간': 1,
         '민주당': 2,
         '민주주의': 1,
         '및': 2,
         '박정희': 2,
         '반공국가들의': 1,
         '반대': 1,
         '반대로': 1,
         '반대에': 1,
         '반란과': 1,
         '반미': 1,
         '반발을': 1,
         '받게': 2,
         '받았다.': 1,
         '받았으며,': 1,
         '받지만': 1,
         '발목이': 1,
         '방문하고': 1,
         '방문하여': 1,
         '방문했다.': 1,
         '방재를': 1,
         '백악관에서': 1,
         '밴스': 1,
         '버리고': 1,
         '벌레에': 1,
         '벌었다.': 1,
         '베긴': 1,
         '별명이': 1,
         '보스니아의': 1,
         '보였고,': 1,
         '보이게': 1,
         '보이고': 1,
         '보이기도': 1,
         '보이콧을': 1,
         '부딪혀': 1,
         '부정선거': 1,
         '북': 1,
         '북한에': 1,
         '북한을': 2,
         '북한의': 2,
         '북핵': 2,
         '분쟁': 3,
         '분쟁의': 1,
         '분제를': 1,
         '불편하기도': 1,
         '불협화음을': 1,
         '비난했으나,': 1,
         '비영리': 1,
         '빈곤층': 1,
         '사건에': 1,
         '사건에서': 1,
         '사건으로': 2,
         '사고를': 1,
         '사는': 1,
         '사다트': 1,
         '사랑의': 2,
         '사망하여': 1,
         '사실상': 1,
         '사이러스': 1,
         '사태는': 1,
         '사태의': 1,
         '살해된': 1,
         '상원': 1,
         '상원의원을': 1,
         '선거': 1,
         '선거가': 1,
         '선거에': 2,
         '선거에서': 2,
         '선택하는': 1,
         '선행하는': 1,
         '설득하는데,': 1,
         '설립한': 1,
         '섬터': 1,
         '성공했다.': 1,
         '세계의': 1,
         '세드라스': 1,
         '세르비아계': 1,
         '소련과': 1,
         '소련의': 1,
         '수상과': 1,
         '수용소': 1,
         '수주일': 1,
         '승무원으로': 1,
         '시행하도록': 1,
         '신군부를': 1,
         '신장에': 1,
         '실패를': 1,
         '실패한': 1,
         '실패했다.': 1,
         '실현을': 1,
         '아이티의': 1,
         '아프가니스탄': 1,
         '안와르': 1,
         '알려졌다.': 1,
         '애매한': 1,
         '양국': 1,
         '양국의': 1,
         '얼': 1,
         '에너지': 1,
         '역임했다.': 1,
         '역할에': 1,
         '연임했으며,': 1,
         '였음을': 1,
         '영향을': 1,
         '예편하였고': 1,
         '오슬로': 1,
         '올림픽에': 1,
         '완전철수': 1,
         '운동': 1,
         '운동,': 1,
         '운동의': 1,
         '원인을': 1,
         '원인이': 1,
         '위기': 1,
         '위기,': 1,
         '위기를': 2,
         '위한': 1,
         '위해': 6,
         '위협에': 1,
         '유감을': 1,
         '유대인': 1,
         '유린에': 1,
         '유명': 1,
         '유엔에': 1,
         '유엔인권고등판무관의': 1,
         '의원': 1,
         '의한': 1,
         '의해': 1,
         '이': 3,
         '이것은': 1,
         '이끌어': 1,
         '이끌어졌다.': 1,
         '이는': 1,
         '이라크': 1,
         '이란': 4,
         '이루어지지': 1,
         '이스라엘과': 1,
         '이스라엘을': 1,
         '이에': 1,
         '이유로': 1,
         '이집트와': 1,
         '이행이': 1,
         '이후': 4,
         '인권': 5,
         '인권과': 1,
         '인권문제에서도': 1,
         '인권유린범죄자를': 1,
         '인권을': 1,
         '인물': 1,
         '인물로': 1,
         '인사들의': 1,
         '인정받아': 1,
         '인질': 3,
         '인해': 1,
         '일으켰다.': 1,
         '일하였다.': 1,
         '임기': 1,
         '임박했으나,': 1,
         '입장을': 1,
         '입증하게': 1,
         '있다.': 1,
         '있었고': 1,
         '자원을': 1,
         '잡혀': 1,
         '장군,': 1,
         '재단을': 1,
         '재산을': 1,
         '재선에': 1,
         '재야': 1,
         '재판소로': 1,
         '적극': 1,
         '전': 1,
         '전략': 1,
         '전쟁,': 1,
         '전쟁과': 1,
         '전직': 2,
         '전통적': 1,
         '전함·원자력·잠수함의': 1,
         '정권': 1,
         '정권의': 1,
         '정보기관·의회의': 1,
         '정부가': 1,
         '정부에': 1,
         '정상회담은': 1,
         '정책으로': 1,
         '정치적': 1,
         '제': 1,
         '제2차': 1,
         '제도를': 1,
         '제약을': 1,
         '제임스': 1,
         '제한': 1,
         '져': 1,
         '조건을': 1,
         '조문사절로': 1,
         '조인했다.': 1,
         '조정을': 1,
         '조정하여,': 1,
         '조지아': 6,
         '조지아주': 2,
         '존경받는': 1,
         '졸업하였다.': 1,
         '주': 5,
         '주니어(,': 1,
         '주석의': 1,
         '주선했다.': 1,
         '주지사로': 1,
         '주한미군': 1,
         '주한미군사령부와': 1,
         '주한미군은': 1,
         '주한미군을': 1,
         '중': 1,
         '중동': 2,
         '중앙정보부장에': 1,
         '중에': 1,
         '중요한': 1,
         '중재': 2,
         '중재에': 1,
         '지내면서,': 1,
         '지미': 3,
         '지사': 1,
         '지사로': 1,
         '지사를': 1,
         '지원': 1,
         '지지부진': 1,
         '지키기': 1,
         '직접': 2,
         '질병': 1,
         '집짓기': 2,
         '창설하면서,': 1,
         '채결된': 1,
         '처벌을': 1,
         '처음으로': 1,
         '철수': 1,
         '철수하기로': 1,
         '체결했다.': 1,
         '초기에는': 1,
         '초래한': 1,
         '촉구했으나': 1,
         '최후로': 1,
         '출마하여': 1,
         '출신': 1,
         '충격을': 1,
         '취임': 1,
         '침공': 1,
         '카운티': 1,
         '카터': 5,
         '카터가': 1,
         '카터는': 5,
         '캠프': 1,
         '캠프데이비드': 2,
         '코소보': 1,
         '쿠데타에': 1,
         '크나': 1,
         '큰': 3,
         '태도를': 2,
         '태어났다.': 1,
         '터진': 1,
         '퇴임': 3,
         '특이한': 1,
         '특히': 1,
         '파견했다.': 1,
         '팔레인스타인의': 2,
         '평가를': 2,
         '평화를': 1,
         '평화상을': 1,
         '평화조약으로': 1,
         '포드를': 1,
         '표시': 1,
         '풀어주겠다는': 1,
         '플레인스': 1,
         '하계': 1,
         '하고,': 1,
         '하나다.': 1,
         '하는': 1,
         '하마스,': 1,
         '하며': 1,
         '하순,': 1,
         '하자': 1,
         '하지만': 1,
         '한': 1,
         '한계가': 1,
         '한때': 1,
         '한미': 1,
         '한미연합사를': 1,
         '함께': 1,
         '해': 1,
         '해결하기': 2,
         '해결하지': 1,
         '해결한': 1,
         '해결해': 1,
         '해결했다는': 1,
         '해군': 1,
         '해군에': 1,
         '했다.': 4,
         '했지만,': 1,
         '행동을': 2,
         '행동이': 1,
         '행위에': 1,
         '행정부': 1,
         '행정부와': 1,
         '협상에': 1,
         '협상을': 1,
         '협정을': 2,
         '협정의': 1,
         '활동': 1,
         '활동,': 1,
         '활동도': 1,
         '활동에': 1,
         '활약으로': 1,
         '활용한': 1,
         '회복되었다.': 1,
         '회부하여': 1,
         '후': 3,
         '후반': 1,
         '후보로': 1,
         '후보에게': 1,
         '후에': 2,
         '후진국의': 1,
         '훨씬': 1,
         '흑인': 1,
         '힘썼다.': 2})

re

  • https://docs.python.org/ko/3/library/re.html
string = "홍길의 키는 170 이고 영수는 165 이다."
re.match(r"\d+", string)
re.match(r"\d+", "170")
#0~3까지 170이 매치됨
<re.Match object; span=(0, 3), match='170'>
re.search(r"\d+", string)
<re.Match object; span=(7, 10), match='170'>
re.findall(r"\d+", string)
['170', '165']
#sub 는 바꾸라는 의미
re.sub(r'\d+', '*', string)
'홍길의 키는 * 이고 영수는 * 이다.'
re.sub(r'\d', '*', string)
'홍길의 키는 *** 이고 영수는 *** 이다.'
re.sub(r'[가-힣]', '*', string)
'*** ** 170 ** *** 165 **.'
iter = re.finditer(r"\d+", string)
for i in iter:
    print(i)
    print(string[i.start():i.end()])
<re.Match object; span=(7, 10), match='170'>
170
<re.Match object; span=(18, 21), match='165'>
165
#영어만 제거
re.sub('[a-zA-Z]','','data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분의 한글을 모두 제거해 보세요')
'_/ 폴더의 .. 파일의 지미카터 부분의 한글을 모두 제거해 보세요'

실습

  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분의 한글을 모두 제거해 보세요.
  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분의 영어르 모두 제거해 보세요.
  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 지미카터 부분의 숫자를 모두 제거해 보세요.
#한글만 제거
for line in doc:
  print(re.sub('[가-힣]','*',line))
** **
*** * "**" ** ***(, 1924* 10* 1* ~ )* *** ** ** 39** *** (1977* ~ 1981*)**.
** *** **** ** *** **** **** ****. *** ****** *****. * * *** *** **·***·**** ***** ****. 1953* ** ** *** ***** ** **·** ** ** ** ** ***. ** *** "** **" (Peanut Farmer)* ****.
1962* *** * ** ** **** **** * *** **** *** **** ** ****, 1966* *** * ** *** ***** 1970* *** * *** ****. **** ** * **** ***** ** *****, 1971*** 1975*** *** *** ****. *** **** ****, *** ** ** **** ****.
1976* *** *** *** *** **** **** **** ***, *** *** *****.
** **** *** *** ***** **** *** *****.
*** **** ***** ****, ** ****** *** *** **** *** ** *** ** ** *** ** ****** *** ****.
*** *** **** *** *** *** *** ****. 1979* ***** ** ** ****** *****. ** *** *2* ** ** ** *** ****.
*** 1970** ** ** **** * ** **** **** *** *** ** *****, ** ** **** ***** ****.
*** * ** ** *** ** **** ** ** *** *** 1980* *** **** **** *** *** **** * ** *** ****. ** ** *** ** *** ****** ** **** ** 1980* ** **** ****** **** ****.
** *** ****** ***** *** *** *** *** * ***. ** *** **** ** *** ** ** *** ***** **. 1978* ***** ** *** *** *** ****** *****, 1982*** 3*** ** ***** ***** **. *** ******** ****·*** *** *** ***** **** ** 6,000** **** * ***. ** *** *** ** ** *** **** ***** ***, 1979* 6* **, ***** **** *** ** *****.
1979* ~ 1980* ***** *** *** *** ****** ** ** ** *** *** ***, ** ** **** *** **** ** *** * *** **. 10* 26*, *** **** *** ******* ** *** ** ** ** * **** * *** ****, **** ** ***** ***** ****. 12·12 ** *** 5.17 **** ** **** *** *****, ** *** **** *****, *** *** ** **** ** *** *** **.
** ** ** *** ** *** *** *** ** *** *** * **** *** ** * 3*** ** ** ** * ** *** ** ****** ** *** ** ***. *** *** ** **, *** *** **, ** ** ** ** *** **.
*** ** *** ** *** ** **, *** **, *** *** ** *** *** *** *** **** *** *** *** *** *** **** *** ** ** *** ** ** *** *** *** ** ** *** *** **.
** ** ** *** ** *** ***, **** **** **, ******* ***, ***** ***** ** ** ** *** ** *** ***** *** *** *** ** * *** ** ** *** *** ***** **** ** ***. * **** ** **** *** **** ***, ** **** *** ** ** **** **** *** ***.
1978** *** ****** *** *** **** ** ** ** *** **** ** 1993* ** * ** ***** ******* *** *** *** ** ** ****.
1993* 1* ** ** ** *** ** *** *** *** *****, ** ** ****** **** *** **** *** * *** *** * *** * *** ***** *** ***. ** * * *** **** *** *** *** ****. *** **** *** * **** *** **** **** **** ***** ***** ***.
*** **** *** **, *** ******* *** ** *** ********** *** ***** **** ***** ** *** ** *** **, ******** *** * **** **** ** ******** **** **** **** *** ** ** * ** *** ** * *** **.
2011* 4* 26*** 29*** *** 3** ****.
***** **** *** * ** ** *** ** *** *** ** *** ***** *** *** ** *** ** * ** *** ****** *** **** *** *** *** ****, *** *** ** *** ** ** ** * **** ** *** ** *** *** ***.
** 2002* * *** ** *** ** *** **** ** **** ** ***.
for line in doc:
  print(re.sub('[a-zA-Z]','*',line))
지미 카터
제임스 얼 "지미" 카터 주니어(, 1924년 10월 1일 ~ )는 민주당 출신 미국 39번째 대통령 (1977년 ~ 1981년)이다.
지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. 1953년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (****** ******)로 알려졌다.
1962년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, 1966년 조지아 주 지사 선거에 낙선하지만 1970년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, 1971년부터 1975년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.
1976년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.
카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.
카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.
그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. 1979년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제2차 전략 무기 제한 협상에 조인했다.
카터는 1970년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.
그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 1980년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 1980년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.
지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. 1978년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, 1982년까지 3단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 6,000명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, 1979년 6월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.
1979년 ~ 1980년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. 10월 26일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. 12·12 군사 반란과 5.17 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.
퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 3세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.
카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.
특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.
1978년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 1993년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.
1993년 1차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.
미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.
2011년 4월 26일부터 29일까지 북한을 3일간 방문했다.
경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.
그는 2002년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.
for line in doc:
  print(re.sub('\d','*',line))
지미 카터
제임스 얼 "지미" 카터 주니어(, ****년 **월 *일 ~ )는 민주당 출신 미국 **번째 대통령 (****년 ~ ****년)이다.
지미 카터는 조지아주 섬터 카운티 플레인스 마을에서 태어났다. 조지아 공과대학교를 졸업하였다. 그 후 해군에 들어가 전함·원자력·잠수함의 승무원으로 일하였다. ****년 미국 해군 대위로 예편하였고 이후 땅콩·면화 등을 가꿔 많은 돈을 벌었다. 그의 별명이 "땅콩 농부" (Peanut Farmer)로 알려졌다.
****년 조지아 주 상원 의원 선거에서 낙선하나 그 선거가 부정선거 였음을 입증하게 되어 당선되고, ****년 조지아 주 지사 선거에 낙선하지만 ****년 조지아 주 지사를 역임했다. 대통령이 되기 전 조지아주 상원의원을 두번 연임했으며, ****년부터 ****년까지 조지아 지사로 근무했다. 조지아 주지사로 지내면서, 미국에 사는 흑인 등용법을 내세웠다.
****년 대통령 선거에 민주당 후보로 출마하여 도덕주의 정책으로 내세워, 포드를 누르고 당선되었다.
카터 대통령은 에너지 개발을 촉구했으나 공화당의 반대로 무산되었다.
카터는 이집트와 이스라엘을 조정하여, 캠프 데이비드에서 안와르 사다트 대통령과 메나헴 베긴 수상과 함께 중동 평화를 위한 캠프데이비드 협정을 체결했다.
그러나 이것은 공화당과 미국의 유대인 단체의 반발을 일으켰다. ****년 백악관에서 양국 간의 평화조약으로 이끌어졌다. 또한 소련과 제*차 전략 무기 제한 협상에 조인했다.
카터는 ****년대 후반 당시 대한민국 등 인권 후진국의 국민들의 인권을 지키기 위해 노력했으며, 취임 이후 계속해서 도덕정치를 내세웠다.
그러나 주 이란 미국 대사관 인질 사건에서 인질 구출 실패를 이유로 ****년 대통령 선거에서 공화당의 로널드 레이건 후보에게 져 결국 재선에 실패했다. 또한 임기 말기에 터진 소련의 아프가니스탄 침공 사건으로 인해 ****년 하계 올림픽에 반공국가들의 보이콧을 내세웠다.
지미 카터는 대한민국과의 관계에서도 중요한 영향을 미쳤던 대통령 중 하나다. 인권 문제와 주한미군 철수 문제로 한때 한미 관계가 불편하기도 했다. ****년 대한민국에 대한 북한의 위협에 대비해 한미연합사를 창설하면서, ****년까지 *단계에 걸쳐 주한미군을 철수하기로 했다. 그러나 주한미군사령부와 정보기관·의회의 반대에 부딪혀 주한미군은 완전철수 대신 *,***명을 감축하는 데 그쳤다. 또한 박정희 정권의 인권 문제 등과의 논란으로 불협화음을 냈으나, ****년 *월 하순, 대한민국을 방문하여 관계가 다소 회복되었다.
****년 ~ ****년 대한민국의 정치적 격변기 당시의 대통령이었던 그는 이에 대해 애매한 태도를 보였고, 이는 후에 대한민국 내에서 고조되는 반미 운동의 한 원인이 됐다. **월 **일, 박정희 대통령이 김재규 중앙정보부장에 의해 살해된 것에 대해 그는 이 사건으로 큰 충격을 받았으며, 사이러스 밴스 국무장관을 조문사절로 파견했다. **·** 군사 반란과 *.** 쿠데타에 대해 초기에는 강하게 비난했으나, 미국 정부가 신군부를 설득하는데, 한계가 있었고 결국 묵인하는 듯한 태도를 보이게 됐다.
퇴임 이후 민간 자원을 적극 활용한 비영리 기구인 카터 재단을 설립한 뒤 민주주의 실현을 위해 제 *세계의 선거 감시 활동 및 기니 벌레에 의한 드라쿤쿠르스 질병 방재를 위해 힘썼다. 미국의 빈곤층 지원 활동, 사랑의 집짓기 운동, 국제 분쟁 중재 등의 활동도 했다.
카터는 카터 행정부 이후 미국이 북핵 위기, 코소보 전쟁, 이라크 전쟁과 같이 미국이 군사적 행동을 최후로 선택하는 전통적 사고를 버리고 군사적 행동을 선행하는 행위에 대해 깊은 유감을 표시 하며 미국의 군사적 활동에 강한 반대 입장을 보이고 있다.
특히 국제 분쟁 조정을 위해 북한의 김일성, 아이티의 세드라스 장군, 팔레인스타인의 하마스, 보스니아의 세르비아계 정권 같이 미국 정부에 대해 협상을 거부하면서 사태의 위기를 초래한 인물 및 단체를 직접 만나 분쟁의 원인을 근본적으로 해결하기 위해 힘썼다. 이 과정에서 미국 행정부와 갈등을 보이기도 했지만, 전직 대통령의 권한과 재야 유명 인사들의 활약으로 해결해 나갔다.
****년에 채결된 캠프데이비드 협정의 이행이 지지부진 하자 중동 분쟁 분제를 해결하기 위해 ****년 퇴임 후 직접 이스라엘과 팔레인스타인의 오슬로 협정을 이끌어 내는 데도 성공했다.
****년 *차 북핵 위기 당시 북한에 대한 미국의 군사적 행동이 임박했으나, 미국 전직 대통령으로는 처음으로 북한을 방문하고 미국과 북 양국의 중재에 큰 기여를 해 위기를 해결했다는 평가를 받았다. 또한 이 때 김영삼 대통령과 김일성 주석의 만남을 주선했다. 하지만 그로부터 수주일 후 김일성이 갑자기 사망하여 김일성과 김영삼의 정상회담은 이루어지지 못했다.
미국의 관타나모 수용소 문제, 세계의 인권문제에서도 관심이 깊어 유엔에 유엔인권고등판무관의 제도를 시행하도록 노력하여 독재자들의 인권 유린에 대해 제약을 하고, 국제형사재판소를 만드는 데 기여하여 독재자들 같은 인권유린범죄자를 재판소로 회부하여 국제적인 처벌을 받게 하는 등 인권 신장에 크나 큰 기여를 했다.
****년 *월 **일부터 **일까지 북한을 *일간 방문했다.
경제문제를 해결하지 못하고 주 이란 미국 대사관 인질 사건에 발목이 잡혀 실패한 대통령으로 평가를 받지만 이란 사태는 미국 내 이란 재산을 풀어주겠다는 조건을 내세워서 사실상 카터가 해결한 것이었고, 사랑의 집짓기 운동 등으로 퇴임 후에 훨씬 더 존경받는 미국 대통령 중에 특이한 인물로 남았다.
그는 ****년 말 인권과 중재 역할에 대한 공로를 인정받아 노벨 평화상을 받게 되었다.

matplotlib.pyplot

  • https://matplotlib.org/stable/tutorials/introductory/pyplot.html
# plot
plt.figure(figsize=(12, 8))
plt.plot([1, 2, 3, 4, 5], "--g", label='val 1')
plt.plot([5, 4, 3, 2, 1], "-b", label='val 2')
plt.plot([2, 3, 2, 3, 2], "or", label='val 3')
plt.plot([3, 2, 3, 1, 3], "o--k", label='val 4')
plt.title("test plot")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()
findfont: Font family ['NanumBarunGothic'] not found. Falling back to DejaVu Sans.
findfont: Font family ['NanumBarunGothic'] not found. Falling back to DejaVu Sans.

png

# bar and plot
plt.figure(figsize=(8, 4))
plt.bar([0, 1, 2, 3, 4], [2, 3, 4, 5, 6], label='val 1')
plt.plot([6, 5, 4, 3, 2], "--g", label='val 2')
plt.title("test plot")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()

png

# bar and plot
plt.figure(figsize=(8, 4))
plt.bar([0, 1, 2, 3, 4], [2, 3, 4, 5, 6], label='값 1')
plt.plot([6, 5, 4, 3, 2], "--g", label='값 2')
plt.title("한글 테스트")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0, flags=flags)

png

# 한글 설정
plt.rc('font', family="NanumBarunGothic")
plt.rcParams["axes.unicode_minus"] = False # 한글 폰트 사용시 - 깨지는 문제 해결
# bar and plot
plt.figure(figsize=(8, 4))
plt.bar([0, 1, 2, 3, 4], [2, 3, 4, 5, 6], label='값 1')
plt.plot([6, 5, 4, 3, 2], "--g", label='값 2')
plt.title("한글 테스트")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0, flags=flags)

png

실습

  • random값을 이용한 길이가 10인 배열을 2개 만들고 plot을 그려보세요.
a=[random.random() for i in range(10)]
b=[random.random() for i in range(10)]

# 한글 설정
plt.rc('font', family="NanumBarunGothic")
plt.rcParams["axes.unicode_minus"] = False # 한글 폰트 사용시 - 깨지는 문제 해결
# bar and plot
plt.figure(figsize=(8, 4))
plt.plot(a,"o-r", label='값 a')
plt.plot(b, "o-b", label='값 b')
plt.title("한글 테스트")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.legend()
plt.show()
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0.0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 54620 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44544 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53580 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 49828 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 53944 missing from current font.
  font.set_text(s, 0, flags=flags)
/usr/local/lib/python3.7/dist-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 44050 missing from current font.
  font.set_text(s, 0, flags=flags)

png

pandas

  • https://pandas.pydata.org/
# random value
values = np.random.rand(6, 4)
values
array([[0.0861119 , 0.59272361, 0.79272418, 0.10433593],
       [0.47353623, 0.6961806 , 0.26114628, 0.93344598],
       [0.03151659, 0.8955467 , 0.90811392, 0.36657082],
       [0.54053155, 0.17887835, 0.65829443, 0.3531368 ],
       [0.94659265, 0.9059808 , 0.99232425, 0.53104563],
       [0.8320312 , 0.24366971, 0.72404856, 0.72254921]])
# dataframe
index = ["2021-04-19", "2021-04-20", "2021-04-21", "2021-04-22", "2021-04-23", "2021-04-24"]
df = pd.DataFrame(values, index=index, columns=["A", "B", "C", "D"])
df
A B C D
2021-04-19 0.086112 0.592724 0.792724 0.104336
2021-04-20 0.473536 0.696181 0.261146 0.933446
2021-04-21 0.031517 0.895547 0.908114 0.366571
2021-04-22 0.540532 0.178878 0.658294 0.353137
2021-04-23 0.946593 0.905981 0.992324 0.531046
2021-04-24 0.832031 0.243670 0.724049 0.722549
# 기본정보
df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 6 entries, 2021-04-19 to 2021-04-24
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   A       6 non-null      float64
 1   B       6 non-null      float64
 2   C       6 non-null      float64
 3   D       6 non-null      float64
dtypes: float64(4)
memory usage: 240.0+ bytes
# 숫자로 된 값의 정보
df.describe()
A B C D
count 6.000000 6.000000 6.000000 6.000000
mean 0.485053 0.585497 0.722775 0.501847
std 0.374559 0.314111 0.256578 0.294710
min 0.031517 0.178878 0.261146 0.104336
25% 0.182968 0.330933 0.674733 0.356495
50% 0.507034 0.644452 0.758386 0.448808
75% 0.759156 0.845705 0.879266 0.674673
max 0.946593 0.905981 0.992324 0.933446
# plot
df.plot()
<matplotlib.axes._subplots.AxesSubplot at 0x7fe2d14f2f50>

png

# index 초기화
df2 = df.reset_index()
df2
index A B C D
0 2021-04-19 0.086112 0.592724 0.792724 0.104336
1 2021-04-20 0.473536 0.696181 0.261146 0.933446
2 2021-04-21 0.031517 0.895547 0.908114 0.366571
3 2021-04-22 0.540532 0.178878 0.658294 0.353137
4 2021-04-23 0.946593 0.905981 0.992324 0.531046
5 2021-04-24 0.832031 0.243670 0.724049 0.722549
# index 변경
df2.set_index("A")
index B C D
A
0.086112 2021-04-19 0.592724 0.792724 0.104336
0.473536 2021-04-20 0.696181 0.261146 0.933446
0.031517 2021-04-21 0.895547 0.908114 0.366571
0.540532 2021-04-22 0.178878 0.658294 0.353137
0.946593 2021-04-23 0.905981 0.992324 0.531046
0.832031 2021-04-24 0.243670 0.724049 0.722549
# index 초기화
df2 = df.reset_index()
df2
index A B C D
0 2021-04-19 0.086112 0.592724 0.792724 0.104336
1 2021-04-20 0.473536 0.696181 0.261146 0.933446
2 2021-04-21 0.031517 0.895547 0.908114 0.366571
3 2021-04-22 0.540532 0.178878 0.658294 0.353137
4 2021-04-23 0.946593 0.905981 0.992324 0.531046
5 2021-04-24 0.832031 0.243670 0.724049 0.722549
# csv 파일로 저장
df2.to_csv(os.path.join("aaa.csv"), index=False)
# csv 파일 읽어오기
df3 = pd.read_csv(os.path.join("aaa.csv"))
df3
index A B C D
0 2021-04-19 0.086112 0.592724 0.792724 0.104336
1 2021-04-20 0.473536 0.696181 0.261146 0.933446
2 2021-04-21 0.031517 0.895547 0.908114 0.366571
3 2021-04-22 0.540532 0.178878 0.658294 0.353137
4 2021-04-23 0.946593 0.905981 0.992324 0.531046
5 2021-04-24 0.832031 0.243670 0.724049 0.722549
# 파일삭제
os.remove(os.path.join( "aaa.csv"))

실습

  • https://github.com/e9t/nsmc/raw/master/ratings.txt 파일을 wget으로 다운로드 받고 이 pandas로 읽어 들인 후 10줄만 csv 파일로 저장하세요.
!wget https://github.com/e9t/nsmc/raw/master/ratings.txt
--2021-09-08 11:18:04--  https://github.com/e9t/nsmc/raw/master/ratings.txt
Resolving github.com (github.com)... 140.82.112.3
Connecting to github.com (github.com)|140.82.112.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/e9t/nsmc/master/ratings.txt [following]
--2021-09-08 11:18:04--  https://raw.githubusercontent.com/e9t/nsmc/master/ratings.txt
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19515078 (19M) [text/plain]
Saving to: ‘ratings.txt’

ratings.txt         100%[===================>]  18.61M  71.9MB/s    in 0.3s    

2021-09-08 11:18:05 (71.9 MB/s) - ‘ratings.txt’ saved [19515078/19515078]
df3 = pd.read_csv(os.path.join("ratings.txt"),sep='\t')
df4=df3.sample(10)
df4
id document label
120706 8526967 1편 보다 못한내용과 설정.. 1편은 그래도 볼만했는데.. 2편은 완전 막장 0
98350 8214589 초반부를 제일 재밌게 봤음ㅋㅋ 그리고 짐캐리는 웃을때 참 멋있다 1
2819 8141775 정말 화려한 캐스팅이네요 가족적인 영화 1
150175 6158913 가끔 재방송으로 살짝보곤했는데 유치하고 오글거려서 본방으로는 볼생각도안햇엇음..; 0
325 6804410 나두 벤자민...^^^^^^* 1
148894 54604 이영화 ocn에서 봤었는데 탈옥수로 나오는분이 브루스윌리스인줄알았다는.. 0
68446 9597334 마지막에 조금 반전이었는데 레고로 여러가질 표현했다는 게 참신하고 흥미로웠음. 꿀잼 ㅋㅋ 1
135708 6107624 이영화의 의미는 없다..3점을 준점은 등장인물의 샷이다..기타도 다케시 모방? 0
35612 1088537 뻔한내용이지만...재밌었지... 1
57433 8765660 좋은 영화 그런데 외국 영화에서 비슷한 스토리 영화를 본듯하다 거기서는 치즈마왕인가... 1
df4.to_csv('ttt.csv')

numpy

  • https://numpy.org/
# 배열
a = [1, 2, 3, 4, 5]
a
[1, 2, 3, 4, 5]
# numpy 배열
#행렬, 벡터처럼 바뀐것이라고 생각할 수 있음
np.array(a)
array([1, 2, 3, 4, 5])
# random int 배열
A = np.random.randint(0, 10, (5, 4))
A
array([[6, 7, 0, 0],
       [4, 4, 4, 5],
       [7, 1, 6, 8],
       [8, 9, 3, 1],
       [4, 9, 1, 1]])
# random 배열 (0, 1)
B = np.random.rand(5, 4)
B
array([[0.95281486, 0.47448567, 0.00369466, 0.56839852],
       [0.79966753, 0.10734653, 0.62171504, 0.6309166 ],
       [0.06501956, 0.58182022, 0.44176022, 0.12470434],
       [0.68109172, 0.34264916, 0.08955468, 0.49511466],
       [0.65686563, 0.96157682, 0.06259694, 0.75605311]])
# random 배열 (평균 0, 표준편차 1의 정규분포에서 셈플링)
C = np.random.randn(5, 4)
C
array([[ 0.58749251, -0.61624335,  1.00075474, -1.37255048],
       [ 1.00448757,  0.5735706 ,  1.39468611,  0.9924606 ],
       [ 0.60691885,  0.47791993,  0.18105431,  0.48577979],
       [ 0.05757086, -0.19720776,  1.70305569,  0.00639936],
       [-0.71328869,  1.00628386, -0.77954352, -0.69061046]])
A
array([[6, 7, 0, 0],
       [4, 4, 4, 5],
       [7, 1, 6, 8],
       [8, 9, 3, 1],
       [4, 9, 1, 1]])
# row index of array
A[1]
array([4, 4, 4, 5])
# row, col index of array
A[1, 1],A[1][1]
(4, 4)
# col index of array
A[:, 1]
array([7, 4, 1, 9, 9])
# row sub array
A[:2]
array([[6, 7, 0, 0],
       [4, 4, 4, 5]])
# col sub array
A[:, :2]
array([[6, 7],
       [4, 4],
       [7, 1],
       [8, 9],
       [4, 9]])

실습

  • numpy를 이용해서 (5, 5) int 배열을 만들어 보세요.
  • numpy를 이용해서 (5, 5) 0~1 사이의 실수 배열을 만들어 보세요.
  • 임이의 숫자로 된 (2, 4) 배열을 만든 후 numpy로 변환해 보세요.
#1
np.random.randint(0,10,(5,5))
array([[9, 9, 0, 7, 3],
       [3, 5, 3, 1, 1],
       [9, 9, 5, 1, 3],
       [7, 6, 3, 6, 9],
       [3, 0, 3, 6, 4]])
#2
np.random.rand(5,5)
array([[0.62743244, 0.0599998 , 0.53282002, 0.54218536, 0.96856115],
       [0.66318489, 0.69612817, 0.9489612 , 0.06248802, 0.04679633],
       [0.79557499, 0.53865427, 0.45789789, 0.33805403, 0.5769923 ],
       [0.23971759, 0.43598939, 0.9242918 , 0.806346  , 0.56058462],
       [0.53855004, 0.85857353, 0.86635446, 0.30711968, 0.95387408]])
#3
A=[]
for _ in range(2):
  A.append([random.random() for _ in range(4)])

A
[[0.23985233533250938,
  0.5640092058953995,
  0.2370719399816933,
  0.30933020901204433],
 [0.8123995990163919,
  0.8554432973413535,
  0.8786815388111006,
  0.3811388778256046]]
B= np.array(A)
B
array([[0.23985234, 0.56400921, 0.23707194, 0.30933021],
       [0.8123996 , 0.8554433 , 0.87868154, 0.38113888]])

tqdm, trange

  • https://pypi.org/project/tqdm/
# 테스트용
import time
# array progress
a = np.arange(0, 200)
p_bar = tqdm(a)
for v in p_bar:
    p_bar.set_description(f"value={v}")
    time.sleep(0.1)
  0%|          | 0/200 [00:00<?, ?it/s]
# array progress
a = np.arange(0, 20)
p_bar = tqdm(a, total=10)
for v in p_bar:
    p_bar.set_description(f"value={v}")
    time.sleep(1)
  0%|          | 0/10 [00:00<?, ?it/s]
# array progress
a = np.arange(0, 20)
p_bar = tqdm(a, total=100)
for v in p_bar:
    p_bar.set_description(f"value={v}")
    time.sleep(1)
  0%|          | 0/100 [00:00<?, ?it/s]
# trange progress
p_bar = trange(1, 30)
for v in p_bar:
    p_bar.set_description(f"value={v}")
    time.sleep(1)
  0%|          | 0/29 [00:00<?, ?it/s]

실습

  • trange를 이용해서 1 ~ 100까지의 숫자를 출력해 보세요.
  • data_dir/kowiki 폴더의 kowiki.txt.zip 파일의 띄어쓰기 기준 단어수를 모두 출력하세요. 그리고 이 과정을 tqdm을 이용해 모니터링 하세요.
for i in trange(1,100+1):
  print(i)

Updated: