>  기사  >  백엔드 개발  >  공유할 수 있는 17가지 유용한 Python 팁!

공유할 수 있는 17가지 유용한 Python 팁!

PHPz
PHPz앞으로
2023-04-17 09:22:04708검색

공유할 수 있는 17가지 유용한 Python 팁!

Text

안녕하세요 여러분, 저는 Python 인공지능 기술입니다.

이 기사에서는 가장 일반적으로 사용되는 Python 트릭에 대해 논의합니다. 이러한 기술의 대부분은 일상 업무에서 사용하는 간단한 트릭이며, 좋은 것은 모두와 공유해야 한다고 생각합니다.

더 이상 고민하지 말고 시작해 보세요! :)

팁 요약

1. 사용자의 여러 입력 처리

때때로 루프나 반복을 사용하기 위해 사용자로부터 여러 입력을 받아야 하는 경우가 있는데, 일반적인 작성 방법은 다음과 같습니다.

# bad practice码
n1 = input("enter a number : ")
n2 = input("enter a number : ")
n2 = input("enter a number : ")
print(n1, n2, n3)

하지만 거기에는 다음과 같이 처리하는 것이 더 좋은 방법입니다:

# good practice
n1, n2, n3 = input("enter a number : ").split()
print(n1, n2, n3)

2. 여러 조건문 처리

코드에서 여러 조건문을 확인해야 하는 경우 all() 또는 any() 함수를 사용하여 목표를 달성할 수 있습니다. 일반적으로 and 조건이 여러 개인 경우 all()을 사용하고 or 조건이 여러 개인 경우 any()를 사용합니다. 이렇게 사용하면 코드가 더 명확해지고 읽기 쉬워지며 디버깅 시 문제를 방지하는 데 도움이 됩니다.

all()의 일반적인 예는 다음과 같습니다.

size = "lg"
color = "blue"
price = 50
# bad practice
if size == "lg" and color == "blue" and price < 100:
 print("Yes, I want to but the product.")

더 나은 처리 방법은 다음과 같습니다.

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if all(conditions):
 print("Yes, I want to but the product.")

any()의 일반적인 예는 다음과 같습니다.

# bad practice
size = "lg"
color = "blue"
price = 50
if size == "lg" or color == "blue" or price < 100:
 print("Yes, I want to but the product.")

더 나은 처리 방법은 다음과 같습니다.

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if any(conditions):
 print("Yes, I want to but the product.")

3. 숫자 패리티 결정

이것은 구현하기 쉽습니다. 사용자로부터 입력을 받아 정수로 변환하고 숫자 2에 대한 나머지 연산을 확인합니다. 나머지가 0이면 짝수입니다.

print('odd' if int(input('Enter a number: '))%2 else 'even')

4. 변수 교환

파이썬에서 변수의 값을 교환해야 할 경우에는 임시 변수를 정의할 필요가 없습니다. 우리는 일반적으로 변수 교환을 구현하기 위해 다음 코드를 사용합니다:

v1 = 100
v2 = 200
# bad practice
temp = v1
v1 = v2
v2 = temp

그러나 더 나은 처리 방법은 다음과 같습니다:

v1 = 100
v2 = 200
# good practice
v1, v2 = v2, v1

5. 문자열이 회문 문자열인지 확인합니다.

문자열을 뒤집는 가장 간단한 방법은 [: :- 1], 코드는 다음과 같습니다.

print("John Deo"[::-1])

6. 문자열을 뒤집습니다

Python에서 문자열이 회문인지 확인하려면 다음 명령문을 사용하세요.

string.find(string[::-1]) == 0, 샘플 코드는 다음과 같습니다.

v1 = "madam" # is a palindrome string
v2 = "master" # is not a palindrome string
print(v1.find(v1[::-1]) == 0) # True
print(v1.find(v2[::-1]) == 0) # False

7. 인라인 if 문을 사용해 보세요

대부분의 경우 조건 뒤에는 하나의 문만 있으므로 인라인 if 문을 사용하면 더 간결한 코드를 작성하는 데 도움이 됩니다. 예를 들어 일반적인 작성 방법은 다음과 같습니다.

name = "ali"
age = 22
# bad practices
if name:
 print(name)
if name and age > 18:
 print("user is verified")

그러나 이를 처리하는 더 좋은 방법은 다음과 같습니다.

# a better approach
print(name if name else "")
""" here you have to define the else condition too"""
# good practice
name and print(name)
age > 18 and name and print("user is verified")

8 목록에서 중복된 요소를 삭제합니다

확인하기 위해 전체 목록을 탐색할 필요가 없습니다. 중복 요소가 있는 경우 간단히 set()을 사용하여 중복 요소를 삭제할 수 있습니다. 코드는 다음과 같습니다.

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
print(lst)
unique_lst = list(set(lst))
print(unique_lst)

9. 목록에서 가장 많이 반복되는 요소를 찾습니다.

Python에서는 max() 함수와 통과 목록을 사용할 수 있습니다. .count는 목록의 반복 횟수를 알아내는 키입니다. 가장 많은 요소는 다음과 같습니다.

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
most_repeated_item = max(lst, key=lst.count)
print(most_repeated_item)

10. 목록 생성

Python에서 제가 가장 좋아하는 기능은 목록 이해 기능입니다. 매우 간결하고 강력한 코드이며 이러한 코드는 거의 자연어처럼 읽혀집니다. 이해하기 쉽습니다. 예는 다음과 같습니다:

numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']
def visit(city):
 print("Welcome to "+city)
for city in cities:
 visit(city)

11. *args를 사용하여 여러 매개변수 전달

Python에서는 *args를 사용하여 여러 매개변수를 함수에 전달할 수 있습니다. 예는 다음과 같습니다.

def sum_of_squares(n1, n2)
 return n1**2 + n2**2
print(sum_of_squares(2,3))
# output: 13
"""
what ever if you want to pass, multiple args to the function
as n number of args. so let's make it dynamic.
"""
def sum_of_squares(*args):
 return sum([item**2 for item in args])
# now you can pass as many parameters as you want
print(sum_of_squares(2, 3, 4))
print(sum_of_squares(2, 3, 4, 5, 6))

12. 때때로 직장에서 루프에 있는 요소의 첨자를 얻고 싶을 때가 있습니다. 일반적으로 다음과 같은 더 우아한 작성 방법이 있습니다. 함수는 일반적으로 목록을 연결하는 데 사용됩니다. 물론 연결 시 연결 기호를 추가할 수도 있습니다.

lst = ["blue", "lightblue", "pink", "orange", "red"]
for idx, item in enumerate(lst):
print(idx, item)

14. 또한 두 사전을 병합합니다. 공식계정 상단 파이썬 배경 검색 후 "Advanced" 답글 달기, 깜짝 선물 패키지 받아가세요.

Python에서는 {**dict_name, **dict_name2, …}을 사용하여 여러 사전을 병합할 수 있습니다. 예시는 다음과 같습니다.

names = ["john", "sara", "jim", "rock"]
print(", ".join(names))

결과는 다음과 같습니다.

d1 = {"v1": 22, "v2": 33}
d2 = {"v2": 44, "v3": 55}
d3 = {**d1, **d2}
print(d3)

15 두 개의 목록을 사용하여 사전을 생성합니다

Python에서는 두 목록의 해당 요소로 사전을 구성해야 하는 경우 zip 기능을 사용하여 쉽게 수행할 수 있습니다. 코드는 다음과 같습니다.

{'v1': 22, 'v2': 44, 'v3': 55}

16. 사전은 값에 따라 정렬됩니다.

Python에서는 sorted() 함수를 사용하여 해당 값에 따라 사전을 정렬합니다.

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
zipped = dict(zip(keys, vals))

또한 다음과 같습니다. 내림차순으로 정렬하려면 reverse =True를 전달하세요.

d = {
 "v1": 80,
 "v2": 20,
 "v3": 40,
 "v4": 20,
 "v5": 10,
}
sorted_d = dict(sorted(d.items(), key=lambda item: item[1]))
print(sorted_d)
当然我们也可以使用itemgetter( )来替代上述 lambda函数,代码如下:
from operator import itemgetter
sorted_d = dict(sorted(d.items(), key=itemgetter(1)))

17.Pretty print

파이썬에서 Print() 함수를 사용하면 가끔 출력이 보기 흉할 때도 있습니다. 이때 출력을 더 아름답게 만들기 위해 pprint를 사용합니다.
sorted_d = dict(sorted(d.items(), key=itemgetter(1), reverse=True))

출력은 다음과 같습니다.

from pprint import pprint
data = {
 "name": "john deo",
 "age": "22",
 "address": {"contry": "canada", "state": "an state of canada :)", "address": "street st.34 north 12"},
 "attr": {"verified": True, "emialaddress": True},
}
print(data)
pprint(data)

pprint 함수를 사용하면 사전 출력을 더 쉽게 읽을 수 있음을 알 수 있습니다.

위 내용은 공유할 수 있는 17가지 유용한 Python 팁!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제