파이썬은 초보자, 경험이 없는 자, 패배한 자, 빌어먹을 자에게 힌트를 준다...
나는 파이썬에 대해 어떤 견해를 가지고 있습니까?
내가 대학교 2학년 학생이었을 때, 나는 Python으로 인코딩하는 방법을 배웠다. C로 인코딩하는 방법만 알고 Fortran, Basic, Cobol 등 저급 프로그래밍 언어만 본 학생에게는.파이썬이 하늘이 내린 좋은 기회라는 것을 발견했다.
나는 C 언어의 15줄이 Python 언어의 1줄로 줄어드는 것을 본 느낌을 영원히 잊지 못할 것이다.수학자가 처음으로 새로운 공식을 발견한 것처럼 신기하다.그저 할 수 있는 일에 놀랐을 뿐이다.
만약 내가 Python의 평점을 1점에서 10점으로 한다면, 그것은 바로 위의 표지 사진이다.
우리 시작합시다!
초보자, 경험 부족자, 그리고 파이썬을 막 배우기 시작한 사람들에게 적용된다.
첫 번째 힌트!PEP 8 스타일 가이드 준수
대부분의 초보자들은 심지어 PEP 8 스타일 안내서를 따르지 않았고, 심지어는 그것을 들어 본 적이 없다.
내가 Python으로 인코딩을 시작했을 때, 나는 어떤 스타일 지침도 따르지 않았다.나는 가능한 한 코드가 헷갈리지 않도록 최소한의 일만 했다.
사실 제가 코딩 업계에 막 들어갔을 때 PEP 8과 다른 스타일 가이드를 들은 적이 있어서 정말 유감입니다.
나는 이 글에서 PEP 8이나 그 장단점을 설명하지 않기 때문에 여기에 더 많은 것을 이해하는 데 도움을 줄 수 있는 링크가 있다.
내가 가장 좋아하는 학습 정치 공인 8의 링크: https://realpython.com/python-pep8/
나는 다른 링크에서 이 좋은 말을 얻었다. https://www.python.org/dev/peps/pep-0008/
However, know when to be inconsistent -- sometimes style guide recommendations just aren't applicable. When in doubt, use your best judgment. Look at other examples and decide what looks best. And don't hesitate to ask!
PEP 8 검사기가 하나 더 있습니다. http://pep8online.com/
2. 두 번째 힌트!명세서를 열거하는 것 외에 명세서로 이해하지 마라.
대부분의 초보자들이 하는 또 다른 일은 그들이 공공연히 목록을 사용해서 이해하는 것이다.나는 이 오류에 대해서도 결코 낯설지 않다. 경험이 풍부한 프로그래머가 나에게 그것을 어떻게 정확하게 사용하는지 알려준 것에 매우 감사한다.
이해는 목록, 사전, 집합, 생성기를 되돌려주고 그 목적에 어긋나지 않도록 사용해야 한다.
목록을 사용하여 일부 값을 인쇄하는 것은 용서할 수 있지만, 다른 목록에 값을 추가하는 것은 최고 수준의 이단사설이다.
내 말은, 네가 디버깅을 할 때, 네가 디버깅을 한 후에 그것을 삭제할 수 있도록 무료로 사용할 수 있다는 것이다.그러나 그 밖의 어떤 일도 큰 부정이다.
용서할 수 있는 일이지만,
[print(f'I love number {x}!') for x in range(0,100)]
이 코드만 줄였으니까.for x in range(0,100):
print(f'I love number {x}!')
다른 한편으로는 이단사설이고,num = []
[num.append(x) for x in range(0, 100)]
다음과 같이 쉽게 재구성할 수 있습니다.
num = [x for x in range(0,100)]
누군가는 "그런데 그것은 훨씬 짧고, 훨씬 깨끗하다."라고 말할 수도 있다.그래, 너는 틀리지 않았지만, 이해는 또 다른 목적을 위해서야, 내 새끼야.이것은 마치'세계의 모든 인구를 죽이면 지구를 구할 수 있다'고 말하는 것과 같다.이것은 아마도 정확한 방법일 것이다. 그러나 우리는 왜 먼저 지구를 구해야 합니까?아니면 칼도 숟가락으로 쓸 수 있다.그래, 너는 그것을 숟가락으로 쓸 수 있지만, 칼은 이런 기능을 하는 데 쓰이지 않는다. 네가 이렇게 하면 자신을 다치게 할 뿐이다.
보너스 팁:
3, 세 번째 힌트!f 문자열 사용!
어떤 이유로 다른 프로그래머들은 이런 급진적인 문자열 형식을 사용하지 않았다.그것은 더 빠르고, 더 좋고, 더 잘 틀리지 않는데, 왜 모든 사람이 그것을 사용하지 않습니까?
비교를 위해 다음 코드를 확인합니다.
추하고 우아하지 않다.
num = 3
# Stop doing this
print("The tree is " + num + " years old.")
섹시하지 않아요.# Prone to error
print("The tree is %s years old." % (num))
더더욱 그렇다.# This has a tendency to become extremely long.
print("The tree is {} years old.".format(num))
이것은 진정한 거래와 섹시 지옥이다.# A lot faster and less prone to error
print(f"The tree is {num} years old.")
나는 왜 f-string이 미래인지 깊이 있게 연구하지 않을 것이다. 그래서 여기에 당신이 읽고 배울 수 있는 링크가 있다.f 문자열을 사용해야 하는 이유를 설명합니다.
https://realpython.com/python-f-strings/
작동 방식:
https://hackernoon.com/a-closer-look-at-how-python-f-strings-work-f197736b3bdb
문자열 형식 Best Practice:
https://realpython.com/python-string-formatting/
4. 네 번째 기술은 Python 모듈을 사용하고 그 모듈을 이용한다.
설치해야 할 내장 모듈이든 소프트웨어 패키지든 그것들을 어떻게 정확하게 사용하는지 배워야 한다.
이것은 대부분의 경험이 없는 파이썬 프로그래머들이 소홀히 하는 또 다른 일이다.그들은 일을 쉽게 하는 데 도움이 되는 어떤 모듈도 사용하지 않는 경향이 있다.
이 모듈을 사용하지 않을 때.
이 모듈을 사용할 때.
네가 해야 할 일은 문서를 읽고 이해하는 것이다.
나는 단지 모든 것이 매우 좋아서, 결코 그것을 개선할 수 없다는 것을 의미하지 않는다는 것을 알았다.모듈을 사용하면 코드의 효율과 속도를 높일 수 있다.모듈로 교체된 불필요한 코드를 삭제함으로써 줄 수를 현저히 줄일 수 있다.
예를 들어, 우리는 목록에 나타나는 모든 색깔의 수량을 계산하려고 한다.
data = ['green', 'red', 'red', 'green', 'green', 'red', 'orange', 'green', 'green', 'green', 'red']
우리는 이렇게 할 수 있다. 이것은 U-G-L-Y의 추악한 것이다.new = {}
for x in data:
new[x] = data.count(x)
print(new)
그러나 사전적 이해를 이용하여 이 점을 개선할 수 있다는 것은 보기에 매우 좋다.new = {x:data.count(x) for x in data}
하지만 수집 모듈의 계수기를 사용하여tada!나는 지금 더욱 간결한 코드를 제공했다.from collections import Counter
new = Counter(data)
다음은 몇 가지 유용한 모듈입니다.
이게 다야!
솔직히 말하면, 이 글은 내가 초보자로서의 잘못과 내가 배운 것에 관한 것이 더 많다.나는 네가 이 문장에서 무엇을 배우고, 네가 프로그래머의 기능을 향상시키는 데 도움을 줄 수 있다고 생각하는 모든 사람들로부터 피드백을 받을 수 있기를 바란다.
Reference
이 문제에 관하여(파이썬은 초보자, 경험이 없는 자, 패배한 자, 빌어먹을 자에게 힌트를 준다...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jaakofalltrade/python-tips-for-beginners-the-inexperienced-the-beaten-and-the-damned-4310텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)