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

Python

  1. Python에서 ==와 is 연산자의 차이점 완벽 정리

    Python에는 두 가지 비교 연산자가 있습니다: ==와 is. 이 둘은 비슷해 보이지만 완전히 다른 목적으로 사용되며, 이 차이를 이해하는 것은 버그 없는 코드를 작성하는 데 매우 중요합니다.== 연산자: 값의 동등성 비교== 연산자는 두 피연산자의 값(value)이 서로 같은지를 비교합니다. 즉, 두 객체가 메모리상에서 다른 위치에 있더라도 내용이 동일하다면 True를 반환합니다.is 연산자: 객체의 동일성(정체성) 비교is 연산자는 두 피연산자가 완전히 동일한 객체, 즉 메모리에서 같은 주소를 가리키는지를 확인합니다. Pyth

  2. Python과 Bash의 차이점: 7가지 핵심 비교로 보는 완벽 가이드

    개발자라면 누구나 Python과 Bash를 자주 접하게 됩니다. 두 도구 모두 자동화와 시스템 작업에 널리 활용되지만, 그 성격과 용도는 전혀 다릅니다. 이 글에서는 두 기술의 기본 개념부터 실무에서 어떤 상황에 무엇을 선택해야 하는지까지 7가지 핵심 차이점을 표로 정리해 살펴보겠습니다.Python이란?Python은 구현이 간단하고 이해하기 쉽도록 설계된 프로그래밍 언어입니다. 동적 타이핑(dynamic typing) 방식을 채택하고 있어 변수 타입을 미리 선언할 필요가 없으며, 포인터 개념이 없어 복잡한 메모리 관리 없이도 로직

  3. Veil 프레임워크로 백신 탐지 우회하기 – 침투 테스트용 FUD 페이로드 생성 가이드

    이 글에서는 침투 테스트(penetration testing) 과정에서 사용하도록 설계된 도구 모음인 Veil 프레임워크를 활용해 백신(안티바이러스) 탐지를 우회하는 방법을 단계별로 소개합니다. Veil은 현재 다음과 같은 핵심 모듈들로 구성되어 있습니다.Veil-Evasion − 다양한 기법과 프로그래밍 언어를 활용해 백신 회피형 페이로드를 생성하는 도구Veil-Catapult − Veil-Evasion과 통합된 psexec 방식의 페이로드 전달(delivery) 시스템Veil-PowerView −

  4. Python unittest 모듈로 배우는 단위 테스트 완벽 가이드

    이 튜토리얼에서는 파이썬에 기본 내장된 unittest 모듈을 활용한 단위 테스트(Unit Testing) 방법을 알아봅니다. 테스팅은 소프트웨어 개발에서 매우 중요한 역할을 합니다. 코드를 실제 서비스 환경에 배포하기 전에 잠재적인 문제를 미리 발견하고 수정할 수 있게 해주기 때문입니다.지금부터 파이썬 내장 모듈인 unittest를 사용해 테스트의 기본기를 차근차근 익혀보겠습니다.단위 테스트란 무엇인가?로그인 시스템을 예로 들어 보겠습니다. 로그인 폼을 구성하는 각 입력 필드(아이디, 비밀번호 등)가 하나의 단위(unit), 즉

  5. Python try-except로 예외 처리하기: 에러 핸들링 완벽 가이드

    이 튜토리얼에서는 Python의 try와 except에 대해 알아보겠습니다. Python에는 오류 및 예외 처리(error and exception handling)라는 개념이 있으며, 이때 try와 except 키워드가 사용됩니다.Python의 두 가지 오류 유형Python에서는 기본적으로 두 가지 유형의 오류를 만나게 됩니다.구문 오류(Syntax errors) — Python이 프로그램 내 코드 라인을 이해하지 못할 때 발생하는 오류입니다.예외 오류(Exception errors) — 프로그램 실행 중(런타임)에 감지되는 오류

  6. 파이썬 vs 루비: 공통점과 주요 차이점 완벽 비교

    파이썬(Python)과 루비(Ruby)는 여러 면에서 비슷하면서도 뚜렷한 차이를 보이는 프로그래밍 언어입니다. 이 글에서는 두 언어의 공통점과 차이점을 체계적으로 살펴보고, 어떤 상황에서 어떤 언어가 더 적합한지 알아보겠습니다. 파이썬(Python)이란? 파이썬은 인터프리터 방식으로 동작하는 강력하고 생산성 높은 고급 객체지향 프로그래밍 언어입니다. 문법이 간결하고 직관적이어서 배우기 쉬우며, 프로그래밍을 처음 접하는 초보자도 부담 없이 시작할 수 있는 것이 큰 장점입니다. 루비(Ruby)란? 루비는 동적 타이핑을 지원하는 고급

  7. 파이썬(Python)의 장점과 다양한 활용 분야 완벽 정리

    파이썬(Python)은 인터프리터 방식의 고급 객체지향 프로그래밍 언어로, 귀도 반 로섬(Guido van Rossum)이 개발했습니다. 문법이 간결하고 직관적이어서 프로그래밍을 처음 배우는 사람도 쉽게 시작할 수 있는 언어로 꼽힙니다.이번 글에서는 파이썬의 주요 장점과 실무에서 활용되는 다양한 응용 분야를 살펴보겠습니다.파이썬의 주요 장점초보자에게 친화적인 문법완전한 입문자도 파이썬으로 바로 프로그래밍을 시작할 수 있을 만큼 문법이 단순하고 가독성이 뛰어납니다.다양한 프로그래밍 패러다임 지원객체지향 프로그래밍뿐만 아니라 함수형 프

  8. 파이썬에서 실행 중인 스크립트 이름을 출력하는 방법

    이 튜토리얼에서는 현재 실행 중인 파이썬 스크립트 파일의 이름을 출력하는 프로그램을 작성해 보겠습니다. 스크립트 이름은 sys 모듈을 사용하면 간단하게 확인할 수 있습니다.sys 모듈은 python 명령어로 전달된 모든 커맨드 라인 인자를 sys.argv라는 리스트에 저장합니다. 이 리스트의 첫 번째 요소가 바로 스크립트 이름입니다. 따라서 리스트에서 해당 값을 추출하기만 하면 되는데, 파이썬은 이 과정을 아주 쉽게 만들어 줍니다.프로그램 작성 순서는 다음과 같습니다.sys 모듈을 임포트합니다.sys.argv 리스트의 첫 번째 요소

  9. Python 코딩 스타일 가이드: PEP 8 핵심 규칙 총정리

    이 글에서는 Python 프로젝트에서 반드시 지켜야 할 표준 코딩 스타일 가이드에 대해 알아봅니다. 프로그래밍 언어의 표준 스타일 가이드를 따르면 팀원 모두가 같은 기준으로 코드를 작성할 수 있고, 코드가 훨씬 전문적으로 보입니다.Python에서는 대부분의 개발자가 PEP 8 스타일 가이드를 따릅니다. PEP 8을 준수하면 코드가 깔끔해지고 가독성이 크게 향상됩니다. 전체 가이드는 PEP 8 공식 문서에서 확인할 수 있으며, 이 글에서는 그중 핵심적인 내용만 엄선하여 소개합니다.들여쓰기에는 탭 사용하기코드 들여쓰기에 탭(tab)을

  10. 파이썬 딕셔너리 컴프리헨션 완벽 가이드

    이 튜토리얼에서는 파이썬에서 딕셔너리 컴프리헨션(Dictionary Comprehension)을 사용하는 방법을 알아봅니다. 이미 리스트 컴프리헨션에 익숙하다면 딕셔너리 컴프리헨션도 금방 익힐 수 있습니다.딕셔너리 컴프리헨션의 기본 문법딕셔너리를 만들려면 키(key): 값(value) 쌍이 필요합니다. 그렇다면 딕셔너리 컴프리헨션으로 이 키-값 쌍을 어떻게 생성할 수 있을까요? 다음은 딕셔너리 컴프리헨션의 일반적인 형태입니다.{key: value for ___ in iterable}위 구문의 빈칸을 채워서 딕셔너리 컴프리헨션을 완성

  11. 파이썬 클래스의 비공개 변수(Private Variables) 완벽 가이드

    이 튜토리얼에서는 파이썬 클래스(class)의 비공개 변수(private variables)에 대해 자세히 살펴보겠습니다.파이썬에는 진짜 비공개 변수가 없습니다C++나 Java 같은 언어와 달리, 파이썬에는 엄격한 의미의 비공개 변수 개념이 존재하지 않습니다. 대신 대부분의 파이썬 개발자는 네이밍 컨벤션(naming convention)을 활용해 이 변수는 공개용이 아니라 내부 전용이라는 사실을 표시합니다.그 방법이 바로 변수 이름 앞에 더블 언더스코어(double underscore, __)를 붙이는 것입니다. 예를 들어 __on

  12. Python 로그 함수 완벽 정리: math 모듈로 배우는 log, log2, log10, log1p

    이 튜토리얼에서는 Python math 모듈이 제공하는 로그(logarithm) 함수를 자세히 알아봅니다. math 모듈은 총 네 가지 형태의 로그 함수를 제공하며, 각각 용도와 특징이 조금씩 다릅니다. 로그는 수학 계산뿐 아니라 데이터 분석, 머신러닝, 알고리즘 설계 등 다양한 분야에서 자주 사용되는 핵심 개념이니, 하나씩 차례대로 살펴보겠습니다. 1. math.log(number, [Base]) — 밑을 직접 지정하는 로그 math.log(number, [Base]) 메서드는 임의의 밑(Base)을 가지는 로그를 계산할 때 사

  13. 파이썬 람다 표현식으로 리스트의 양수와 음수 재정렬하기

    이 튜토리얼에서는 람다(lambda)를 사용한 익명 함수를 작성하여 리스트 안의 양수와 음수를 재정렬하는 방법을 알아봅니다. 목표는 리스트에서 음수를 먼저 추출한 뒤 양수를 이어 붙여 새로운 리스트를 만드는 것입니다.알고리즘문제를 단계별로 해결하는 과정을 살펴보겠습니다.1. 음수와 양수가 섞여 있는 리스트를 초기화합니다. 2. 리스트를 인자로 받는 람다 표현식을 작성합니다. 2.1. 리스트를 순회하며 음수를 추출합니다. 2.2. 같은 방식으로 양수를 추출합니다. 2.3. 연결 연산자(+)로 두 결과를 하나로 합칩니다

  14. Python으로 소수 판별하기: 효율적인 3가지 방법 완벽 정리

    이번 튜토리얼에서는 주어진 숫자가 소수(prime number)인지 아닌지를 판별하는 다양한 방법을 살펴봅니다. 각 방법의 코드와 실행 결과를 함께 확인하며, 성능을 점차 개선해 나가는 과정을 이해해 보겠습니다.방법 1: 기본적인 반복문 활용가장 일반적이고 직관적인 소수 판별 방법입니다. 로직은 다음과 같습니다.숫자가 1보다 작거나 같으면 False를 반환합니다.2부터 n-1까지의 숫자 중 하나라도 나누어 떨어지면 False를 반환합니다.반복문이 끝날 때까지 약수가 발견되지 않으면 True를 반환합니다.예제 코드# 소수 판별 함수

  15. Python으로 체감온도 지수(Wind Chill Index) 계산하는 방법

    이 튜토리얼에서는 Python을 사용하여 체감온도 지수(Wind Chill Index, WCI)를 계산하는 방법을 알아봅니다. WCI는 실제 기온과 풍속을 바탕으로 사람이 실제로 느끼는 체감 온도를 수치화한 것으로, 겨울철 날씨 정보에서 자주 접하는 개념입니다.체감온도 지수 계산 공식WCI는 아래 공식을 사용하여 계산하며, 구조가 비교적 간단합니다.Twc(WCI) = 13.12 + 0.6215Ta − 11.37v0.16 + 0.3965Tav0.16각 변수의 의미는 다음과 같습니다.Twc : 체감온도 지수 (섭씨 온도 기준)Ta :

  16. 파이썬(Python)으로 풀어보는 최소 경로 합계(Minimum Path Sum) 알고리즘

    문제 소개m x n 크기의 행렬이 음수가 아닌 정수들로 채워져 있다고 가정해 보겠습니다. 이때 왼쪽 상단 모서리에서 오른쪽 하단 모서리까지 이동하는 경로 중, 경로 위에 있는 모든 숫자의 합을 최소화하는 경로를 찾아야 합니다. 단, 이동은 언제나 아래 또는 오른쪽 방향으로만 가능하다는 제약 조건이 있습니다.예를 들어 다음과 같은 행렬이 주어졌다고 가정해 봅시다.131151421위 행렬의 경우 출력값은 7이 됩니다. 최적 경로는 1 → 3 → 1 → 1 → 1 순서로 진행되며, 이 경로가 가능한 모든 경로 중 가장 작은 합을 만듭니다

  17. 파이썬(Python)으로 회전 정렬된 배열 II에서 검색 구현하기

    문제 설명오름차순으로 정렬된 배열이 있고, 이 배열이 미리 알 수 없는 임의의 피벗(pivot) 지점을 기준으로 회전되어 있다고 가정해 봅시다. 예를 들어 [0,0,1,2,2,5,6]과 같은 배열은 회전 과정을 거쳐 [2,5,6,0,0,1,2]처럼 변형될 수 있습니다.이때 찾고자 하는 목표값(target)이 주어지면, 해당 값이 배열 안에 존재하면 true를, 존재하지 않으면 false를 반환해야 합니다. 예를 들어 배열이 [2,5,6,0,0,1,2]이고 목표값이 0이라면 결과는 True가 됩니다.알고리즘 접근 방식이 문제는 수정된

  18. 파이썬(Python)으로 푸는 둘러싸인 영역(Surrounded Regions) 문제 – DFS 활용 풀이

    문제 정의 2차원 보드(board)에 두 종류의 문자 X와 O가 있다고 가정해 보겠습니다. 이때 X로 완전히 둘러싸인(surrounded) 모든 영역을 찾아 포획(capture)하는 것이 목표입니다. 여기서 포획이란 해당 영역 내부의 모든 O를 X로 바꾸는 작업을 의미합니다. 단, 한 가지 중요한 규칙이 있습니다. 보드의 테두리(가장자리)와 맞닿아 있는 O는 사방이 X로 둘러싸여 있지 않기 때문에 포획 대상에서 제외되며, 그대로 O로 남아 있어야 합니다. 예시 입력 XXXXXOOXXXOXXOXX 위 보드를 알고리즘으로 처리하면

  19. 파이썬으로 정렬된 행렬에서 K번째로 작은 요소 찾는 방법

    n×n 크기의 행렬이 있고, 각 행과 각 열이 모두 오름차순으로 정렬되어 있다고 가정해 봅시다. 이때 이 행렬에서 k번째로 작은 요소를 찾아야 합니다. 주의할 점은 여기서 말하는 k번째가 정렬된 순서 기준이라는 것이며, 중복을 제거한 후의 k번째 고유 값이 아니라는 점입니다.예를 들어 입력이 [[1,5,9],[10,11,13],[12,13,15]]이고 k = 8이라면, 전체 요소를 정렬했을 때 8번째 위치에 있는 값인 13이 출력됩니다.문제 해결 접근 방식이 문제는 이진 탐색(Binary Search)과 행렬 탐색을 결합하여 효율적

  20. 파이썬으로 디코딩된 문자열에서 K번째 문자 찾기

    인코딩된 문자열 S가 하나 주어져 있다고 가정해 보겠습니다. 이 문자열을 한 번에 한 글자씩 읽으면서 다음 규칙에 따라 디코딩된 문자열을 테이프에 기록해야 합니다. 읽은 문자가 영문자라면 해당 문자를 그대로 테이프에 씁니다. 읽은 문자가 숫자 d라면 지금까지 테이프에 기록된 전체 내용을 정확히 d − 1번 더 반복해서 이어 씁니다. 이제 인코딩된 문자열 S와 인덱스 K가 주어졌을 때, 디코딩된 문자열에서 K번째(인덱스는 1부터 시작) 문자를 찾아 반환하는 것이 문제의 목표입니다. 예를 들어 문자열이 hello2World3이고 k

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:138/450  20-컴퓨터/Page Goto:1 132 133 134 135 136 137 138 139 140 141 142 143 144