개발 꿀팁/PYTHON

놓칠 수 없는 파이썬의 하이라이트 플레이법입니다

Jammie 2022. 12. 9. 12:35
반응형

색인과 슬라이스입니다
파이썬 목록의 인덱스와 슬라이스는 파이썬에서 목록의 임의의 요소를 가져올 수 있는 매우 강력한 기능입니다.일반적인 양성 인덱스를 지원하는 것 외에도 파이썬은 음성 인덱스와 슬라이스도 지원합니다.

올바른 색인입니다

a_list = [100, 200, 300, 400, 500, 600]
print(a_list[0]) # 출력 100입니다.
print(a_list[1]) # 200을 출력합니다.
print(a_list[2]) # 출력 300입니다

음의 색인입니다

a_list = [100, 200, 300, 400, 500, 600]
print(a_list[-1]) # 출력 600입니다.
print(a_list[-3]) # 400을 출력합니다

 

 

다음은 목록 슬라이스의 예입니다

a_list = [1, 2, 5, 10, 20, 30]

b_list = a_list[1:3] # 생성 [2, 5] 입니다.
c_list = a_list[4:] # 생성 [20, 30] 입니다.
d_list = a_list[-4::1] # 생성 [5, 10, 20] 입니다.
e_list = a_list[-1:] # 생성 [30] 입니다

문자열 정렬입니다
문자열 포맷은 명령줄 도구 개발에 매우 중요합니다. str 클래스에는 텍스트 정렬을 위한 기본 방법이 포함되어 있습니다. 왼쪽 정렬, 오른쪽 정렬 또는 중앙 정렬입니다

str.ljust (width [, fillchar]) # 왼쪽 정렬입니다.
str.rjust (width [, fillchar]) # 오른쪽 정렬합니다
str.center (width [, fillchar]) # 가운데 정렬합니다
digit_str.zfill(width) #을 "0"으로 채웁니다

다음은 몇 가지 예입니다

new_str = 'Help!'.center(10, '#') 
print(new_str)

이 예의 출력은 다음과 같습니다

##Help!###
new_str = '750'.rjust(6, '0') 
print(new_str)

 

이 예제의 출력은 다음과 같습니다

000750

위의 예는 단순한 문자열 포맷의 샘플일 뿐이며, '고차 Python: 코드 정밀도의 길'에는 더 복잡한 포맷 방법도 많이 소개되어 있습니다.

목록 도출식 & 사전 도출식입니다
파이썬 2.0 버전에 도입된 가장 중요한 기능 중 하나는 목록 도출입니다.목록에서 일련의 값을 생성하는 컴팩트한 구문을 제공합니다.사전, 집합(set) 및 기타 유형의 집합에도 적용할 수 있습니다.

a_list에 있는 각 요소의 제곱을 포함하는 새로운 목록을 만든다고 가정하면 다음과 같이 구현될 수 있습니다

   b_list = [ ] 
    for i in a_list: 
        b_list.append(i * i)

a_list에 요소 [1, 2, 3]가 포함되어 있는 경우 이러한 문장의 결과는 [1, 4, 9]를 포함하는 새 목록을 만들고 이 목록을 변수 b_list에 할당하는 것입니다.이 경우 해당 목록 도출식은 다음과 같습니다

   b_list = [i * i   for i in a_list]

메타그룹 목록이 사전으로 변환된다고 가정하면, 메타그룹 목록은 다음과 같습니다

   vals_list = [ ('pi', 3.14), ('phi', 1.618) ]

키 값 표현(i[0]:i[1])의 콜론(:) 사용에 주의하십시오.

가변 길이 인자 목록입니다
파이썬의 가장 일반적인 기능 중 하나는 가변 길이 매개변수 목록에 액세스할 수 있다는 것입니다.이 기능을 사용하면 내장된 print 함수와 같이 모든 수의 매개변수를 처리할 수 있습니다.가변 길이 매개변수의 특성은 명명된 매개변수로 확장될 수도 있습니다

   def func_name([ordinary_args,] *args): 
        statements

여기서 중괄호는 *args 앞에 임의의 수의 일반 매개변수가 있을 수 있음을 나타내며 여기서는 ordinary_args로 표시됩니다.이러한 매개변수는 선택 사항입니다.다음은 예시 코드입니다

   def my_var_func(*args): 
        print('The number of args is', len(args)) 
        for item in args: 
            print(items)

이 함수 my_var_func는 임의의 길이의 매개변수 목록을 수용할 수 있습니다

  >>> my_var_func(10, 20, 30, 40) 
    The number of args is 4 
    10 
    20 
    30 
    40

가변 길이 매개변수 목록은 다음과 같이 키워드 매개변수도 지원합니다

 def pr_named_vals(**kwargs): 
        for k in kwargs: 
            print(k, ':', kwargs[k])

위의 함수는 kwargs가 나타내는 사전 매개변수를 통과하고 들어오는 매개변수의 키( 매개변수 이름에 해당)와 해당 값을 인쇄합니다

   For example: 
    >>> pr_named_vals(a=10, b=20, c=30) 
    a : 10 
    b : 20 
    c : 30

args와 kwargs를 조합하여 사용할 수 있는데, 다음은 하나의 예입니다

def pr_vals_2(*args, **kwargs): 
        for i in args: 
            print(i) 
        for k in kwargs: 
            print(k, ':', kwargs[k]) 
 
    pr_vals_2(1, 2, 3, -4, a=100, b=200)

실행 시, 이 프로그램은 다음 내용을 출력합니다

  1 
  2 
  3 
  -4 
  a : 100 
  b : 200

numpy를 사용하여 선형 대수 연산을 수행합니다
선형 대수 연산은 딥 러닝에서 매우 중요하며 numpy 라이브러리는 파이썬에 효율적인 선형 대수 연산 모듈을 제공합니다.

numpy의 선형 대수 모듈은 매우 완벽하며 점적 계산을 예로 들어 소개합니다.

numpy를 사용할 때 점적 함수 dot를 사용하여 점적을 계산할 수 있습니다

numpy.dot(A, B, out=None)

A와 B는 점적 연산을 수행하는 두 개의 배열이고, out 매개변수(지정된 경우)는 결과를 저장하는 데 사용되는 올바른 배열이며, '올바른 모양'은 A와 B의 모양에 따라 다릅니다.

두 개의 1차원 배열의 점적은 매우 간단합니다.배열의 길이는 같아야 합니다.점적 계산은 A의 각 요소와 B의 해당 요소를 곱한 다음 이러한 곱을 합산하여 스칼라 값을 얻는 것입니다

D. P. = A[0]*B[0] + A[1]*B[1] + ... + A[N-1] * B[N-1]

예:

import numpy as np  
A = np.ones(5)  
B = np.arange(5)  
print(A, B)  
[1. 1. 1. 1. 1.] [0 1 2 3 4]  
np.dot(A, A)  
5.0  
np.dot(A, B)  
10.0  
np.dot(B, B)  
30

2차원 행렬 사이의 점적은 비교적 복잡합니다.배열 간의 일반적인 곱셈과 마찬가지로 두 배열의 모양은 호환되어야 하지만 이는 차원 중 하나에서 동일하기만 하면 됩니다.

다음은 2D 배열에 대한 점적 적용을 설명하는 일반적인 모드입니다

(A, B) * (B, C) => (A, C)

아래의 2×3 배열에 대해 생각하고 3×2 배열과 결합하면 그 점적은 2×2 배열입니다

A = np.arange(6).reshape(2,3)  
B = np.arange(6).reshape(3,2)  
C = np.dot(A, B)  
print(A, B, sep='\n\n')  
print('\nDot product:\n', C)
[[0 1 2]  
[3 4 5]]
 
[[0 1]  
[2 3]  
[4 5]]
 
Dot product:  
[[10 13]   
[28 40]]

 

반응형