6가지 아무도 가르치지 않는 파이썬의 힌트와 기교🚀🐍
19944 단어 programmingbeginnerspythontutorial
간단한 문법, 대량의 라이브러리, 빠른 학습 곡선은 이미 초보자와 경험이 풍부한 개발자들의 사랑을 받았다.
그래서 오늘 나는 통상적으로 가르치지 않는 가장 좋은 파이썬 기교 6개를 공유할 것이다.😃
모든 예는 이Github repo에서 구독 후 사용할 수 있기 때문에 반드시 그것들을 보아야 한다.
-->본문의 소스 코드 액세스 및 다운로드here
🎉 경품⚡
우리는 너에게 네가 필요로 하는 어떤 과정도 제공할 것이다.어떠한 가격, 어떤 과정.
를 시작하려면 다음을 수행해야 합니다.
시퀀스에서 임의 요소 선택
표준 라이브러리의
random
패키지에는 유용한 함수가 많다.그러나 random.choice(seq)
는 특히 유용하다.색인 가능한 시퀀스에서 무작위 요소를 선택할 수 있습니다. 예를 들어
lists
, tuples
, 심지어 strings
import random as r
my_list = [1, 2, 3, "go"]
print(r.choice(my_list))
# Random item
인스턴스
일련의 책을 받는 책 picker 함수는 목록에서 이 항목을 삭제하고 문자열로 되돌려줍니다
# We import only the function we need
from random import choice
def book_picker(books):
book_choice = choice(books)
books.remove(book_choice)
return f"You picked {book_choice}"
books = ["Harry potter", "Don Quixote", "Learn Python by Daniel Diaz", "Dracula"]
print(book_picker(books)) # Random choice
print(books) # Remaining books
제한 및 예외
인덱스할 수 없는 시퀀스
random.choice(seq)
, 예를 들어 dictionaries
, sets
, numeric types
를 사용하려고 시도하면 파이톤이 오류를 일으킬 수 있습니다.# With Dictionary
import random as r
scores = {"Jhon": 4, "Ben": 3, "Diana": 5}
print(r.choice(my_scores)) # Key error
또한 시퀀스가 비어 있으면 파이톤IndexError
이 발생합니다.# With an empty sequence
import random as r
empty_list = []
print(r.choice(empty_list)) # Index error
사용*
때때로 우리는 빈칸으로 구분된 가수 요소를 인쇄해야 한다. 내가 본 가장 흔히 볼 수 있는 해결 방안은
my_list = [1, 2, 3, 5, 7]
for i in my_list:
print(i, end=" ") # 1 2 3 5 7
비록 이것이 문제를 해결했지만 코드는python과 그렇게 비슷하지 않다."""*""패키지 해제 연산자를 사용하여 보다 간편한 솔루션 제공"my_list = [1, 2, 3, 5, 7]
print(*mylist) # 1 2 3 5 7
보시다시피 unpack 조작부호는iterable의 왼쪽에 항상 설정되어 있으며, 이것은 Python에게 알려 줍니다.Assign each element from this iterable to the desired tuple or list
iterable는 우리가 for로 순환할 수 있는 모든 서열임을 기억하십시오.데이터 형식을 편집할 수 있는지 확인하려면
iter()
함수를 사용합니다.
print(iter("This is a string")) # Str Iterable object
print(iter(["this", "is", "a", "list"])) # List iterable object
print(iter(1))
# Raises an error
# Integers can't be iterated
변수를 사용하여 패키지 해제
패키지 해제 조작부호의 기능을 이해한 후에 변수에 데이터를 저장하기를 원할 수도 있습니다.어떻게 하는지 보여주세요.
string = "Let's learn Python"
# We want to assign the unpacked result in var1
var1 = [*string]
print(var1)
# ['L', 'e', 't', "'", 's', ' ', 'l', 'e', 'a', 'r', 'n', ' ', 'P', 'y', 't', 'h', 'o', 'n']
[*iterable]
부분이 혼란스러워 보일 수 있으니 설명해 드릴게요.우리가iterable를 해제할 때python은 이iterable의 모든 요소를 저장하기 위해 데이터 구조를 필요로 하기 때문에
[]
조작부호 외에 목록을 만듭니다 (*
.만약 우리가
*
연산자로부터 변수의 유형을 얻으려고 시도한다면, 우리는another_str = "The * operator"
# Using a list outside the unpacking
var2 = [*another_str]
print(type(var2)) # List
# Using a tuple
# Tuples ends with a comma
var3 = (*another_str,)
print(type(var3)) # Tuple
물론 목록이나 원조가 없는 상태에서 가방을 풀려고 하면 SyntaxError
bad_variable = *"Bad String"
# Syntax error
하도급 해제는 더 많은 용도가 있기 때문에, 나는 그것에 관한 단독 문장을 한 편 쓸 수 있다.😀set을 사용하여 작업 최적화
python documentation에 따라
set(iterable)
클래스는iterable에서 set 대상을 만듭니다.너희들 중 일부가 알 수 있는 바와 같이 집합은 무질서한 데이터 구조이기 때문에 색인을 할 수 없다. 집합의 특징 중 하나는 중복항을 허용하지 않는다는 것이다.
인스턴스
함수, 중복 항목을 삭제하고 정렬된 목록을 되돌려줍니다.
def eliminate_duplicates(lst):
"""
Returns a sorted list, without duplicates
"""
new_list = list(set(lst))
new_list.sort()
return new_list
list1 = [25, 12, 11, 4, 12, 12, 25]
print(eliminate_duplicates(list1))
편집기를 종료하지 않고 클래스의 속성과 방법을 보기
dir()
함수 반환 클래스의 속성과 방법.우리는 이 유용한 기교를 사용하여 클래스 유형의 모든 정의를 열거할 수 있다.-> $ python
string = "A string"
print(dir(string))
# ['__add__', .....,'upper', 'zfill']
예를 들어, 만약 우리가 문자열을 대문자로 바꾸는 방법을 찾고 있다면, 브라우저를 열기가 귀찮을 뿐이다. dir
함수를 실행하고 문자열을 매개 변수로 삼아 정확한 방법을 검색하기만 하면 된다.인스턴스
Dell이
dir
에서 얻을 수 있는 가장 좋은 방법은 타사 패키지를 사용할 때 터미널을 종료하지 않고 클래스에서 필요한 모든 정보를 얻을 수 있다는 것입니다.-> $ python
from django.views import View
print(dir(View))
# ['__class__', '__delattr__', .... 'setup']
슬라이싱 작업
슬라이드는 단지 서열의 일부 부분에 접근하는 방식일 뿐이다.python에서 슬라이드는 여러 가지 기술을 실행할 수 있도록 합니다.
반전 시퀀스
# Reversing lists
lst = ["Fun", "is", "Programming"]
lst = lst[::-1]
print(lst) # ['Programming', 'is', 'Fun']
# Reversing strings
string = "Dog running on the park"
string = string[::-1]
print(string) # krap eht no gninnur goD
인스턴스
함수는 주어진 인덱스까지 서열을 되돌려줍니다.
def cutoff(seq, index):
if not len(seq) > index:
return "Sorry the index is bigger than the sequence"
return seq[:index]
long_string = "This is a long description of a blog post about Python and technology"
print(cutoff(long_string, 15))
# This is a long
print(cutoff(long_string, 70))
# Sorry the index is bigger than the sequence
10개의 알파벳으로 디버거를 호출하다
이 함수
breakpoint
는python 3.6+에서 얻을 수 있습니다.세션pdb.set_trace()
이 호출됩니다.이것은 듣기에 순수한 편리함일 수도 있지만, 나에게 있어서, 이것은 디버거를 호출하는 매우 간단하고 우아한 방식이다
예.
n_odds = 0
for i in range(1, 14, 2):
# Check for the value of i in each iteration
breakpoint()
# Bad condition
if i % 2 == 0:
n_odds += 1
print(n_odds)
결론
이 자습서에서는 다음과 같은 내용을 설명합니다.
*
조작원breakpoint
를 어떻게 호출하는지Please consider supporting me on Ko-fi. You would help me to continue building these tutorials!.
만약 당신에게 어떤 피드백이 있다면, 평론에서 저에게 알려주세요.
관련 항목:
네가 알아야 할 CSS 팁 5개.🚀 + 경품
가비트 모트와니가 데프의 세계에서・ 4월 20일・ 3분 읽기
#css
#webdev
#html
#beginners
8개의 아무도 가르치지 않는 자바스크립트 힌트와 기교🚀
가비트 모트와니가 데프의 세계에서・ 4월 6일・ 3분 읽기
#javascript
#webdev
#html
#es6
Reference
이 문제에 관하여(6가지 아무도 가르치지 않는 파이썬의 힌트와 기교🚀🐍), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/worldindev/6-python-tips-tricks-that-no-one-teaches-4j73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)