개발일지/Python2 [Python] Call-by-value vs Call-by-reference c언어에서는 포인터를 통해 변수에 직접 접근하여 값을 변경할 수 있다. void swap(int *x1, int *x2) { int temp = *x1; *x1 = *x2; *x2 = temp; } int main(void) { int arr[2] = {0, 3}; swap(&arr[0], &arr[1]); return 0; } python은 명시적으로 call-by-reference와 call-by-value를 구분하지 않는다. 대신에, mutable한 객체와 immutable한 객체에 따라 동작이 달라진다. int, string과 같은 immutable한 객체는 call-by-value를, list와 같은 mutable한 객체는 call-by-reference 처럼 동작하게 된다. 따라서 위 swap.. 2023. 11. 16. [PyMongo] 기본 transaction 정리 [용어 정리] pymongo의 db는 RDBMS의 db와 동일하다. collection은 RDBMS의 table에 대응된다. document는 RDBMS의 row에 대응된다. 기본 transaction(insert, find, update, delete)을 사용하기 위해서 db와의 연결이 필요하다. 이 때 사용되는 것이 client 객체이다. 객체 생성에 필요한 인자들은 따로 정의되어 있으니 api 문서를 살펴보면 되겠다. import pymongo client = pymongo.MongoClient() client 객체를 생성했으면 원하는 db에 접속한다. 두 가지 방법이 있다. db = client.test_db db = client['test_db'] test_db라는 이름을 갖는 db가 있으면 변.. 2023. 1. 6. 이전 1 다음