Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python

  1. 파이썬에 객체 검사기(Object Inspector)가 있을까?

    파이썬에는 하나의 객체를 통합적으로 들여다보는 단일한 내장 함수나 표준 객체 검사기는 존재하지 않습니다. 대신 여러 내장 함수와 표준 라이브러리 모듈을 조합하면, 검사 대상 객체의 속성(attribute), 프로퍼티(property), 메서드(method)를 충분히 파악할 수 있습니다.대표적인 객체 검사 도구가장 널리 쓰이는 도구는 다음과 같습니다.type() — 객체의 자료형(클래스)을 확인합니다.dir() — 객체가 가진 속성과 메서드 이름 목록을 반환합니다.vars() — 객체의 __dict__를 반환해 저장된 속성을 딕셔너리

  2. 가비지 컬렉터가 모든 Python 객체를 추적할 수 있다고 생각하시나요?

    파이썬은 가비지를 어떻게 처리할까?Python은 불필요한 객체(가비지)를 정리하기 위해 두 가지 기법을 사용합니다.첫 번째는 참조 카운팅(reference counting)입니다. 이 방식은 모든 객체에 적용되지만, 서로 직접 혹은 간접적으로 참조하는 객체들, 즉 순환 참조(circular reference)는 해제하지 못하는 근본적인 한계가 있습니다.바로 이 지점에서 실질적인 가비지 컬렉터가 역할을 합니다. 파이썬에는 gc 모듈이 내장되어 있으며, 이 모듈은 자신이 추적하고 있는 객체들을 대상으로 순환 참조를 탐색해 제거합니다.순

  3. XML 파일을 기반으로 Python 객체를 만드는 방법

    Untangle 라이브러리 소개Python에서는 untangle 라이브러리를 사용하여 XML 파일을 기반으로 객체를 만들 수 있습니다.untangle은 매우 간단한 라이브러리로, XML 문서를 입력받아 그 구조의 노드(node)와 속성(attribute)을 그대로 반영하는 Python 객체를 반환합니다. 덕분에 별도의 복잡한 설정 없이도 XML 데이터를 직관적인 객체 형태로 다룰 수 있습니다.예제 XML 파일예를 들어 다음과 같은 XML 파일이 있다고 가정해 보겠습니다.<?xml version=1.0?> <root&

  4. 파이썬 객체는 언제 가비지 컬렉션 대상이 될까?

    파이썬에서 객체나 변수는 해당 객체에 대한 모든 참조가 사라지는 순간 가비지 컬렉션(garbage collection) 대상이 됩니다. 참조가 사라지는 경우는 크게 두 가지입니다.객체를 참조하던 변수가 스코프(scope)를 벗어날 때del x처럼 참조를 명시적으로 삭제할 때다만, 객체가 실제로 메모리에서 회수되려면 프로그램 어디에서도 그 객체를 참조하는 곳이 더 이상 없어야 한다는 점에 유의해야 합니다.참조 카운팅(Reference Counting) 방식CPython은 참조 카운팅을 기본 메모리 관리 메커니즘으로 사용합니다. 각 객

  5. Python3 루프가 작동하지 않는 이유? 사실은 정상 작동 중입니다

    Python3 루프가 멈춘 것처럼 보이는 이유결론부터 말씀드리면, 코드는 실제로 정상적으로 작동하고 있습니다. 다만 실행 중 화면에 아무런 변화가 없어서 멈춘 것처럼 보일 뿐입니다.원인: 루프 안의 sleep() 메서드루프 내부에서 sleep() 메서드를 사용하셨기 때문에, 각 반복마다 0.9초씩 대기하게 됩니다. 총 36번 반복된다면 0.9 × 36 = 약 32.4초 동안 프로그램은 아무런 활동 없이 대기 상태에 머무릅니다.이 대기 시간 동안에는 다음과 같은 현상이 나타납니다.화면에 새로운 출력이 표시되지 않습니다.프로그램이 사용

  6. Python 튜플(Tuple)의 요소 값을 업데이트하는 방법

    Python에서 튜플(tuple)은 불변(immutable) 객체입니다. 따라서 한 번 생성된 튜플은 요소를 직접 수정하거나 업데이트하는 작업이 허용되지 않습니다. 하지만 몇 가지 우회 방법을 사용하면 사실상 요소 값을 업데이트한 것과 동일한 결과를 얻을 수 있습니다.list()와 tuple() 함수를 활용한 변환 방법가장 일반적인 방법은 내장 함수 list()를 사용해 튜플을 리스트로 변환하는 것입니다. 리스트는 가변(mutable) 객체이므로 특정 인덱스에 새로운 값을 할당하여 자유롭게 항목을 수정할 수 있습니다. 수정이 완료되

  7. 파이썬 리스트 요소 값을 업데이트하는 방법

    파이썬(Python)의 리스트(list) 객체는 변경 가능(mutable)합니다. 따라서 한 번 생성된 이후에도 얼마든지 내용을 수정할 수 있으며, 이는 불변(immutable) 객체인 튜플(tuple)과의 중요한 차이점 중 하나입니다.인덱스로 단일 요소 업데이트하기리스트의 특정 항목을 수정하려면 대괄호([]) 안에 인덱스를 지정하여 해당 요소에 접근한 뒤 새로운 값을 할당하면 됩니다. 예를 들어, 5번째 항목(인덱스는 0부터 계산하므로 4)을 기존 값의 두 배로 바꾸고 싶다면 다음과 같이 작성합니다.>>> L1 [

  8. Python 딕셔너리 키 값 업데이트하는 방법 총정리

    Python 딕셔너리란?Python의 딕셔너리(dictionary) 객체는 키(key)와 값(value)이 한 쌍을 이루는 순서가 없는 컬렉션입니다. 딕셔너리 객체 d에서 특정 키에 연결된 값은 d[k] 형태로 간단하게 조회할 수 있습니다.>>> d={one:1, two:2,three:3,four:4} >>> d[two] 2키 값을 업데이트하는 기본 방법딕셔너리의 값을 수정하거나 새로 추가하는 가장 기본적인 방법은 할당문 d[k]=v를 사용하는 것입니다. 이 방식은 두 가지 경우로 동작합니다.기존 키

  9. 내 스크립트를 실행 중인 Python 버전을 확인하는 방법

    명령줄에서 Python 인터프리터 시작 시 버전 확인가장 간단한 방법은 명령줄(터미널)에서 python 명령어를 입력해 인터프리터를 시작하는 것입니다. 인터프리터가 구동되면 콘솔 화면에 즉시 현재 사용 중인 Python 버전 정보가 표시됩니다.C:\Users\acer>python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type help, copyright, credits or license for more

  10. 파이썬에서 리스트가 비어 있는지 확인하는 가장 좋은 방법

    파이썬에서 리스트가 비어 있는지 확인하는 가장 좋은 방법 파이썬으로 개발하다 보면 리스트가 비어 있는지 확인해야 하는 상황이 매우 자주 발생합니다. 가장 권장되는 방법은 리스트 객체에 not 연산자를 사용하는 것입니다. 리스트가 비어 있으면 True를 반환하고, 요소가 하나라도 있으면 False를 반환합니다. >>> L1 = [] >>> not L1 True >>> L1 = [1, 2] >>> not L1 False 이 방식이 좋은 이유는 파이썬의 공식 스타일 가이드인

  11. 파이썬에서 문자열로 표현된 딕셔너리를 다시 딕셔너리 객체로 변환하는 방법

    딕셔너리를 문자열로 변환하기파이썬에서는 내장 함수 str()을 사용하면 딕셔너리 객체를 아주 간단하게 문자열로 변환할 수 있습니다.>>> D1 = {1: 1, 2: 2, 3: 3}>>> D1{1: 1, 2: 2, 3: 3}>>> str(D1){1: 1, 2: 2, 3: 3}반대로 문자열을 다시 딕셔너리로 변환하려면, 먼저 해당 문자열이 유효한 딕셔너리 표현을 담고 있는지 확인해야 합니다. 대표적인 방법 두 가지를 소개합니다.방법 1: eval() 함수 사용eval() 함수는 문자열을

  12. Python에서 두 리스트를 병렬로 반복하는 방법

    Python에서 두 리스트를 병렬로 순회하기두 리스트의 길이가 서로 다를 수 있다면, 공통 인덱스 범위만큼 병렬로 순회하는 방법 중 하나는 min()으로 구한 최소 길이만큼 range()를 사용해 for 루프를 도는 것입니다.>>> L1 [a, b, c, d] >>> L2 [4, 5, 6] >>> l = len(L1) if len(L1) <= len(L2) else len(L2) >>> l 3 >>> for i in range(l): pri

  13. Python에서 dict.items()와 dict.iteritems()의 차이점은 무엇일까?

    파이썬에서 딕셔너리의 키와 값을 순회할 때 사용하는 items()와 iteritems() 메서드는 버전에 따라 동작 방식과 지원 여부가 다릅니다. 이 글에서는 두 메서드의 차이점을 파이썬 2.x와 3.x 기준으로 명확하게 정리해 드립니다. Python 2.x에서의 차이점 Python 2.x에서는 두 메서드를 모두 사용할 수 있지만, 내부적으로 동작하는 방식이 서로 다릅니다. dict.items() items() 메서드는 딕셔너리 객체의 모든 키-값 쌍을 리스트(list) 형태로 반환합니다. 반환되는 리스트의 각 요소는 키와 값으로

  14. 파이썬 튜플을 문자열로 변환하는 방법

    파이썬 튜플을 문자열로 변환하기파이썬에서 여러 개의 문자열 객체로 이루어진 튜플을 하나의 문자열로 합치려면 join() 함수를 사용하면 됩니다. 이때 주의할 점은, 결합 결과를 저장할 대상 문자열이 빈 문자열()로 초기화되어 있어야 한다는 것입니다.기본 사용 예제>>> T1 = 1, 2, 3 >>> s = .join(T1) >>> s 123위 예제에서는 빈 문자열 를 구분자(separator)로 사용하여 튜플의 각 요소를 그대로 이어 붙였습니다. 실행 결과로 123이라는 하나의 문자열

  15. 파이썬에서 리스트를 복사하는 다양한 방법 완벽 정리

    파이썬에서 리스트를 복사하는 방법 파이썬에서 대입 연산자(=)는 새로운 객체를 생성하지 않습니다. 단순히 기존 객체에 또 다른 이름을 붙여줄 뿐인데요. 이는 id() 함수를 통해 확인할 수 있습니다. >>> L1 = [1,2,3,4] >>> L2 = L1 >>> id(L1) 185117137928 >>> id(L2) 185117137928 L1과 L2의 id 값이 동일한 것을 볼 수 있습니다. 즉, 두 변수는 같은 객체를 참조하고 있으므로 한쪽을 수정하면 다른 쪽도

  16. Python에서 얕은 중첩 리스트를 평면화하는 방법

    Python에서 얕은 목록을 평면화하는 방법 Python으로 작업하다 보면 [[10, 20], [30, 40]]처럼 리스트 안에 리스트가 들어 있는 형태의 중첩 리스트(nested list)를 하나의 평평한 리스트로 만들어야 하는 경우가 자주 있습니다. 이런 작업을 리스트 평면화(flattening)라고 부르며, 대표적인 두 가지 방법을 소개합니다. 1. 중첩 for 루프 사용하기 가장 단순하고 직관적인 방법은 두 개의 중첩된 for 루프를 사용해 하위 리스트의 요소들을 하나씩 새로운 평면 리스트에 추가하는 것입니다. lst =

  17. 파이썬 CGI 프로그래밍 완벽 가이드: 웹 서버에서 파이썬 스크립트 실행하기

    CGI 프로그래밍이란?CGI(Common Gateway Interface, 공용 게이트웨이 인터페이스)는 웹 서버와 사용자 정의 스크립트 사이에서 정보가 어떻게 교환되는지를 정의하는 표준 규격입니다. 브라우저가 웹 서버에 요청을 보내면, 서버는 이 요청을 CGI 스크립트로 전달하고, 스크립트가 생성한 결과를 다시 사용자에게 응답으로 돌려주는 구조로 동작합니다.파이썬 CGI 프로그래밍이란 바로 이러한 환경에서 파이썬 스크립트를 웹 상에서 실행하는 기술을 의미합니다. 즉, 단순히 로컬 컴퓨터에서 실행하던 파이썬 코드를 웹 서버를 통해

  18. Python CGI 프로그래밍의 핵심, cgi 모듈 완벽 정리

    Python CGI 프로그래밍의 출발점, cgi 모듈Python에서 CGI(Common Gateway Interface) 프로그램을 작성할 때는 일반적으로 cgi 모듈부터 시작합니다. 이 모듈의 핵심 역할은 HTML 폼(form)을 통해 CGI 프로그램에 전달된 값들을 추출하는 것입니다.사용자는 대부분 HTML 폼을 통해 CGI 애플리케이션과 상호작용합니다. 폼에 수행할 작업의 세부 내용을 입력한 뒤 제출하면, CGI 프로그램이 그 명세에 따라 동작을 실행하는 구조입니다.HTML 폼에서 사용할 수 있는 입력 요소하나의 HTML 폼에

  19. 파이썬 CGI 프로그래밍으로 첫 번째 Hello World 프로그램 작성하는 방법

    첫 번째 CGI 프로그램 CGI(Common Gateway Interface)는 웹 서버가 외부 프로그램을 실행하고 그 결과를 웹 브라우저로 전달할 수 있도록 해주는 표준 인터페이스입니다. 파이썬으로 CGI 스크립트를 작성하면 동적인 웹 페이지를 손쉽게 만들 수 있습니다. 먼저 hello.py라는 이름의 CGI 스크립트를 /var/www/cgi-bin 디렉터리에 저장하고 아래와 같은 내용을 작성합니다. CGI 프로그램을 실행하기 전에 chmod 755 hello.py 유닉스 명령어로 파일 권한을 변경하여 실행 가능한 상태로 만들어야

  20. Python CGI 프로그래밍의 핵심, Content-type 헤더 완벽 정리

    Python CGI 프로그래밍의 핵심, Content-type 헤더란?hello.py처럼 간단한 파이썬 스크립트를 실행하면 실행 결과는 STDOUT(표준 출력), 즉 화면에 그대로 출력됩니다. 하지만 웹 서버 환경에서 동작하는 CGI(Common Gateway Interface) 프로그램을 작성할 때는 여기서 한 단계 더 나아가야 합니다.왜 Content-type이 필수일까?CGI 프로그램에서 가장 중요한 규칙 중 하나는, 본문 내용을 출력하기 전에 반드시 첫 줄에 다음 헤더를 출력해야 한다는 점입니다.Content-type: te

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:49/450  20-컴퓨터/Page Goto:1 43 44 45 46 47 48 49 50 51 52 53 54 55