초보자 가르치는 자기 python,다른 무엇을 해야하는 학습을?[마감]

StackOverflow https://stackoverflow.com/questions/805720

  •  03-07-2019
  •  | 
  •  

문제

내가 초보자를 프로그래밍입니다.나는 1 학기의 컴퓨터 공학(우리 사용되는 java).나는 그 과정을 할 수 있었는 모든 할당,그러나 나는지 정말 이해니다.나는 무시 텍스트 및 배운 보고에서 샘플 프로그램과 시험과 오류가 있습니다.그는 클래스를 제외한 두 사람이 온 알기에 자바나 다른 OOP 언어입니다.

배우고 싶 Python.나 또한 나를 구축하는 두 번째 PC 에서는 별도 제작한 장착 부품이 내가 가지고 사용하는 리눅스.기본적으로 향상하려는 나의 지식을 컴퓨터입니다.그게 내 동기 부여입니다.

지금에 학습 파이썬은 없는 것이 바람직한 프로그래밍의 이론 책는 것이 유용한가?또는 나에 읽는 방법에 대한 자세한 내용 컴퓨터에서 작동하는 최저 수준?나는 생각하지 않는 충분히 알고 있다고 질문합니다.

내 생각을 그것은 간단하다,나는 내가 알아야 할 사항은 무엇 대부분의 학습 python.이지 직업이 있습니다.이는 욕망에서 알고 있습니다.나는 더 이상 컴퓨터과학전공(이것은 또한이 없는 것 어떤 직접적인 응용 프로그램을 내 예상 경력.)

나지 않아서"30 일"또는"1 주기"또는 어떤 것이다.그래서 시작하여 아주 기본적인 수준은 잘 나와 함께.

미리 감사드립니다.검색을 했고 말을 듣지 않았을 찾아 내가 무엇을 찾고 있었습니다.

업데이트:감사에 대한 모든 위대한 조언입니다.이 사이트에서 작업하고 그것을 찾을 수 없에 컴퓨터 그래서 나는 그냥 읽는 지금이다.

도움이 되었습니까?

해결책

내 추천은 항상 높은 수준의 추상화에서 시작하는 것입니다. 논리 게이트가 어떻게 작동하는지, CPU를 만들기 위해 어떻게 사용할 수 있는지 알 필요가 없습니다. 멋진 물건이지만 멋진 물건입니다. 많은 더 높은 수준에서 엉망이 된 후에는 더 의미가 있습니다. 따라서 파이썬은 학습 원조로서 훌륭한 선택입니다.

컴퓨터 과학자처럼 생각하는 방법 : Python으로 학습 인터넷에서 구할 수 있으며 컴퓨터를 만드는 고급 개념에 대한 훌륭한 소개입니다. 그리고 그것은 심지어 파이썬 특정입니다.

뇌가 안으로 들어가고 싶다면 SICP 좋은 일을 할 것입니다. 그래도 첫 번째 텍스트로 추천하지 않습니다. 무겁습니다.

이 두 권의 책은 높은 수준입니다. 그들은 메모리 구조 나 CPU가 실제로하는 일과 같은 저수준 세부 사항에 대해 아무것도 가르쳐주지 않을 것이지만, 그것은 어쨌든 나중에 예약 할 것입니다.

d 'a

다른 팁

특히 질문의 파이썬 부분에 대해서는 강력히 추천 할 수 있습니다. http://www.diveintopython3.net/ Mark Pilgrim에 의해. 그것은 자유롭고 꽤 잘 구성되어 있습니다.

파이썬은 좋은 선택입니다. 당신은 재미있을 것입니다!

http://www.pythonchallenge.com/

나는이 도전이 주요 파이썬 강점과 연락하기에 완벽하다고 생각하며 각 레벨마다 많은 삽입 된 파이썬 스레드가있는 멋진 포럼이 있습니다.

이 중 많은 부분은 파이썬을 배우기위한 전반적인 목표가 무엇인지에 달려 있습니다. 제 2 언어를 배우거나 컴퓨터를 더 잘 이해하고 프로그래밍 언어를 효과적으로 사용하는 방법으로보고 있습니까?

컴퓨터에 대한 이해를 높이고 더 나은 프로그래머가되고 싶은 것처럼 들립니다. Python과 같은 새로운 언어를 배우는 것은 이와 관련하여 도움이되지 않을 것입니다. 관심있는 경우 여전히 Python을 배우는 것이 좋습니다. 그러나 일단 하나의 프로그래밍 언어를 배운 후에는 새로운 언어를 많이 배우는 것이 구문 및 데이터 유형 (일반적으로)에 익숙해지고 있습니다.

당신은 수업에서 자료를 이해하는 것에 대해 확신이 없다고 언급했습니다. 기본 개념 (루프, 클래스 등)을 이해하지 못한다고 생각되면 Python 학습은 대부분의 책/안내가 이러한 개념을 다시 방문함에 따라 프로그래밍에 대한 이해에 도움이됩니다 (학습 Python, 3 판 이것에 도움이되어야합니다). 이러한 개념을 이해하지만 이러한 개념을 적용하는 방법을 잘 모르면 데이터 구조 및 일반적인 알고리즘 (예 : 정렬, 검색 등)에 대해 배우는 것이 좋습니다.

개인적인 경험에서 말하면서, 나는 입문 프로그래밍 수업에서 배운 것을 개인 프로그래밍 프로젝트에 적용하는 방법을 몰랐습니다. 클래스의 데이터 구조에 대해 배우면 이전 지식을 구축하는 알고리즘/데이터 구조를 제공함으로써 이전에 배운 개념을 강화하는 데 도움이되었습니다. 이 수업을 통해 이러한 데이터 구조 사용 측면에서 문제에 대해 다르게 생각할 수있었습니다.

다양한 유형의 데이터 구조에 대해 알아 보려면 다음을 참조하십시오. http://en.wikipedia.org/wiki/list_of_data_structures. 일반적으로 각 데이터 구조는 특정 목적에 유용합니다 (예 : 이진 검색 트리는 정렬 된 정보를 검색하는 데 좋습니다). 불행히도, 나는 책 추천이 없습니다 (우리 수업은 책을 사용하지 않았습니다). 인터넷 검색 "데이터 구조"는 좋은 출발점이어야합니다.

데이터 구조는 또한 구현이 얼마나 효율적인지에 대해 생각하게했습니다. 알고리즘의 "복잡성"은 주어진 코드가 실행하는 데 걸리는 시간을 결정합니다. 이를 통해 다른 구현을 쉽게 비교하고 더 나은 것을 결정할 수 있습니다.

또한 컴퓨터 개념을 배우는 데있어서 배우는 가장 좋은 방법은 행동하는 것입니다. 책/수업은 너무 많이 설명 할 수 있으며 나머지는 스스로 배워야합니다. 각 사람은 다르게 배우고 프로그래밍은 당신이 읽은 자료를 가져 가서 당신이 가장 잘 이해되는 방식으로 생각하는 방법입니다.

나는 당신의 질문에 대답하기를 바랍니다. 이 시점에서, 당신은 실제로 기본 하드웨어에 대해 걱정할 필요가 없습니다. 이것은 당신이 이것을 경력으로 계획하는지 (당신이하지 않는), 당신이 실행중인 하드웨어에 따라 최적화를 만들고 싶은지 아는 데 유용합니다 (이 경우 Python을 사용하고 싶지 않을 것입니다). . Python은 데이터 구조가 많은 것을 구현하므로 데이터 구조에 대해 배우는 것이 좋습니다. 그러나 그들이 사용하는 것을 아는 것이 중요합니다.

아직 학교에 있다면 데이터 구조 수업을 듣고 생각하는 것을 확인하십시오. 당신이 그것을 좋아한다면, 나는 당신의 경력에서 프로그래밍/CS의 역할을 재고하는 것이 좋습니다. 당신은 그것에 전공 할 필요는 없지만, 당신이 배우고있는 이러한 기술을 사용하는 미성년자 또는 적어도 입장을 고려하십시오. 나는 이것이 당신의 전공이 아님에도 불구하고, 당신은 컴퓨터의 작동 방식을 이해하고 Python 학습, 컴퓨터 구축 및 Linux 설치와 같은 이니셔티브를 취하는 데 관심이 있기 때문입니다.

추가 질문이 있으시면 언제든지 물어보십시오. 행운을 빕니다!

Python은 높은 수준의 언어이므로 컴퓨터가 가장 낮은 수준에서 어떻게 작동하는지 배우는 데 많은 직접적인 이점을 제공하지 않습니다.

잘못 이해하지 마십시오 - 나는 컴퓨터의 저수준 작동, 예를 들어 어셈블리 언어 및 하드웨어의 저수준 작동이 모든 좋은 프로그래머가 친숙 해야하는 것이라고 믿습니다. 어떤 언어 에나도 효과적으로 프로그래밍하는 데 도움이되기 때문입니다. 고급 또는 저수준을 사용하고 있습니다. 그러나 약간의 경험을 얻을 때까지 파이썬 코딩에 큰 차이를 만들지는 않습니다. Python을 시작한 경우 컴퓨터의 저수준 작동에서 멀리 떨어져 있고 현재 Python의 기본 사항에 집중하는 것이 좋습니다. 편안한 후에는 C와 같은 것으로 넘어갈 수 있고 낮은 수준의 물건을 보는 것이 적절할 수 있습니다.

당신이 알아야 할 것에 관해서는 ... 그다지 많지는 않습니다. Python은 프로그래밍을 시작하는 훌륭한 언어입니다. 단순한 것들을 간단하게 유지하지만 높은 수준의 복잡성까지 올라갈 수있을 정도로 풍부합니다. 아마 튜토리얼을 보는 것이 좋습니다. 내가 아는 것은입니다 파이썬 웹 사이트에서, 그러나 나는 그것이 반드시 당신에게 가장 좋은 것이라고 주장하는 것은 아닙니다. Google 검색을 통해 시작할 많은 것을 제공해야합니다.

몇 달 전에 Python (첫 번째 프로그래밍 언어)을 시작했습니다. 추천합니다 Mark Lutz의 Python 학습 우선 첫째로. 그러나 잘 배우는 열쇠는 열린 마음, 참을성 있고 기꺼이 일하고 당신이 이해하지 못하는 것들을 찾는 것입니다.

재미있게 보내세요!

온라인 책을 보는 것이 좋습니다 http://www.diveintopython.org/ 파이썬을 배우기 위해.

Python 프로젝트는 Django 프레임 워크를 배우려고 노력할 것입니다. 웹 응용 프로그램을 구축하기위한 프레임 워크입니다. 그들은 위대합니다 지도 시간 시작하기 위해. 이것은 또한 Linux 상자에 웹 서버를 만드는 경험을 제공합니다.

컴퓨터에 대한 지식을 향상시킵니다

글쎄, 당신은 그것에 의해 정확히 무엇을 의미합니까? 파이썬 또는 기타 고급 언어는 실제로 모든 불쾌한 세부 사항을 숨기도록 설계되었습니다. 그것이 이유 중 하나 인 이유 중 하나입니다. 왜 비공개와 같은 (예 : 과학자)에게 적합한 이유입니다.

물건이 실제로 어떻게 작동하는지 알고 싶다면 순수한 C를 배워야합니다. 그러나 다시 한 번 SC와 관련된 경력을 가지지 않을 경우에는 별다른 점이 없습니다. 대신 고급 알고리즘과 데이터 구조를 알아보십시오. 그것은 당신이 더 흥미롭고 유용하며 플랫폼 및 언어에 대한 언어를 제공합니다.

짧은 대답: 그들 모두

긴 답변 :

첫 번째 언어를 배우는 것은 항상 어려운 일이며, Java 경험 후에는 다른 많은 언어가 훨씬 간단 해 보일 것입니다. 즉, 프로그래밍 언어 학습의 진정한 과제는 특정 언어를 사용하는시기를 배우는 것입니다. 시간이 오면 선택한 것에 대해 괜찮은 문서를 찾을 수 있습니다.

콘크리트가 시작될 때 Wikipedia로 이동하여 찾아보십시오. 프로그래밍 언어의 범주 적 목록, 당신이들은 모든 이름 (그리고 눈을 사로 잡는 다른 이름)을 클릭하고 기사에 코드 예제가있는 경우 1 ~ 2 분 동안 가라 앉을 수 있습니다 (물론 나머지 기사는 도움이 될 것입니다. ). 여기서 요점은 모든 단일 언어 ((1) 무의미하고 (2) 불가능)를 마스터하는 것이 아니라 거기에있는 것을 처리하는 것입니다. 어떤 언어의 경우 어떤 언어와 같은 소수의 다른 언어가 있으며, 최소한 가능하다면 읽다 대부분의 범주에서 하나의 언어로, 당신은 프로그래밍 우주의 상당히 큰 덩어리를 마스터하게 될 것입니다. 새로운 프로젝트가 나오고 그것에 대해 무언가를 찾은 언어를 상기시켜 주면 프로젝트를 수행 할 때 해당 언어를 배울 수 있습니다. 그것은 많은 일처럼 들릴지 모르지만, 다섯 번째 큰 언어를 마친 후에는 카운트를 완전히 잃고 실수로 알지 않고도 항상 새로운 것을 배웁니다.

하나의 언어와 관련하여 가정 언어와 관련하여 프로그래밍 한 적이 없어도 다른 언어로 예제를 배울 수 있습니다. 개인적으로 나는 몇 가지 Haskell 프로그램 만 썼지 만 읽다 Haskell은 더 실용적인 스칼라 및 파이썬 프로그램에서 재활용 할 수있는 많은 아이디어에 저를 노출 시켰습니다 (오, Python을 배우고 나면 Scala를 찾아 보면 다시는 Java를 사용하지 않을 것입니다).

직업에 가장 적합한 언어를 찾는 것조차도 전체 이야기가 아닙니다. 도구 상자에 많은 도구가 있으면 가장 쉬운 언어로 프로젝트의 각 작품을 작성하여 짧은 시간에 놀라운 물건을 함께 버릴 수 있습니다. 이것은 모든 프로젝트에 적합하지는 않지만 소년, 인상적인 데모를 만들 수 있습니다.

프로그래밍 언어가 완전히 외국인 (또는 적어도 해킹의 하루 이상 외국인)가 아닌 지점에 도달하는 데 수년이 걸리지 만, 대표를 정복하려는 것은 매우 건강하고 현실적인 장기 계획이라고 생각합니다. 각 거친 범주의 샘플. 행운을 빕니다!

Python은 내 첫 번째 언어가 아니기 때문에 파이썬 요리 책 학습에 도움이됩니다

  1. 파이썬이 할 수 있었던 것
  2. "Pythonic"의 관용학은 무언가를하는 방법입니다.

프로그래밍 언어를 가르치는 항상과 관련되는 진부한 진술하는 동안 학습합니다."쓰기 프로그램 프로그래밍을 배우".내가 너무 것 같습니다.

는 경우에 당신은에서 시작하는 기본입니다.이것은 물론,대부분의 권장 출발점입니다.그것은 길이지만,그것은 모든 가치가있다. http://www.diveintopython.org/

기 때문에 당신이 일부 자바이 될 수 있습에 대한 지식을 테스트합니다. http://www.swaroopch.com/notes/Python.시작 중 하나 python2.x3.0.나 개인적으로 이 python3.하지만 시작하는데 어려움이 있을 수 있습 샘플을 얻고 대한 참조를 프로그램 온라인.그래서 당신을 위해 2.x 좋을 수도 있습니다.그러나 나는 그것을 떠나까지 당신입니다.

다음과 같 시작"프로그램을 작성..".여기서 시작할 수 있습니다.

  1. http://www.spoj.pl/ -프로그래밍 사이트 문제,어디에서 선택할 수 있습니다 다양한 주제의 대부분은 알고리즘과는 거대한 문제 데이터베이스.의 코스의 선택 프로그래밍 언어까지 당신입니다.
  2. http://projecteuler.net/ -수학적 질문이트,여기에 당신을 제출해야 응답을 부정행위는 허용되 여기고,그래서 무료로 빌릴 논리,하지만 다른 사람들도 쓰기 프로그램이다.

후에 당신이 생각하를 얻고 있는 충분한 능력 python,당신이 시도할 수 있는 요리법을 이 책에서는 파이썬은 요리책 http://www.amazon.com/Python-Cookbook-Alex-Martelli/dp/0596007973.

응용 프로그램 개발을 위해 한 후,당신은 당신이 그것을 처리 할 수 있다고 생각에서 시작 wxPythonPyQt.나 개인적으로 좋 PyQt.그것이 대답하는,빠르고 괜찮은 개발 주기는 사용하지 않았습 WxPython 에 대한 긴하지만,몇 가지 프로그램를 썼고,긴 후,느끼지 않았습니다.아직 다시,당신까지 당신.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top