Python/데이터 다루기

Python에서 생산성을 높이는 최고의 팁

찐남 2022. 7. 27. 00:56

Python은 아주 깔끔하게 코드를 작성하는 데

도움이 되는 많은 내장 함수를 제공합니다.

 

하지만, 일반적으로 코드의 품질과 가독성을

향상하기 위해 Python에서 사용되는

몇 가지 생산적인 팁을 잘 인식하지 못합니다.

 

이번 포스팅에서는 

Python의 특징을 활용하여

생산성을 높이는 최고의 팁에 대해서 알아보겠습니다.

 

자! 코드를 파이썬스럽게 작성해 보겠습니다.

 

 

List Comprehension 사용

기존 리스트에서 요소를 리스트에 추가하려는 경우

일반적인 방법은 리스트를 반복한 다음

새 리스트에 값을 추가하는 것입니다.

그러나 Python은 리스트 생성을 처리하고

값을 넣는 편리한 방법을 제공합니다.

 

구문이 더 짧기 때문에 더 깔끔해 보이고

리스트 내에서 단일 for 루프 유틸리티를 사용하여

복잡한 코드 블록을 제거할 수 있습니다.

 

Example:

# 기존 방식 

students = ['Sam', 'Billy', 'John', 'Lucas']
new_students = []

for student in students:
    new_students.append(student)

print(new_students)

 

# 파이썬스러움

students = ['Sam', 'Billy', 'John', 'Lucas']
new_students = [student for student in students]

print(new_students)

 

F-String을 사용하여 문자열 만들기

F-String은 문자열 보간을

더 간단하게 만들기 위해 Python에 도입되었습니다.

F-String은 많은 사람들이 문자열의 변수를 출력하는 데

사용하는 문자열 연결 및

문자열 변환을 방지하는 데 사용됩니다.

F-String이 %s 또는 .format() 메서드보다

형식 지정에서 더 나은 이유는

다른 메서드와 비교하여

(문자열이 증가하는 변수와 함께 매우 커질 때)

가독성과 단순성을 제공하기 때문입니다.

F-String을 생성하려면

문자열에 f를 추가하기만 하면 됩니다. 

 

Example:

# 기존 방식 

name = 'John Doe'
age = 21
gender = 'Male'
print("The name is " + name + " age: " + str(age) + " gender: " + gender)
#or
print("The name is %s age: %s gender: %s" % (name, age, gender))

 

# 파이썬스러움

name = 'John Doe'

age = 21
gender = 'Male'
print(f'The name is {name} age: {age} and gender:{gender}')

 

Enumerate Looping:

리스트를 반복하는 동안

인덱스와 값을 모두 추적하기 위해

일반적인 range() 함수가 사용됩니다.

그러나 Python에는 enumerate() 함수를 사용하여 

리스트를 반복하는 더 좋은 방법이 있습니다.

 

Example:

 

# 기존 방식

students = ['Sam', 'Billy', 'John', 'Lucas']

for i in range(len(students)):
    print(f'The index : {i}, Name: {students[i]}')

 

# 파이썬스러움

students = ['Sam', 'Billy', 'John', 'Lucas']

for index, student in enumerate(students):
    print(f'The index : {index}, Name: {student}')

 

Generators 사용

이것은 필요할 때만 데이터를 저장하고 반환하는

더 메모리 효율적인 방법입니다(지연 로딩).

큰 범위의 숫자를 합산하려는 경우

generator를 사용하는 것이 더 나은 방법입니다.

generator를 사용하려면 [] 대신

리스트 주위에 ()를 사용하시면 됩니다.

 

Example:

 

# 기존 방법

get_range_sum = [num for num in range(100000)]
print(sum(get_range_sum))

 

# 파이썬스러움

get_range_sum = (num for num in range(100000))
print(sum(get_range_sum))

 

이상 파이썬의 특징과 장점을 살린 방법으로

코드를 작성해 보았습니다.

 

 

반응형