Python은 간결하고 우아한 구문을 갖춘 강력하고 사용하기 쉬운 언어입니다. Java만큼 번거롭고 난해하지 않으며, 코드를 더 짧고 간결하게 만들 수 있는 몇 가지 특수 함수나 구문이 있습니다.
저자의 경험을 바탕으로 일반적으로 사용되는 5가지 Python 팁은 다음과 같습니다.
Python은 수학 연산자(예: + 및 *)를 사용하여 문자열에 대해 연산을 수행하는 데 능숙합니다. 문자열 - * 문자열 반복
my_string = "Hi Python..!"print(my_string * 2)#Hi Python..!Hi Python..!print(my_string + " I love Python" * 2)#Hi Python..! I love Python I love Python
또한 슬라이스 연산 [::-1]을 사용하여 쉽게 문자열을 뒤집을 수 있으며 이는 목록 뒤집기와 같은 문자열에만 국한되지 않습니다!
my_string = "Hi Python..!"print(my_string[::-1])# !..nohtyP iHmy_list = [1,2,3,4,5] print(my_list[::-1])# [5, 4, 3, 2, 1]
다음은 반전되어 문자열로 연결된 단어 목록입니다.
word_list = ["awesome", "is", "this"]print(' '.join(word_list[::-1]) + '!') #this is awesome!
.join() 메서드 ''(공백)를 사용하여 반전된 목록의 모든 단어를 연결하고 느낌표를 추가하세요!.
세계관을 바꿀 수 있는 기술, 목록 파생! 이는 목록에 대한 빠른 작업을 수행하는 매우 강력하고 직관적이며 읽기 쉬운 방법입니다. 또한, 공식 계정 상단 파이썬 배경을 검색해 "사물 인터넷"이라고 답하시면 깜짝 선물 패키지를 받아가실 수 있습니다.
숫자의 제곱을 반환하고 5:
def stupid_func(x): return x**2 + 5
를 더하는 임의의 함수가 있다고 가정해 보겠습니다. 이제 목록 파생을 사용하지 않고 목록의 모든 홀수에 stully_func() 함수를 적용하려면 , 어리석은 방법은 다음과 같습니다.
def stupid_func(x): return x**2 + 5my_list = [1, 2, 3, 4, 5] new_list = []for x in my_list: if x % 2 != 0: new_list.append(stupid_func(x)) print(new_list)#[6, 14, 30]
목록 파생을 사용하면 코드가 즉시 우아해집니다.
def stupid_func(x): return x**2 + 5my_list = [1, 2, 3, 4, 5] print([stupid_func(x) for x in my_list if x % 2 != 0])#[6, 14, 30]
목록 파생의 구문: [목록의 항목에 대한 표현식] 위의 "홀수" 조건([조건부인 경우 목록의 항목에 대한 표현])과 같은 판단 조건을 추가할 수도 있습니다. 기본적으로 다음 코드의 기능은 다음과 같습니다.
for item in list: if conditional: expression
아주 멋지네요! . 하지만 한 단계 더 나아가 stuid_func() 함수를 직접 생략할 수도 있습니다.
my_list = [1, 2, 3, 4, 5]print([x ** 2 + 5 for x in my_list if x % 2 != 0])#[6, 14, 30]
Lambda는 조금 이상해 보이지만 이상한 기능은 일반적으로 매우 강력하며 일단 숙달하면 매우 직관적이고 말도 안되는 코드를 많이 절약할 수 있습니다.
기본적으로 Lambda 함수는 작은 익명 함수입니다. 왜 익명인가요?
Lambda는 간단한 작업을 수행하는 데 가장 자주 사용되지만 def my_function()만큼 심각할 필요는 없기 때문에 Lambda는 캐주얼 함수라고도 합니다(가짜 함수, 무시하세요).
위의 예를 개선하세요. def dumb_func(x)는 한 줄짜리 Lambda 함수로 대체될 수 있습니다.
stupid_func = (lambda x : x ** 2 + 5) print([stupid_func(1), stupid_func(3), stupid_func(5)])#[6, 14, 30]
그렇다면 왜 이 이상한 구문을 사용할까요? 이는 실제 기능을 정의하지 않고 몇 가지 간단한 작업을 수행하려는 경우 유용합니다.
숫자 목록을 예로 들어보세요. 목록이 정렬되어 있다고 가정해 볼까요? 한 가지 방법은 sorted() 메서드를 사용하는 것입니다.
my_list = [2, 1, 0, -1, -2] print(sorted(my_list))#[-2, -1, 0, 1, 2]
sorted() 함수를 사용하면 정렬을 완료할 수 있지만 각 숫자의 제곱으로 정렬하려면 어떻게 해야 할까요? 이때 람다 함수를 사용하여 정렬 키 키를 정의할 수 있으며, 이는 정렬 방법을 결정하기 위해 sorted() 메서드에서도 사용됩니다.
my_list = [2, 1, 0, -1, -2] print(sorted(my_list, key = lambda x : x ** 2))#[0, -1, 1, -2, 2]
map은 Python에 내장된 함수로, 제공된 기능에 따라 지정된 시퀀스를 매핑합니다. 목록이 있고 목록의 각 요소를 다른 목록의 해당 요소와 곱하고 싶다고 가정해 보겠습니다. 람다 함수와 맵을 사용해보세요!
print(list(map(lambda x, y : x * y, [1, 2, 3], [4, 5, 6]))) #[4, 10, 18]
이 일반적인 무의미한 코드와 달리 간단하고 우아합니다.
x, y = [1, 2, 3], [4, 5, 6] z = []for i in range(len(x)): z.append(x[i] * y[i])print(z) #[4, 10, 18]
코드 어딘가에 , 다음과 같은 말도 안되는 조건문이 있을 수 있습니다:
x = int(input())if x >= 10:print("Horse") elif 1 < x < 10:print("Duck")else:print("Baguette")
프로그램을 실행하면 input() 함수에서 5를 입력하는 것과 같은 정보의 일부를 입력하라는 메시지가 표시되고 Duck을 얻습니다. 하지만 실제로는 한 줄의 코드로 모든 것을 완료할 수도 있습니다.
print("Horse" if x >= 10 else "Duck" if 1 < x < 10 else "Baguette")
한 줄의 코드는 간단하고 간단합니다! 이전 코드를 살펴보면 많은 판단이 if-else 단일로 줄어들 수 있다는 것을 알 수 있습니다. - 라인 표현.
map() 함수 부분에서 두 목록 요소의 비트별 곱셈을 기억하시나요?
zip()을 사용하면 더욱 쉬워집니다. 두 개의 목록이 있다고 가정합니다. 하나는 이름을 포함하고 다른 하나는 성을 포함합니다. 순서대로 병합하는 방법은 무엇입니까? zip()을 사용하세요!
first_names = ["Peter", "Christian", "Klaus"] last_names = ["Jensen", "Smith", "Nistrup"]print([' '.join(x) for x in zip(first_names, last_names)]) #['Peter Jensen', 'Christian Smith', 'Klaus Nistrup']
위에 나열된 5가지 빠른 팁이 여러분에게 유용하길 바랍니다.
위 내용은 생명을 구하는 다섯 가지 Python 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!