반응형

프로그래밍 10

[python] np.transpose (python ,c)

np.transpose(arr, *axes) arr.transpose(*axes) np.transpose(Numpy v1.19 Manual)에 대한 정의는 다음과 같다. Reverse or permute the axes of an array; returns the modified array. For an array a with two axes, transpose(a) gives the matrix transpose. 해석해보면, 배열(array)의 축을 뒤집거나 변경하십시오; 수정된 배열을 반환합니다. 축이 두 개인 배열 a의 경우, Transpose(a)는 행렬 전치를 제공합니다. Parameters : a : array_like Input array. axes : tuple or list of int..

전역변수와 지역변수에 static 활용하기

먼저 전역변수와 지역변수의 개념은 다음과 같다. 전역변수 : 프로그램이 시작할 때, 1회 초기화되고 프로그램 종료 시까지 메모리에 존재 지역변수 : 선언된 함수 내에서만 접근이 가능하며, 속해있는 함수가 반환되는 동시에 소멸 그렇다면, 지역 변수에 static을 활용하면 어떻게 될까? "지역변수에 static이 붙게 되면, 전역변수와 같이 활용할 수 있다." #include void test(void){ static int n = 0; int test = 1; n = n+1; test = test+1; printf("static data : %d, local : %d\n", n, test); } int main(void){ int i; for(i = 0; i

포인터 대상의 const 선언

포인터 변수가 참조하는 대상의 변경을 허용하지 않는 Const 선언하기🙃 #include int main(void){ int n = 30; const int *nptr = &n; *nptr = 1000; printf("에러코드입니다. %d", *nptr); return 0; } 결과는 에러이다. const 선언 포인터 변수는 "포인터 변수 nptr을 사용하여 저장된 값을 변경하는 것이 불가능하다." 그러나, 변수 값을 직접 변경하는 것은 허용된다. 즉, n의 값을 n = 9000으로 변경할 수 있다는 뜻이다. 또한, const 선언 변수는 변경시 오류가 발생한다. #include int main(void){ const double ratio = 55.33468; ratio = 2222.5567; prin..

Call by value vs Call by reference

Call by value와 Call by reference는 함수 호출방식을 의미합니다. 값을 전달하는 형태의 함수 호출 방식 : Call by value 주소 값을 전달하는 형태의 함수 호출 방식 : Call by reference 1. 값을 전달하는 형태의 함수 호출 방식 : Call by value(값) 함수를 호출할 때 인자로 전해지는 변수에 값을 전달하는 방식을 Call by value(값)라고 한다. 일반적인 변수를 이용한 함수에서 사용되며 값을 복사해서 전달하기 때문에 원래의 변수(main부분)에 영향을 주지 않는다. #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; printf("a, b : %d, %d\n", a..

c언어 기본 자료형의 종류와 데이터의 표현 범위

c언어는 다양한 자료형을 가지고 있으며, 종류와 특징은 다음과 같다. 😉😉😉 자료형 크기 값의 표현 범위 정수형 char 1바이트 -128 ~ 128 short 2바이트 -32,768이상 32,767이하 int 4바이트 -2,147,483,648 이상 2,147,483,648이하 long 4바이트 -2,147,483,648 이상 2,147,483,648이하 long long 8바이트 -9,223,372,036,854,775,808 이상 9,223,372,036,854,775,808 이하 실수형 float 4바이트 $\pm$ 3.4 x $10^{-37}$이상 $\pm$ 3.4 x $10^{38}$이하 double 8바이트 $\pm$ 1.7 x $10^{-307}$이상 $\pm$1.7 x $10^{+308}..

[python] 반복문(for문)과 내부기능

For문의 예제는 다음과 같으며, continue, break, pass, next의 기능에 대해서 소개하고자 한다. 1. 전형적인 For문 for 변수 in list 는 list의 원소를 하나씩 꺼내어 변수에 저장하는 것을 의미한다. test_list = [1, 2, 3, 4] for i in test_list: print(i) Result 1 2 3 4 2. 다양한 원소를 이용한 For문 1의 설명과 같이 원소를 꺼내는 것을 의미하며, 꺼내는 원소와 변수의 갯수를 동일하게 일치해주어야 한다. test_list = [(1,2), (3, 4), (5,6)] for i,j in test_list: print(i+j) Result 3 7 11 3. For문과 range list와 같이 쓰이는 경우가 많으며,..

[python] 파이썬 각 자리수 분리, 더하기

파이썬에서 각 자리숫자를 분리하는 방법은 여러가지가 있으며, 소개해드릴 방법은 문자열로 변환 후 분리하는 방법, 10으로 나누어서 수행하는 방법, map함수를 이용하여 자리수 별 더하는 방법이 있다. 1. 문자열로 변환 후, 분리하는 방법 변수 number = 123에 대하여, list 변수에 원소를 넣어본 결과 a = [] for i in str(number): a.append(i) ['1', '2', '3'] 이라는 결과를 얻을수 있다. 각각의 list 원소는 str의 값을 나타내며 int로 활용할 경우, 형변환 시켜주면 된다. 2. 10으로 나누어 자릿수 분리하기(10으로 나누기때문에, 1의 자리부터 분리) a = [] while(number!=0): a.append(number%10) x = x/..

[Python] Numpy Slicing

참고 자료 : [1] https://numpy.org/doc/stable/reference/arrays.indexing.html [2] https://datascienceschool.net/view-notebook/416d733c3a734565b69fd0c8dc959edb/ [3] https://076923.github.io/posts/Python-numpy-5/ Numpy Slicing Numpy란 수치해석용 Python 패키지로, 다차원의 행렬 자료구조인 ndarray를 지원하여 벡터와 행렬을 사용하는 계산에 주로 사용된다. numpy의 행렬 연산은 C로 구현된 내부 반복문을 사용하기 때문에, Python 반복문에 비해 속도가 빠르다. 행렬 인덱싱(Indexing)을 사용한 질의 기능을 이용하여 짧고..

[Python] 경로명 분리하기

참고 자료 [1] https://wikidocs.net/3717 디렉토리로 부터 파일명을 분리할 때 유용한 코드 입니다. filename = '/data/others/yun/shadow/image.png' 라는 경로가 있을 경우 1. os.path.basename(filename) - 파일명만 추출하게 된다.image.png 2. os.path.dirname(filename) - 디렉토리 경로 추출/data/others/yun/shadow 3. os.path.split(filename) - 경로와 파일명을 분리('/data/others/yun/shadow/', 'image.png') 4. os.path.splitdrive(filename) - 드라이브명과 나머지 분리(Ms windows의 경우)('', ..

반응형