로스 RHEINGANS-YOO : 안녕하세요, 저는 로스입니다. 그리고 이것은 CS50 세미나입니다. 이 프로그램에서 당신을 데려 갈 것이다 파이썬 프로그래밍 C에서. 파이썬은 스크립트 언어입니다. 그것은 C처럼 대부분의 구문, 일부하지만 의 기술적 세부 사항 그 구문이 실행되는 방식 약간 다릅니다. 그것은 몇 가지 방법으로 C보다 강력하다. 그것은 덜 표현입니다 정확히 어디에 컴퓨터에 메모리는, 배치됩니다 이 배치되는 방식, 이 자유를 얻을 때 사물의 그 종류. 그것은 어떤면에서 C보다 더 유용 이 글은 프로그램하기 쉽게하기 때문이다. 언어는 일부입니다 사람들이,보다 직관적. 정말, 목표입니다 프로그램 더 빨리 할 수 잠재적으로 느린 실행합니다. 지금 당신이 생각하는 경우 시간 당신은 당신의 마지막에 소요 문제 설정 쓰기 에 대한 코드 당신이 보내는 시간의 양 마지막 문제에 당신의 코드를 실행 설정, 당신은 언어 상상 것 이는, 쓰기 배 빠른했다 두 번 느린가 있습니다 실행하기 어떤면에서 C에 비해 개선합니다. 물론 때 쓰기 위해 노력하고 작은 프로그램은 작은 일을, 파이썬은 선택의 유용한 언어입니다. 이 끝에 세미나, 난 당신 바랍니다 을 만들 수 미래의 프로젝트에 선택 이는 대한 언어입니다 사용이 정확하지 생각 하나 이상의 언어임을 모든 시간을 수정한다. 세미나가 무엇인지에 대한 몇 가지. 이 세미나는 것은 아니다 처음부터 당신 파이썬을 가르친다. 파이썬은 매우 유사하다 C에, 나는 믿고있어 당신이 CS50 학생 이니까, 또는 누군가 C.와 비슷한 친숙와 당신은 CS50 학생 인 경우 문제는 약 6, 설정된 그래서 당신은 많이 참조했습니다 C에서 가지, 내가 당신에게 줄 것이다 주요 차이점, 그리고 몇 가지 그 파이썬이 다른 확인 특별하고 유용한, 하지만 난 갈 않을거야 어떤 프로그래밍 언어입니다 및 프로그램을 작성하는 방법에 대해 설명합니다. 그러나,이 세미나는 가르 칠 것 당신은 파이썬 프로그램을 작성하는 당신은 그 몇 가지 그룹 중 하나 인 경우에. 다시 우리는 방법에 대해 알아 보겠습니다 당신은 psets-- 구현하는 것이 그에 1-6해야 Python-- 및 제공 포인터 공식 문서로 나중에 참조. 중요한 다른 것은 이 이야기가 지정하는 방법에 대한, 이 비디오가 될 것입니다 온라인, CS50의 의례, 그래서 당신은 기분이 안 당신은 메모를 할 필요가있다. 당신은 항상 돌아가서 볼 수 있습니다 그 이후에 참조로. 또한 슬라이드 지금 사용할 수 있습니다 이 사이트에서는, 이는해야 당신이 구글 문서를 할 걸릴. 그것은 약간 요약 된 버전입니다 내가 화면에 표시하고있어의. 한주의주의 전 우리가 점프, 파이썬 3 파이썬 2에서 다른 언어입니다. 그들은 많은에게 동일한 모양; 있다 아주 약간의 기술적 인 차이 그 프로그램의 원인이됩니다 파이썬 2로 작성 하지 실행될 수있을 파이썬 3 환경에서. CS50 어플라이언스와 함께 제공 파이썬은 기본적으로 파이썬이 사용합니다. 당신은이 작업을 확인할 수 있습니다 명령 줄에서 입력 파이썬 --version, 출력해야 현재 기기에 2.7.6. 수행하려고 파이썬 3, 기기에서 작동, 경우 2.X.Y에 파이썬 기본값 중 하나에 기기 또는 자신의 컴퓨터에. 당신은 파이썬 3 언제 교체해야 그이 이야기에서 파이썬 물품. 컴퓨터 인 경우 기본적으로 2를 실행, 유형 순서 파이썬 3 실제로 할 수 있도록 함께 따라와이 일을 실행합니다. 또한, 나는 당신을 지적 할 것이다 지금 공식 자료에서. 주의 docs.python.org/3-- 즉 3이 아닌 있다고 2-- 유용한 참조가. 튜토리얼을 통해 소요됩니다 같은 일의 많은 것을 나는 텍스트 형식을 제외하고, 지금하고 있어요. 참조로 유용 언어에 대한 참조, 및 표준 라이브러리 제공 확장하면 일부 추가 기능과 함께. 그래서 첫 번째 파이썬 프로그램. 우리는 표준 C가 왼쪽에, 오른쪽에, 우리는 파이썬이있다. 당신은 인식하고 있습니다 이 문제는, 그것의 첫 번째 문제 중 하나 CS50에 세트,이 동일 용액을 사용하여 해결한다. 이제, 우리는 이유를 걸 옆에 이러한 측면에서 찾고 그래서 우리는 볼 수있다 구문의 차이. 방에있는 코끼리의 하나 당신은 바로 눈치 챘을 수도 박쥐, 파이썬이 더이 없다는 것이다 코드 주위에 주요 기능 포장. C에서 그래서, 당신은 한 무리의 쓰기 파일에는, 이들을 링크 및 프로그램 실행을 시작 이 일에 INT 메인을했다. 파이썬에서, 당신은 쓰기 당신을 파일 파일을 실행, 프로그램 실행을 시작 파일의 맨 위에. 그래서 시작하는거야 파일의 맨 그것은 다른 뭔가를 찾을 때까지 아래로 이동합니다. 이 함수 정의를 발견하면, 실제로 그 코드를 실행하지 않습니다, 단순히 함수를 정의한다. 그러나 여기, 때 첫 번째 프로그램은, N은 10과 동일하다 이 프로그램은 그 첫 번째 것은 할 것입니다 것은 10의 값을 가지고있다 및 n이라는 변수로 설정합니다. 해당 행의 중 하나를 말하기 이 sorry-- things-- 다른 의미 C 프로그램이, 당신이 그들을 쓸 것이다, 당신은 어떤 것, 그들을 만들 수 있습니다 일부 연타 명령을 호출, 다음은 실행합니다 실행 결과. 파이썬 프로그램, 당신은 실행 이 mario.py file-- 텍스트는 수도 난 그냥 보여 주었다이 파일을 수 얘들 아 당신은 그 파일을 실행합니다 당신은, 실행합니다 그것의 내용물 하여 실행될 파이썬 인터프리터. 당신은 당신의 IDE에서이 작업을 수행 할 수 있습니다. 내가 안녕하세요 파일을 가지고 있다면, 이는 단순히이 내용을 가지고있다. 이것은 실제로 파이썬입니다 2,하지 파이썬 3, 그렇게하지 지금은 구문에 대해 우려하고있다. 하지만 난에, 파이썬을 실행합니다 hello.py, 그리고 그것을 실행합니다. 내가 그 파이썬을 사용할 수있는 또 다른 방법 나는이 이야기에 너무 많은 처리되지 않습니다 난 그냥 파이썬을 입력 한 경우이며, 환경 곳으로 나를 떨어 나는 선으로 파이썬 라인을 공급할 수 있습니다. 그래서 여기, 내가 입력하는 경우 인쇄 공간 '안녕하세요, 세계. 입력 입력합니다. 이 결과를 백업하는 것이 나에게 침을합니다 바로 개별 라인. 이 유용 할 수있다. 이 이야기에서 나는 슬라이드에 일을 할 것입니다. 그래서 당신은 따라 할 수 있습니다 따라서 하나 여기에, 또는 서면에 의한 실제 파일과 다음을 실행. 그러나, 이것에 다시 가고 코드, 또 다른 것은 당신은 할 수 있음 잘 noticed--, 거기에 두 가지가 수도 이러한 블록에 대해 알 수 있습니다. 오히려 평범한, 먼저, 인 것을 파이썬은 뒤에 세미콜론이 없습니다. 세미콜론 사방 선택 사항입니다 무해한 모든 곳. 당신은 추가 할 수 있습니다. 그것은 쓰기 사람을 만들 수도 있습니다 당신의 생활의 울부 짖음을위한 파이썬 허리 뒤에 때문에 그들은 필요가 없습니다입니다. 그들은 종종 이상 개최되는의 표시 야 C. 언어에서 디자이너 그것은이 방법이 더 분명하다고 생각합니다 그것은 필요는 없습니다 선언합니다 때마다 당신은 라인을 종료. 이 N에 대한 또 다른 이상한 것은 가 부착 된 형태가없는 것입니다. Python--의 마법 조각 중 하나 나는 마법을 호출하는거야 하지만 매우있다 기술적 인 이유 이유를 중 하나를 works-- 파이썬의 마법 조각 변수를 확장하거나 할 수 있다는 것입니다 어떤 데이터를 포함하는 수축 유형은 그들에게에게 원하는 것입니다. 그래서이 10입니다. 나중에 아래 경우에 나는이에 할당 N 0.5, 그것은 0.5 있음을 걸릴 것이다. 그것은 여기 INT가 있다고 아무리 및 거기에이 N을 사용하는 것을 떠 , 더 많거나 적은, 건배 할 수있을 것입니다 그것은 그 중 하나를 얻는 경우에 따라. 매우 실제 존재하지 않는 이 데이터를 사용할 수없는 이유 이유 즉 현재이 n을 입력, 어느 시점에서 그것을 얻을 것이다 쐐기 및 오류가 발생, 사물의 그 종류. 그러나 여기, 파이썬 정말 무엇을 상관하지 않는다 내가이 막대기거야 것입니다 문장처럼, 당신은이 일을하려면? 점에서이 일이? 그래, 일 가지입니다. 나는 결국 그것을 충실합니다. 이 경우, 나중에 문제가 될 수 있습니다 그 끝을 사용하려는 사람 를 처리 할 수​​ 없습니다. 이는 주요 중 하나입니다 파이썬과 C 사이의 차이 그에게 그것을 쉽게 매우 큰 C 프로그램을 작성 보다 쉽게​​ 작성할 수 있습니다 아주 작은 파이썬 프로그램. 구문은 매우 아니다 그것은 무엇을 다른. 그것은 약간 다르다 방법에 그것을 표현입니다. 그래서 이것은 소위, 아주이다 파이썬, 그것을 쓰는 방법. 범위 (N)에서의 행에 대해, 이것은 인 0에서 N의 숫자의 범위, 바닥에 포함 그리고 상단에 독점. 그래서 0에서 N-1입니다에의 정확히 C 코드는 무엇을하고 있는지, 그것은 훨씬 쉽게 제외 아마도 볼 수 있습니다. 해당 블록은 중괄호 출발하지, 대신 오프 설정되어 이 들여 쓰기로. 그래서 이러한 모든 라인은 오른쪽 위에 4 개의 공간, 또는 코끼리 폭 약 등을들 수있다. 그리고 그는 사람입니다 갈은이 실행된다. 만약 내가 엉망 이 난에 들여 쓰기 다시 그 인쇄를 밀어 원래 들여 쓰기, 그 인쇄 루프를 떠날 것이다. C는 대조적으로, 그 다음에 실제로 주위에 그 닫힌 걸림쇠를 이동해야합니다. 이것은 당신이 오류를 얻을 수 없다는 것을 의미 당신을 뛰어 당신 때문에 잘못된 위치에 괄호를 넣어. 그것은 당신이 오류를 얻을 것을 의미 하는가 당신을 뛰어 당신 때문에 줄 잘못 들여. 그래서 톱니 슈퍼주의한다. 희망 당신은 슈퍼되고 있었다 어쨌든 들여 쓰기에주의, 등이 그 아니다 부담이 훨씬 더. 하지만 파이썬의 기본 규칙, 우리는 다음의 몇 가지를해야합니다 우리는을 통해 갈거야 이야기의 과정, 자연 구문을 시도한다 무엇을 찾고 전에. 따라서이 구문에 대한 범위에서이 번호, 스타일의 측면에서 매우 특징이다. 파이썬에서 일을 많이 우리는이 양식을 복용 볼 수 있습니다. 그리고, 그래서 만약 당신이 올 새로운 객체 그와 당신 당신이 할 수 있어야한다고 생각합니다 이 형식이 반복, 아마 밝혀 그 형식을 지원합니다. 우리는 슈퍼 깊은 이동하지 않을거야 그게 사실 이유는 기술적 인 이유. 그러나이하는 유용한 직관이다 파이썬 프로그램에 접근 할 때, 이 물건은 그냥 작동 위하여려고하고있다. 시도 해봐. 명령 줄로 부팅 그것이 작동하는 경우 통역은, 참조 전에, 것들로 이동 심지어 구글을 열고 말할 필요, 구문 무엇 이 특별한 일이? 파이썬의 많은 당신이 할 수 다만 노력에 의해 발견 할 수 있습니다. 이 경우 더욱 비슷 C로 다음 FORS입니다. 괄호가 없습니다 있습니다. 괄호는, 다시,이다 무해하지만 불필요한. 끝에 결장가 다만, 루프 등 그리고 또, 상대적인 블록은 들여 쓰기보다는 괄호로 출발했다. 이 다른 원본에있다 들여 쓰기 수준, 과 관련된 블록은 다시 들여. 이러한 작업들은 C에서 똑같이 이것은 실제로 매우 동일하다. 다시 말하지만, 인쇄 한 문자를 잃고 printf와 떨어져 당신은 어떤 문자열을 전달합니다. 그것은 문자열을 밝혀 하나 오프 표시 할 수 있습니다 작은 따옴표 또는 큰 따옴표로. 차이가 없습니다, 그 내부를 제외하고 작은 따옴표 당신은 사용할 수 있습니다 포기와 큰 따옴표, 오히려 필요없이 그들 모두를 탈출. 그리고 따옴표 안에, 당신 포기와 작은 따옴표를 사용할 수 있습니다 그들을 탈출하지 않고. 당신은 혼합하고 싶었다면 그들, 당신은 확실히 할 수 그 작업을 수행하는 방법을 온라인으로 조회합니다. 당신은 그 이상 여기에 알 수 있습니다 나는 = 결국이 일을 통과했습니다. 이 옵션의 예이다 그 것들 중 하나입니다 인수, 파이썬은 것을 지원 그것은 아주 유용합니다. 그래서 인쇄 실제로 많이 가지고 보통 인수, 기본으로 설정 값, 그러나 여기에서 나는했습니다 끝이라는 하나를 무시하기로 결정했다. 내가해야하는 이유 빈 문자열을 오버라이드 (override) 파이썬에서 그 인쇄함으로써, 기본값은 새로운 라인을 출력한다 일 그 후 당신은 너무 그것을 말했다. 그래서이 해시 사실을 것입니다 새로운 라인에서 해시를 인쇄 할 수 있습니다. 내가 원하지 않는 경우 그리고 해시 인쇄하기 그 후 새로운 라인, 그럼 내가 말을해야 하나를 인쇄되지 않습니다. 하지만, 아직 그렇게, 마지막 것은 그 이 프로그램은 하나가 있는지없는 이 상단에 있습니다. 인쇄 그래서 기본적으로 파이썬으로 구워진다 어떤 헤더 또는 모듈이 없다는 것을 당신은 할 필요가 원한다면하지만, 포함 다른 일을 포함합니다 파이썬 스크립트, 나는 매우 비슷한 format--에서 할 것 말은 약간 다릅니다. 나는 우리를 언급 여기에 메인이 필요하지 않습니다, 파이썬 시작하기 때문에 상단에서 실행. 나는 포장하고 싶었다면 기능이, 나는 이 항아리 나처럼 할 것 DEF 함수 이름을 말할 것입니다, 인수는 여기에 갈 수도 우리는거야 그 후, 대장의 일부를 볼 다시,이 전체 출발 블록 작동 무엇인가 그 기능에 대한 차단합니다. 그래서이 정의는 함수의. 그리고 아래로, 선언있다 여기에, 난 그냥 함수를 호출 할 수 있습니다. 그리고 또, 프로그램 인터프리터, 상단에서 시작하여, 이 정의입니다 볼 수 있습니다. 그것은 때까지이 실행되지 않습니다 여기에 도착, 다음은 오처럼, 지금 당신은 내가 그것을라는했습니다 나는 그것을 실행해야 같아요. 매우 흔한 일 파이썬 파일을 참조하고, 특히 파이썬 파일이 대중에게 공개된다 및 by-- 개발 및 개발 유지,이 형태의 무언가이다. 이 때문에 있도록 basically--됩니다 파이썬, 당신은 정상에 시작 그리고 당신은, 하단으로 실행 난 그냥이 있다면 나는 마리오, 여기라고 다음 언제든지 난에서이 파일을 포함 다른 파일, 내가 사용하고 싶었 기 때문에 마리오 기능은 다른 파일 것입니다 또한 마리오이 전화를 가지고있다. 그리고 그 파일을 실행했을 때, 그것은 마리오를 부를 것이다. 그래서 가능성이 내가 단지 나는 실제로했습니다 경우이 작업을 실행하려면 이 특정 파일을 실행. 그래서 나는이 포장 할 수 있습니다 내가 말할 곳이, 같은 관용구, 만약이 실행의 이름 환경은 기본이다 나는이 일을하고 싶습니다. 그렇지 않으면 누군가가 다른 수 use-- 내 function-- 포함 내 파일, 바로 얻을 수 이러한 기능에 대한 액세스 일을 실행하지 않고 나는이 파일에 실행하려는. 이것은 다시, 선택 사항입니다 하지만 매우 일반적인. 이런 일들은 entirely-- 있습니다 있습니다 C와 파이썬 사이의 정확히 같은, 확실히 3. 나는 2, 나누기 연산자 생각 때때로 당신을 줄 때 수레 당신은 정수에 운영하고, 중 당신은을 원하거나하지 않았다. 그러나 플러스, 마이너스, 및 시간 당신이 기대하는 것처럼 정확하게 작동, 조금 더 형식을 통해 예외입니다. 그래서 당신은에 의해 수레를 곱할 수 정수, 사물의 그 종류. 세트는 정확히 동일하게 작동합니다. 두 등호를 사용할 수 있습니다. inequals-- 이상, 이하 things-- 이러한 종류의보다 그 의미를 갖는다 당신은 그들에 익숙. C는 이러한 연산자를 사용하는 경우, 파이썬은 약간 더 영어​​를 사용합니다 읽을 것. 그래서 대신에 두, 앰퍼샌드, 당신 문자 그대로 "단어를 입력"및 ","또는 또는 "없습니다." 에서 혹시 ...처럼 당신의 조건문, 우리는 이전에 보았던 그 C에서이 구문 파이썬에서이 구문에 해당합니다. 그리고 많은 차이가있다 거기에, 조금 제외 측면 주위에 문장 부호. 다시 말하지만, 여기서 C는 다른 것 파이썬은 ELIF를 사용하는 경우, 그러나 이들은 대부분이다 표면 레벨 변경. 이 같은 반복은 종종 파이썬에서이 관용구에 작성합니다. 당신은 이런 종류의 제조 수 외부에 while 루프와 일 당신은 싶었지만 경우 확실히 할 필요가 없습니다. 그리고 또, 경우에 당신이 원하는 배열의 요소를 출력 당신은이 방법을 수행 할 수 있습니다. 재미있는 것 중 하나 하지만 파이썬에 대한, 당신이 필요가 없다는 것입니다 이 패러다임을 사용하는, 당신은을 사용할 수 있습니다 약간 더 우아한 하나. 당신은 진에 대한 말한다. 오히려 여기에가는 것보다 과 지표를 통해 실행, 다음 잡아 당겨 개별 요소, 당신은 실제로 단지에 대한 말씀 요소 자체를 통해 실행합니다. 그리고 당신은 어떻게하든 내부 직접 조작 할 수 있습니다 꽤 재미 요소에. 그리고 우리는 우리가 사용하는 것 see--합니다 또 다시 그 관용구 우리는 코드를 걸어. 이것은, 다시, 예입니다 무언가의 나는거야 있기는하지만, 파이썬 마법을 호출 매우 기술적 인 이유로 작동하는 이유. 그리고 기술적 인 일이있다 그 순서대로 배열에 대한 사실 필요 이를 위해 무대 뒤에서 작동합니다. 문제는 대부분의 유형입니다 당신은이 작업을 기대하는 이 구현 있었다 내장 된 언어로 당신. 그것이 좋은 것이 또 다른 것은 이 모든 언어에서 근무하는 경우, 하지만 몇 가지 이유 왜 할 수없는이있다 이 문자열 시간이 번호를 인쇄 할 수 있습니다. 이 정확히 수행 파이썬에서 밝혀 당신은 그냥 재미있는, 무엇을하고 싶습니다 그리고 우리가 실제로 할 수 있음을 의미 다시 mario.c,이 프로그램을 줄일 수 있습니다. 오히려 많이 반복하는 것보다 우리는 할 수 다만, 나는 공간의 어떤 수를 원하는 말 나는 해시의 수를 원하는, 그리고 마지막에 약간의 해시. 그리고 다시, 우리는이 형식을 사용합니다. 여기, 우리가 전달하고 변수 이런 식으로. 다시 말하지만, 우리는 말을 할 필요가 없습니다 그것이 변수의 유형, 유일한 시간 우리는거야 에러가 발생하면 실행시에 있습니다. 때 누군가가 시도 뭔가를 통과, 그것은 잘 기능에 올 것이다. 이 없기 때문에 우리는 여기에 쐐기 경우 당신이 범위를 통해 만들 수 있습니다 것, 나는 거기에 런타임 오류가 발생합니다 나는 그런 식으로 디버깅해야합니다. 그러나 그 사이에, 나는이 없습니다 에 대해 매우 조심 무엇을 실제와 같이 너무 오래, 전달됩니다 실행 모두 매우 깨끗하게 사용할 수 있습니다. 난이 만들 수 조금 청소기 특히 내장 함수를 사용하여 문자열을, 오른쪽 어떤을 정당화한다. 이것은 단지 유용한 기능입니다 라이브러리 주위에 거짓말을. 이 문서에의 당신은 가서 그것을 보면. 그리고 나는 잘 내가 가진거야, 말 이 문자열, 해시의 일부 번호, 내가 바로 그건 ... 패드를 정당화하고 싶습니다 공간과 그것을 밖으로이 길이합니다. 다시, 이것은 인 us-- 제공 문서, 사실 these--을 통해 클릭합니다 이는 우리의 두 번째 규칙을 우리에게 가져다 Python-- 표준 라이브러리 함수 방법은 당신의 친구입니다. 그리고 그것은 종종 동안 가치 궁금 찾고 이동 경우 바로이 작업을 수행 일이있다. 아마이 있습니다. 당신은 패드에 원하는 경우 캐릭터 라인 아웃, 당신이하려는 경우 다시 봤으면 문자열의 절반, 당신이하려는 경우 경우, 문자열을 검색하려면 당신은 몇 가지를 분쇄하고 싶습니다 함께 문자열 그들 사이의 쉼표, 표준 라이브러리가있다 이 작업을 수행하는 기능을한다. 그리고 그것은 당신의 인생을 만든다 당신이 그들을 사용하는 경우 쉽게 대신 압연의 자신의 모든 것을 여기에 코드의 다섯 줄에서, 여기에 코드의 다섯 줄. 그건 정말 시작 실시간까지 추가 할 수 있습니다. 흥미로운 것 중 하나 방법에 대해이 불려갑니다. 당신은 점 일이 있다는 것을 알 수 있습니다. 나는 왼쪽에 일부 개체가, 그리고, 나는 함수 점이라고합니다. 이 패러다임의 하나 인 파이썬 객체에 메소드를 부착 사용합니다. 우리는 무엇을 이것에 대해 얘기하자 , 끝에 아주 간단하다 그러나 우리는 모두가 작동 할 수 있음을 알고있다 그거 말하는 점을 고려하여 일 무엇이든, 또는 호출하여 받는 함수 그 객체와 다른 인수. 그래서이 두 가지 방법은 그 일이 파이썬에서 끝낼. 특정 여부 기능 구현 이 스타일 또는이에 스타일은 뭔가 당신을 당신이 중단 때까지 조회한다 어느 것이에 해당 할 가능성이 높습니다. 다소 응집력있다 파이썬 뒤에 철학 당신은 대부분 흡수 할 것으로 그것에서 많이 쓰는하여. 어떤 시점, 이들 중 하나에서 뭔가로서 구현 될 자연이된다. 지금은 그냥 뭔가 당신이 알아 당신은 배울 각 개별 것. 그래서 표준 라이브러리 기능은 당신의 친구, 그들은 당신이 일을 작성할 수 그 정말 곧이 많은 공간을 차지, 정말 우아하게. 그리고 이것은 아마 실제로 읽기 쉬운, 나는 C 프로그램보다,라고 말하고 싶지만 저기. 그래서있는 사실을 언급하지 않기 짧은 당신은 전체 코끼리를 넣을 수 그 공간에서 우리가 저장 한. 또 다른 것은,이 구현 마리오의 내가 생각하는 점 C를,의 그 당신이 그것을 얻을 수있는 가장 짧은입니다. 그것은 가져 오기 지능,하지만하지 않습니다 그것은 하드 코드 (10)의 값 이 하나가 수행하는 것과 동일한 방식. 알고 보니 그 순간이 하나의 시계 84 자, 파이썬 반면 64. 그리고 이것은 무한히 더 여기에이 쓰레기보다 읽을. 그래서 파이썬은 공간에서 더 효율적입니다. 그것은 약간 덜 효율적 시간 아니지만 많은 의한. 리스트는 파이썬에서 중요한 것은입니다. 우리는 그들을 볼 수 있지만하지 않은 배열은 C로 할 작동 훨씬처럼 그래서 여기, 당신은 그들을 선언 할 수 있습니다, 당신은 일에 전달할 수 있습니다. 이제 사각형 보유 이러한 것들의 배열입니다. 다시 말하지만, 우리는 다음과 같이 선언하지 않은 유형,하지만 우리가 이제까지 그것을 사용하려고하면, 당신이 기대하는 것도 정수의 배열 작업 작업 할 것입니다 정수의 배열. 이 일이되는 당신은 절대로 할 수 없습니다 , 때문에이 C에서 할 메모리는,에 이렇게 손입니다 하지만 파이썬에서 할 매우 쉽습니다. 내 배열이 크게하려면, 내가 할 수있는 그것에 요소를 추가하고 괜찮아요. 뒤에서는 무슨 일이 벌어지는가? 인터프리터는 갈 것이다 아웃 및 일부 메모리를 얻을 어쩌면 그것은를 얻을 수 있습니다 추가 메모리의 조금, 그래서 나는 그래서이없는하지 않습니다 마다 realloc 함수합니다. 그러나 얼마나 더이 그것은 메모리를 필요로 하는가? 이 결정되지 않습니다 당신이 만드는해야한다는, 이러한 의사 결정이다 통역 할 것입니다. 여기에서 우리는 범위가 할 수있는 참조 두 개의 인수를 하지만 여전히 포함 될 것 상단의 그래서 우리는 거기에 1을 추가합니다. 이 훨씬 더 관용적 표현이다 이 같은 일을 작성하는 영리한 방법. 그것은, 지능형리스트라고 여기에서 우리는 무엇을 말을하는지 내가 넣어 싶습니다되고 난 제곱 이 범위에서 나는 모든 값. 오른쪽에이 점은 다른 수 배열, 왼쪽에이 일을 특정 기능을 할 수 그 변수로 난에 걸릴 것 어떤 결과를 저를 제공합니다. 내가 할거야 것은,이다 내가 만들거야 이 모든 것들을의 배열 이 범위의 각 값에 대해. 그리고 이것은, 슈퍼 짧은, 슈퍼 우아한 그리고 그것이 무엇을 의미하는지 아주 분명하다. 이 중 하나이다 이 다시입니다 things-- 하나의 동행입니다 매우 상징적 인 이유 파이썬 같은 사람이. 당신은 프로그래밍을 좋아하는 경우에 이 같은, 다음 파이썬 당신이 배우고 싶은 수있는 언어입니다. 그리고 다시, 기술이있다 이 작품 이유. 그러나 지금까지 우리는 염려로 우리는 다소 걱정하지 않는다. 당신이 목록을 인쇄 할 경우에 따라서, 같은 관용구 중 일부는 유용하다. 이 범위의 난을 위해, 우리는 있었던 모든 일을 통해 인덱스 다음 그들 모두를 인쇄 할 수 있습니다. 그리고 당신은 여기 렌 볼 수 있습니다. 당신은 이제까지 얻고 싶었다 한 경우 어레이의 길이가 그건 파이썬에서 아주 쉽게, 그것은 C로 매우 어렵다 이것이 바로 인쇄 할 것이다 당신은 무엇에 기대. 우리가 전에 보았 듯이 우리는 또한 수 배열의 요소를 반복 직접, 다음 단지에 대해 이야기 그들 오히려 지수를 갖는보다 다시 배열마다에. 그리고 이것은 당신이 할 수있는 일이다. 그래서 C에서, 당신은 뭔가를 요구하는 경우 이와 같이, 인쇄, 말할 것 그 정수의 배열입니다. 그건 확실히 아니다 문자열, 나는 그것을 인쇄 할 수 없습니다. 파이썬은 어느 정도 상관하지 않는다. 이 방법이처럼, 그 나는 문자열이의 돌 수 있었다? 그래, 난 그렇게 할 것입니다. 그래서 난 그냥를 인쇄합니다. 이것은 당신이 할 수있는 것을 의미한다 이러한 그때 엔 일을 하드 부품의 대부분을하다 열 다섯의 게임의 서면 파이썬에서 아주 간단하게. 당신은이 있다고 볼 수 있습니다 여기에 동행입니다 조금 나는 문자열로 정수를 캐스팅했습니다, 내가 수동으로 작업을 수행해야합니다. 그리고 추가거야 다른 문자열로, 또는 그렇지 않으면 파이썬은 혼동됩니다. 그러나 당신이있을 때 여부 문자열을 정수로 추가 내가 얻을 생각입니다 다시 정수 또는 다시 문자열? 그러나 다시, 당신의 경우 단지 일에 STR를 호출, 그것은 가능한 널 수도 세계는 문자열로 변환, 아마 될 것입니다 문자열로 변환됩니다. 여기서는 사용 참조 중첩 된 목록 이해 왼쪽, 일부 인덱스에있는 당신이 그것을 사용하려는 정확히입니다, 일부는 일에서 인쇄. 다시 말하지만, 우리가 정의한 일부 기능과 우리는 그들을 전화 할게 주 우리는 실제로 파일을 얻을 때. 당신이 좋겠 반환 정확히 작동 C. 찾기 작업에서 기대, 우리는 같은 일을 설정할 수 있습니다 이 항아리 여기리스트 이해의 변수에 할당이있다, 우리는 실제로 훨씬 더 쉽게 그것을 할 수 있습니다. 우리는 검색을 작성할 필요가 없습니다, 내장 된 언어 때문에 이 일이 배열에있는 경우입니다. 또, true를 돌려줍니다 false를 돌려줍니다. 그래서 발견의 전체입니다. 일종의 전체 종류를 호출 포함, 이는 구현이있다 is-- 이 특정 C 라이브러리에 내장 된의. 당신이 원하는 경우 일종의 거꾸로, 당신을 이 옵션을 재정의 할 수 있습니다 진정한와 반대로 인수. 그리고 당신은 이상 정렬하려는 경우 문자열, 즉 내장 된 것뿐만 아니라. 그래서이는 말할 수 없습니다 매일해야 할 일, 하지만 생각이 있다는 것입니다 파이썬의 철학이며, 이 모든 것을하는 당신이 거라고 종류의 내장되어 싶어요. 그리고 대부분의 표준 기능, 그래서 종류, 길이, 무엇이든, 가장 논리적으로 분별 입력을 지원합니다. 당신은 배열과 동일한에게에 렌 호출 당신이 문자열에 렌 호출 방법. 당신은 당신이 문자열을 정렬 multiply-- 당신이 배열을 정렬 같은 방법으로. 대부분의 표준 기능 사람들 구축하는 것이, 대부분의 타사 라이브러리 그 사람들 그들이 모방하고 있기 때문에, 구축 표준 라이브러리의 설계 당신이있어 모두에 호출 할 수 있습니다 같은 이유는 작동하지 않습니다, C에서 더 많은 이하, 파이썬에서 작동합니다 사람들은 그림과 뒤에 작동하기 때문에 밖으로 일이며 다음 동작 무엇 적절하게합니다. 그래서 다시, 기술적 배경, 그러나 그것을 프로그래머로서 우리의 삶을 더 쉽게. 그래서 여기에 파일 I / O입니다. 나는 파일 / O가 많이있다 이 복잡​​하게 작은 것들, 그래서 자원이있다 온라인 있지만, 간단히 말해서, 당신은 파일에 공모 특정 형식의 이름을 지정합니다. 그 읽고, 그래서 읽고 쓰기 또는 추가, 쓰기. 사용자는 특정 수의 읽기 문자는 밖으로 당신은, 그 인쇄 당신은 안녕을 얻을 것이다! 이 파일 안녕하세요했다처럼 내 말은! 그것에서 읽을 전화, 당신은 다시 얻을 것이다 무엇 모든이있는 문자열입니다 어레이의 나머지, 또는 파일의 나머지 모든. 다시 읽어 호출 할 경우, 만약 파일의 끝 부분에있어 그래서 당신은하지 않습니다 아무것도 그래서 당신은 종료됩니다. 다시이 아닌 것이다 .close 가까운 파일, 그것은 C.에있을 것 같은 이 F를 때문 다소간 인 f는 폐쇄하는 것은, 당신은 싶습니다. 그러나 기본 파일 I / O는 아니다 특히 복잡한. 다시 말하지만, 당신이 파일을 열하려는 경우, 경우 당신은 특정 라인을 읽고 싶습니다, 당신은 특정의에서 얻을 수 있습니다 line-- 그것을위한 내장 기능이있다. 당신은 쓰기하려는 경우 것은, 당신이 쓸 수 있습니다. 개별을 작성하려는 경우 물린, 당신은 사람들을 쓸 수 있습니다. 그리고 당신은 반복하려는 경우 파일의 라인을 통해 개별적으로, 우리는에서 조각처럼 몇 주 전에, 당신은 해당 작업을 수행 할 수 있습니다. 또, 대부분의 개체는 당신은 좋겠 반복 할 수 좋아 그들에 지원 반복하는. 파이썬에서 파일은 것은 어쩌면입니다 나는 선으로 라인을 반복하고 싶습니다. 그것은 사전 인 경우 단어의 난이었다 그 개인을 얻으려고 노력 즉 아웃, 다음,이 루프 내, 라인이 될 것 턴이 각각의 단어 모든 라인에 대해 실행될 것입니다 파일의 마지막까지 파일. 그리고 다시, 나는 각을 인쇄하는 경우 라인, 라인, 새로운 라인을 함께 그래서 나는 말을하고 있어요 이 같은 일에 백업합니다. 그럼 난 내 파일의 내용을 얻을 것. 에서 작동 두 번째 것은 일부 목록과 같은 방법으로, 어떤 방법으로 뭔가 실질적으로 더 강력한, 정말입니다 사전, 사용하는 멋진하지만, 기본적으로 해시된다 변장의 테이블. 당신은 정확하게 사용하여 하나를 만들 끝내 두 개의 문자, 당신을 구현하려고한다면 문제 세트의 해시 테이블, 당신은 할 수 있습니다 많은 고통을 알고있다. 그러나 사람들은 짓 그것은, 그리고, 그래서 잘 수행 당신은 할 필요가 없습니다 더 이상 걱정. 그럼 당신은 개인의 물건을 삽입 할 수 있습니다. 해시 tables-- 또는 사전 하지 특히 당신이 그들에 저장하는지 관심. 그래서 일부 항목이 숫자 인 경우, 일부 항목 목록은, 일부 항목은 다른 사전이 있다면, 일부 항목은 문자열입니다 파이썬은 많은 치료를하지 않습니다. 다시 말하지만, 당신이 기대 그것으로 가면 문자열과 당신이 돌아 오기 배열은이 문제의입니다. 어쩌면 그것은 누구의 잘못 그것은 물건을 넣어 줄 알았는데 사전에, 어쩌면 당신을했다. 그 사람이라면 다른, 잘하면 그들이 있었다 잘 일에 대해 행동 사전에 가고 있었다 어떤 함정을 떠나지 않았어요 당신이로 분류 할. 그러나 표준 기능을 것입니다 잘 동작하는 일을 당신을 다시 제공합니다. 그래서 그들은이 반환 말 문자열의 사전을 백업, 당신이려고하고 다음 모든 나가야하는 문자열입니다. 이 중 일부를 수행하며 여행하는 경우 당신은 위로, 글쎄, 그건 당신에있을 수 있습니다. 파이썬은 확실히 충분히 제공 당신이 원하는 경우 로프는 자신을 끊습니다. 이제 우리는 개인을 인쇄 할 수 있습니다 이 요소와이 반환 정확히 무엇을 기대할. 정확히 예상했던 것과 같아요, 내가 많이 사용하고 구문이며, 하지만 그건 더 많거나 파이썬이 작동하는 방법 이하이다. 하지 않은 당신은 일을 요청하는 경우 그것은, 파이썬은 오류를 발생합니다 그것은 밖으로 종료합니다 어떤 프로그램이 당신에 있었다. 실제로 인쇄합니다 보다 자세한 내용은, 그것은거야 얘들 아하겠다 행을 추가, 등등. 그리고, 다시, 어쩌면 우리가 원하는 사전을 반복하는 그리고 모든 것을 찾을 수 있습니다. 여기에서 우리는 이상 반복된다 동시에 두 가지. 그래서 우리는 핵심 가치와 함께 할 것이다, 하지만 이들 모두를 인쇄 할 수 있습니다. 그리고 우리는 cast--하기를 원한다면 우리는 실제로이를 실행 한 경우 우리는 몇 가지 문제로 인해있을 것입니다 on-- 우리는 데이비드에 갔을 때, 우리가하지 않았다 경우는 add-- 없습니다 먼저 문자열로 캐스팅, 우리는 그 배열을 추가 할 수 없습니다 캐릭터 상 문자열. 그러나 우리는 그것을 캐스팅하는 경우 문자열, 우리는 뭔가를 얻을 이런 식으로, 이는 어쩌면이다 우리는 무엇을 읽고 싶습니다. 그리고 이것은 맞춤법 검사기입니다. 우리는 일에 읽어 보시기 바랍니다. 그래서 우리는에서 읽을 수 있습니다 선으로 개별 단어. 우리는 지난 오프 잘라 일 때문에 대장 마이너스 1 우우 마지막 일을 chomps 문자열의 마지막 문자. 우리는 말할 것이다. 확인, 그 각각은 도착 이 사전에 삽입, 1의 값으로 매핑. 우리는하지 특히 하나 신경, 하지만이 말을 그냥 거기에 잘 오, 이 일을 내가 사전에 넣을 수 있습니다. 우리가있어 나중에 무엇 때문에 할 일 우리가 것입니다 그것의 경우, 음, 말을하려고 사전에 전혀. 다시 말하지만,이 검사에 대한 회원 운영까지입니다 완전히 다른 사용을 알고리즘이 목록에있는 것보다, 그러나 우리는 같은 방식으로, 호출하는 그 파이썬 설탕 코팅의 일부입니다 물건은 그래서 그들은 쉽게 사용할 수있어. 그리고 다시, 우리는 보았다 전에이 같은 것들. 이것은 기본적으로 발견, 또는 정확히 동일한 구문있어 으로는 찾을 수 있지만, 이상 작동 완전히 다른 구조. 그리고 우리는 특별히 걱정하지 않는다. 그 그래서 일들은 당신 철자에 대한 구현했다. 이 속도로, 우리가받을거야 더 많거나 수행하여 pset을 모두 적은. 청중 : 그 그래서 기본적으로 그냥 돌아 오면 그렇지 않은 경우로 잘못 철자 사전에 뭔가를 일치? 로스 RHEINGANS-YOO : 그래, 그래. 그리고, 이것이 문제의 적응 설정 이는 정확히 할 것을 요청합니다. 청중 : 왜 거기에 1을 뺀 라인은? 로스 RHEINGANS-YOO : 그래서 때 반복하고 파일을 요청 위에 선으로, 라인 새 줄 문자와 함께 그건 ... 마이너스 1의 끝에 사람들을 쇼핑 단지입니다. 그리고 이것은 특히 유연 일에 인덱싱 방법. 당신이 문자열을 가지고 있다면, 당신은 잘 난, 싶습니다 문자 세에 시작 예정 나는 끝까지 갈거야. 3 대장은 당신을 위해 그렇게 할 것입니다. 당신이 좋아하는 경우에, 나는 시작하려면 시작과 마지막 마이너스 1로 이동 문자, 콜론 마이너스 1. 그리고 당신은 가고 싶어하는 경우 처음으로 마이너스로 세 번째, 당신은 3 마이너스 1을 말할 것입니다. 또한 인덱스를 원하는 경우 뒤쪽에서 계산 일에, 마이너스 숫자 그냥 지수. 그리고 여기서 C를, 때문에 폭발 또는 어쩌면 것 당신이하지 않은 다른 메모리 공급 당신이 말할 수있는, 소리에 대한 액세스 권한을 뺀 1 마지막으로 1을 의미한다 문자열의 문자. 모듈 version-- 있습니다 있습니다 C의 라이브러리 유사체 그리고 많은 것들에 유용하다. 많은 것들이 당신이 좋겠 파이썬에서 할 좋아 간단한 외에 변수의 조작, 당신은에 후크 할 큰과 큰 라이브러리 인터페이스와 더 상호 작용을위한 기능 세계의 다른 부분과. SYS는 그 중 하나입니다 도구의 무리와 함께 상호 작용하는 데 유용합니다 그 시스템 자체 및 수입 SYS처럼를 가져옵니다. 더 많은 문서가있다 , 당신이 갈 수있는, 그 또는 당신이 구글에서 찾을 수 파이썬에서 sys 인터넷 검색으로. 당신은 입력 입력합니다. 첫 번째 링크가 될 것입니다 파이썬 2의 문서, 두 번째 링크로 이동됩니다 문서 파이썬 3 일. 그리고 우리는보고 파일을 작성하는 경우 특히이 항아리의 경우처럼, 우리는있어 에 운영보고 명령 줄 인수, 같은 우리는 매우를 수행하는 것을 배웠다 초기에이 클래스. 이것은 어려운 일이 아니다. 당신은 변수는 argv를 얻을 수 있습니다, 하는 것들 중 하나입니다 어떤 SYS에 의해 구현됩니다. 그것은 내장 아니에요에 기본 패키지, 그러나 다시, 당신을 수입하여 확장 할 수 있습니다 SYS에서 해당 기능을 제공합니다. 당신은 SYS를 호출합니다. 도대체 무엇이. 여기에 변수는 argv있다. 아니 실제로있다 ARGC SYS에, 당신 때문에 LEN를 호출하여 그렇게 쉽게 얻을 수 있습니다. 우리는 그 다음, 그 인쇄 우리 우리의 터미널 echo-args.py에 달렸다. 우리는 배열을 다시 얻을 수있는 이 첫 번째 인수입니다. 다시, 이것은 인 argv를 0 라고있어 물건의 이름입니다. 우리는 추가로 호출하는 경우 인수는, 우리는 그들을 다시 얻을 것. 이것은 점점 방법 중 하나입니다 명령 줄 인수. 당신은 당신이 설정 플래그를 원하는 경우 또는 재정에 특정 일 특정 기본, 당신의 친구는 argparse입니다. 그리고 다시 당신은 온라인을 찾을 수 파이썬에서 구글 argparse. 유틸리티의 몇 가지가 있습니다 당신이 사용하는 자신을 발견 모듈 다시, 당신은 어떤 시간을 보내고 경우 의이 언어는 jsons 가져 오기 JSON에서의 독서에 대한 파일, 그 복잡하지. 당신은 파일을 열고, 당신은 json.load라고 해당 파일에 당신은 일을 다시 얻을. 그 점은 무엇입니까? 그것은 JSON 객체입니다. 그 JSON은 배열을 가지고있는 경우, 파이썬은 배열을 가지고있다. 어디 그 JSON이있다 연관 배열, 파이썬의 사전, 문자열, 등등과 숫자,. 당신은, 당신을 그 덤프 할 당신이 덤프를 호출, 새 파일을 열고, 로드 및 덤프 와 문자열에서 이동합니다. 마찬가지로, 피클 불려갑니다 기본적으로 동일한 인터페이스. 이 경우 약간 더 유용 당신은 파이썬 객체를 덤핑하고 있습니다. 그래서 만약 당신이 저장하고 싶어 한 경우 현재 상태의 버전 미래를위한 변수 프로그램의 실행, 피클은 파이썬입니다 그 작업을 수행하기위한 라이브러리. 당신은 어떤 종류가있는 경우 기입 할 수 있습니다 변수 같은 단어와 문자에 bytes--이 사전처럼, 우리는 아래로 쓸 수있는 우리 로 아래로 쓸 수있다 했다 JSON 개체, 같은 말 그대로 이러한 문자. 그리고 그것은 매우 쉬운 것입니다 인간은 열 up-- 엽니 다 그것을 읽어보십시오. 우리는 특별히하지 않았다 경우 그것을 읽는 사람에 대한 관심, 우리는보다 효율적으로도 패키지 수 나중에 압축을 풀 수있는 형태로 또는 그 이상 팽창 할 수있다. 그리고 이것은 80 % 절약 공간이 당신의 개체 수 있음 당신이 긴 형식을 그들을 쓴 경우 수행. 당신은 매우 클 전화 같은 way-- 덤프,로드, 그리고 당신은 당신의 일을 다시 얻을. 당신은 매우 작성하는 경우 그래서 짧은 파이썬 프로그램이 상태를 저장하려면, 다음 읽기 그들 나중에 다시이 같은 일 당신의 친구입니다. 당신은 매우 수 쉽게 JSON로 덤프. 대부분의 파이썬 객체 JSON을 덤프 할 수 그 구조적으로 희망이 있다면 그들은 그런 식으로 표현 될 수있다. 이들의 일각이다 유용한 모듈의 빙산. 그래서 SYS, OS는 멀티입니다 것들에 대한 기본 일꾼의 종류 우리는 상호 작용해야 파일 시스템 OS., , os.isdirectory, os.isfile 같은 os.makefile,이 친구입니다. 당신은 상호 작용하려면 특정 파일 타입, JSON, 피클, CSV. 당신은 웹과 상호 작용하려면 페이지, 취득하기위한 URLLIB HTTP 페이지를 참조하십시오. bs4-- BeautifulSoup-- 그것은 HTML을위한 멋진 파서입니다. 당신은 HTML과에서 실행 지금이 중첩 된 배열 객체를 가져, 당신은을 통해 통과 할 수있는 , 찾는 등으로 바로 찾고 , 만약 환상적인 인에있다. 한 무리가있다 running--을위한 패키지 특히 mathy 일을합니다. 당신이 번식 싶다면, , 반전 행렬을 변환, NumPy와는 모든 사람에 의해 사용됩니다 그의 세계. scipy 더욱 유용 그 방향으로 도구를 제공합니다. sklearn-- 기계 학습, 자연어 처리, 슈퍼 유용한 물건을 가져옵니다 파이썬에서 모든 시간을 구현했다. 그리고 다시, 약간 소요 더 이상 미안 write--하려면 실행하는 데 다소 시간이 오래 걸리지 만 실제 엔지니어 경향 이유 당신이하는 경향이 있기 때문에 사용 파이썬이다 오히려 코드를 작성 만약 차단 컴퓨터보다 코드를 실행할 수 있습니다. 당신이 쓰기 위하여려고하는 경우에 따라서 프로그램, 다른 많은 사람들이 사용하려고 영원히, 리눅스, 당신처럼 당신이 인 경우에 C로를 작성할 수 있습니다 계산 엔진을 작성하는 것, 당신이 필요한 경우는 파이썬으로 작성할 수 있습니다 모든 몇 달을 변경할 수 있습니다. 어떤 사람들은 그것을에 작성합니다 C 그들은 그렇게이기 때문에. 그래서 우리는 수입 SYS 봤어요 일을 얻기의 방법으로 의 프로그램에 모듈을 받고. 또한로 가져올 수 있습니다 별명은, 당신이 원하는 경우. 다시 멀티는 고통이다 모든 시간을 입력, 그래서 MP로 가져 다음 언제 당신에게 프로그램에서 사용, 당신은 mp.process 말, 또는 당신이 무엇을해야합니다. 당신은 가져 오기를 원하는 경우 단 하나의 물건, 그래서 URLLIB라는 일을 가지고 요청은, 그래서 당신은 단지를 가져올 수 있습니다. 나중에, 당신은 그것을 호출하지 않습니다 urllib.request,하지만 단지의 요청으로 그 자체로. 그리고 당신은 모든 것을 가져올 수 있습니다 모듈에서 당신이 원하는 경우. 이것은 때때로 좋은 아무것도 모르겠어 아니다 이 일반적으로 좋은 생각, 실제로. 당신은 아무것도 경우 때문에 very-- 때문에 해당 모듈의 이름이 당신을 다른 곳에서 사용하고 싶었 프로그램에서, 당신은 할 수 없습니다. 그리고 그것은 항상 명확하지 않다 것을 그 경우입니다. 있는지 확인하기 위해 무슨 일을 한 것은 안전했다 당신은 열 필요 모듈과 모든 참조 에 결국 이름 ... 이렇게 모든 기능, 모든 변수 즉, 해당 모듈에 살고 당신이 모두를 데려 와야하기 때문에 그 지역 이름 공간으로. 그래서 사람들은이 작업을 수행. 그것은 일반적으로 권장 당신은이 작업을 수행하지 않습니다. 그러나 사람들은이 모든 작업을 수행 시간 그들이이기 때문에 게으른와 MP를 입력하고 싶지 않아요. 아무것도 이제까지. 모듈에 대한이 모든 이야기 짧은 이야기에 주위에 나를 데려 파이썬에서 프로그램을 설계하는 방법에. 첫 번째 단계는 있는지 확인하는 것입니다 다른 사람이 이미 일을하고있다 또는 일의 90 %를 수행. 기회는 아마이, 그리고 당신 자신의 일을받을 수 있도록 실행 가야한다. 아니면 래퍼 쓰기 당신의 목적에 적응한다. 그 다음에는이다 그런 다음 거라고 실패 에 이동에 대해 생각을 시작 write-- 어떻게 함께이 일을 둘 것입니다. 물건이 많이 있습니다 거기, 그것은이다 가장 유용한 중 하나 파이썬에 대한 것들. 언어처럼 우아한 언어 또한 있기 때문에 사용하기 쉬운,하지만입니다 그것은 매우 우아하고 사용하기 쉬운 사람들은 그것을 사용하고있다 시간이 길고 많은 재료가있다 당신이 할 수있는 그 거기 자신의 사용을 위해 활용. 그래서 파이썬의 마지막 규칙은 사람이다 다른 아마도 이미 작성했습니다 해당하는 모듈, 다른 사람이 이미 있습니다 아마에 대한 라이브러리를 작성합니다. 당신이 일을하기 전에, 봐 이 구현되어있어 경우에 볼 수 있습니다. 그것은 어려운 일이 아니다. 내가 올려 모든 모듈 전에, 아마도 한 가지 예외, 모든에 사전 설치된 와서 표준 파이썬 설치. 그래서 전화에와 당신을 무엇을 가져 그 모든 기능을 가지고 여러분의 손끝에. 이 작업을 마무리하기 시작 이야기, 몇 가지가있다 나는 블랙 박스로 남아했는지 그리고 종류의, 빠뜨려 몇 흰색 내가했다고 거짓말있다 에게 정직을 위해서, 나는 적어도 시점에서거야 여기에, 경우에도 나는하지 않습니다 그들 모두에 매우 깊은 이동 그들의 기술 설명. 많은 것들이 나는 마법이라고했는지 다른 사람이 전화를 할 것입니다 지향 프로그래밍 객체. 그래서 things-- 많이 있습니다 그래서 변수는 매우 자주하지 않습니다 간단한 바이트, 앉아 메모리,하지만 매우 복잡하다 내부 가진 객체 기능과 많은에 대한 상태 의 숨겨진 변수, 많이 숨겨진 기능을하는 당신이 문자열로 만들어 놓을 수 있습니다, 이는 당신이 그들을 반복 할 수 있습니다. 그리고 당신은 writing--하는 경우 그들은 그 이유 이 풍부한 모든 기능을 가지고 people-- 때문이다 의 건축가 language-- 갔다 을 통해 모든 표준 목적, ​​기능에 넣어 이이게 어떻게 대답 방법이 작동 할 것입니다 누군가가 그것을 반복하기를 원하는 경우. 그래서 모든 것을 누군가가 수도 아마도 반복 할, 논리에 썼다 수동있어 방법에 해당 개체를 반복하는데. 당신이 가능하게 할 수 있습니다 모든 문자열로 덤프는 논리를 작성했습니다. 이것은 당신이 경우 호출 기능입니다 당신은 문자열이를 덤프합니다. 이것은 왜 당신이 할 수있다 상황에이 LEN 전화 당신이를 위해 호출 할 수있는 이유,이입니다 왜이 경우 모든 것에에서 호출 할 수 있습니다 당신이 원하는 거라고 때문에 그들과 함께 운반하는 모든 사람, 기술적 인 노하우는 그렇게 할 수 있습니다. 이 난 뭔가 슈퍼에 갈 수 없습니다. 그러나 목록에 대한 것은 미묘하다 루프에 대한 C 스타일과 다른, 당신은에 그 약을 모두 읽을 수 있습니다 인터넷 당신이 관심이 있다면. 어두운면은 모두에게있다 이런, 내가 언급 한, 그래서 두 가지가있다. 첫 번째는이 객체 지향이다 프로그래밍에 많은 오버 헤드를 추가 임의 것들, 그래서 당신은 종료 최대 더 많은 메모리를 사용; 당신은 조금 더 사용하게 시간이 그렇지 않은 경우보다. 다른 것이라면하지만 더 이에 교활한 어두운면 일이 바로 작동하는 경우이다 같은 당신에게 원하는 당신은 슈퍼 열심히 생각하지 않고 이 INT해야합니다 여부에 대한 또는이있을할지 여부 플로트, 그것은 여기에 해당이 될 수 있습니다 당신은 이상 여기에 int를 생산하지만, 생각하지만 죄송 always-- 것이다, 이 여기에 해당이 될 수 있습니다 당신은 플로트를 생산, 하지만 때 두 번째 부분에 도착 프로그램, 당신은 생각하고, 잘 아,하지만 그들은거야 항상 나에게 int를 전달합니다. 그렇지 않은 경우, 그것은 가능 것을 당신이 어딘가에 쐐기 당신은 인덱스에 그것을 사용하려고하면 배열에, 또는 당신이 무엇을해야합니다. 진짜 그래서 하나 C가에 대한 유용한 것들 정말 생각하는 당신을 강제로 당신은 떠 봐 아무 것도 할 하드 전에 당신은 어떤 변수를 가져올 전에 존재에, 같은 것을 이 변수의 타입이다. 그리고이 것 모든 시간 유형. 이것은 사실이 아니다 파이썬,과에 사실, 당신 방금 있다면 주는거 일종의 귀 가고, 당신은 어떤 결정을 내릴 방법은 한 장소에서 하나, 일부 결정은 하나 다른 곳에서 방법 뒤에 충분한 재료를 넣어없이 다른 장소에있는 장면 제대로 일을 잡으려고, 당신 아주 이상한 오류를 얻을 수 있습니다. 그리고 프로그램을 계속 실행 할 수 있습니다 아주 긴 시간 동안, 그것은 때문에 많은 작업을하는 것은 물론, 대답 이 일을 이런 식으로 작동 할 수, 그래서 나는 그 방법을 실행하는거야. 사실, 실제로 그것은 푸시 것을 작은 많은 오류를 통해 전달 의미 자주 할 때, 그 오류가 실제로 나쁜 당신은 실제로 문제를 해결하고 싶어, 이 프로그램 away-- 마일을 종료 마일 떨어진 중지 끝 당신이 당신의 오류를했을 때부터. 그리고 한 가지 우리가 싶습니다 할 수있는 프로그램, 한 가지 sometimes-- 우리는 프로그램을 좋아하는 것 우리가 디버깅 할 때해야 할 일 큰 소리로 실패하고 매우 실패하다 빨리 뭔가 잘못되면. 파이썬은 매우 나쁘다. 파이썬은하지에 매우 좋은 실패 및 롤 포워드 예기치 않은 일을 통해. 그래서이 경우에 유용합니다 당신은 작은 프로그램을 작성하고 있습니다. 당신이 복잡 할 때 버그 때때로 그들을 놀리하는데 오랜 시간이 걸린다. 그래서 어두운면 모두에있다 이것처럼 그냥 작동합니다. 당신이에 기대처럼 그냥 작동합니다. 그렇지 않은 경우, 종료 점을 제외 완전히 다른 장소에서 어디 알아 내려고 당신이 잘못된 것이 었습니다. 가비지 콜렉션은 그렇게 is-- 당신이 알 한 가지 이러한 것들의 어떤은 그 나는 existence--로 가져 왔어요 이러한 배열이 사전이 개체, 해제 만나지 files--이. 더 호출은 없었다 이 이야기의 무료. 그리고 그 때문에, C-편에 우리는 그 일에 없었어. 그러나 파이썬 측에서 프리 없다. 상황이 자동으로 얻을 수 때 파이썬을 해제 당신이 그들을보고하지 않을 생각합니다. 이 일을 정말 좋은 자유롭게 아니에요 그 당신은 여전히​​ 가능성,보고 될 수 있습니다 그러나 이것은 즉, 당신이 인 경우에 이 큰 일을 할당하는 것, 당신은 오, 같은거야 나는 지금 그것으로 끝났어요 파이썬에게 어려운 것을 당신은 지금 함께 할 것입니다. 당신은 때때로 설정할 수 있습니다 그 변수는 아무 것도 할 수 없습니다, 다음이 결국 희망 가비지 컬렉터 를 통해 제공과 이용을 정리합니다. 그러나 다시, 당신은하지 않습니다 그 제어 할 수 있습니다. 및 이유 중 하나 인 C를 사용하는 를 위해 정말 중요한 일을 성능 이 기능은 정말를하다 메모리가 할당 될 때 알 그것은 해제하고,이 때 말을 제어 많은, 내가 필요한 것보다 나는 더 많은 메모리를 사용하지 않는거야. 어떤 일입니다 파이썬에서 위대한 없습니다. 청중 : 나는 당신 질문 물어 봐도 될까요? 큰 소리로 실패로 당신은 무엇을 의미 했습니까? 로스 RHEINGANS-YOO : 경우에 따라서 뭔가 잘못이야 당신은 디버깅에있어 모드, 당신은 매우 자주 것 프로그램이 당신을 말하고 싶어 정확히 어디에 그것이 잘못이야, 그냥 조용히 실행을 중지하지. 그러나 당신은 그것을 인쇄 실제로 좋겠 모든 종류의 정보에 대한 아웃 같은, 여기를했다. 당신이 인쇄하는 경우이 일이 일어난 당신이 웹 server--를 실행하는 경우 wen-- 청중 : [들리지] 로스 RHEINGANS-YOO : 예, 경우 당신은 웹 서버를 실행하는 당신이 있다면 때로는 나쁜 항상 오류를 폐기, 당신은 말을하는지, 물론 그 작동하지 않았다. 나는 멈출거야. 난 그냥 무시하는거야 그것과 유지는 계속. 당신은 수백에서 얻을 수 있기 때문에 이러한 오류가 아닌 것은 그들을 참조하십시오. 그것은 확실히 도움이 될 것입니다 디버깅 목적 때마다 웹 서버가 만든 경우 오류, 당신은 그것의 내구성을 기록했다. 어쩌면 당신도 프로그램을 원하는 정지되도록하는 레코드 하는 일에 묻혀되지. 그러나 다시, 그 디버깅 모드입니다. 종종 생산 모드에서는, 세상은 조금 다르다. 내가 실행 해요 작은 스크립트, 여기서 내가 말했다 것 단지 조금 떨어져있을 수 있습니다 , 내가 뭘하고 싶은 것과 다음 종류의를 통해 추진 오류가 당신이 할 수 있습니다 무언가이다. 그리고 그 경우에, 확실히 파이썬은 정말 그 시작을 번다. 내가 이야기하지 않았다 마지막 이 항아리는 점에서 내가 이야기하지 않았다 하지만 실제로는 첫 번째 화나는 일 수있다 시간 이러한 오류 중 하나는,이 두 번째 및 세 번째와 네 번째 시간 하나 이러한 오류가 있습니다. 파이썬, 내가 언급 이 공백을 사용하는 당신에게 들여 쓰기 수준을 말해 그리고 당신이있어 기능 어​​떤 블록, 그것은 다른 탭과 공백을 처리합니다. 당신 탭 넷을 통해 경우에 따라서, 다음 다음 라인은 네 개의 공간을 갖는, 그들은으로 표시하는 경우에도 편집기에서 같은 양, 파이썬은 그들에게 같은 취급하지 않습니다. 사실, 파이썬은 탭을 취급 기름과 물 같은 공간. 그들은 단지 다른 것들입니다. 특히이 없다 탭은 길이, 탭 8 같다 같은이 아니다 공간은, 그래서 당신은 그것을 주위에 얻을 것 그런 식으로. 마찬가지로, 그것은 말할 때, 무엇을 나는에있어 공백의 수준, 실제로 찾고 있습니다 공백과 탭의 패턴. 그리고, 가장 좋은 방법은이 처리하는 항상 공간을 항상 사용하는 것이다. 그리고 사실, Cloud9에서 IDE와 CS50 IDE, 당신의 Tab 키를 삽입 4 칸 대신에 슈퍼 유용 탭,의. 다시 있지만, 당신은 파이썬을 쓴 경우 잘 될 것이다 탭 프로그램, 그냥 경우의 사람 에 가서 추가하려고 시도 프로그램에 한 줄이 모든 탭의 4 칸을했다 그것은 휴식 것입니다. 그리고 그것은 방법으로 휴식 것이 그건 정말 볼 수 없습니다. 실제 오류 비록 이 발생 메시지 새로운 함께 할 수있다 여기에 예상되지 들여 or--는 들여 쓰기에 대해서 이야기하는 경우 잘못처럼 그것은 보인다 아마 때문에이다 탭으로 공간 문제가있다. 그들은 여전히​​ 디버깅 격노 케하고있다. 가장 큰 전체에 내가하지 않았다이 이야기, 정말 때문에 도착 복잡 미묘한 주제, 그리고이 작업을 수행 할 필요가 없었다 우리가 지금까지했던 것 중, 튜플라는 개념이다. 그들은 등이 많이 있습니다 당신은 수정할 수 없습니다 배열. 그들은 장소 때문에 온통 익숙해 그들은 일을 많이하는 데 유용합니다 배열은 유용하지 않은 것이다. 하지만 배열을하고 싶은 경우, 그리고 다음 인터프리터를 약속 당신을 결코를 수정할 것 없다 사실 누군지 모르겠지만, 수정할 경우, 새와 새를 만들어 줄게 그건 ... 그의 값은 튜플이다. 오히려 생산보다 그들 대괄호와, 당신은 괄호와 함께 그들을 생산하고 있습니다. 왜 이런 일을 사용, 질문의 약간이다. . 유일한 것은 내가거야 그게 당신 인에 대해 말할 로 튜플을 사용할 수 있습니다 사전에 대한 인덱스. 당신은 배열을 사용할 수 없습니다 사전에 대한 인덱스. 그리고 왜, 다시, 기술 및 나는 그것으로 실행하지 않을거야. 내가 감동하지 않은 PSET 이 이야기의에 pset6입니다. 그래서 여기에 당신이 D '방법 이 여기 할까 .. 구현 당신은 어떻게 파이썬에서 pset6을 구현하는 것입니다. 파이썬을 염두에 유지 설계주기, 먼저 당신이있을 때 당신이 할 것을 쓰기 프로그램을 확인하는 것입니다 누군가가 이미 이루어집니다 있는지 확인합니다. 사실, 당신이 원하는 경우 아파치 (50) serve--하기 약이, 수행 그것은 오지 않는다 제외 표준 리눅스 시스템에 설치되어 있어야합니다. 파이썬을 수행하고, 파이썬 간단한 HTTP 서버도한다. 당신이 리눅스 시스템에서 이제까지 인 경우에, 또는 CS50의 Cloud9 IDE의 외부 당신이 현재 서비스를 제공하고 싶습니다 특정 포트에 대한 디렉토리, 파이썬-M SimpleHTTPServer 포트가 그 역할을한다. 또한 가져올 수 있습니다 간단한 HTTP 서버 그것은 많은 기능하는 경우 있어요 당신은 그것을 사용자 정의하거나 변경하려면, 또는 거길로 활용 실행 자신의 서버 서비스를 실행합니다. 그래서 파이썬은 한마디입니다. 그리고 이것은 CS50을하고있다. 고맙습니다.