프로그래밍 언어/Python

    [Python] None

    None값이 없음, 알 수 없음 정도의 의미를 가진다. 정수 0이나 빈 문자열 ""과는 다르다.score_100 = 100score_0 = 0score_none = Noneprint(score_none)// NoneNone과 NoneTypeNone은 NoneType 타입의 객체다print(type(None))//  int, str과 같은 일반적인 타입들과 다르게, NoneType은 빌트인에 존재하지 않는다.print(int)print(int)print(NoneType)// 결과Traceback (most recent call last): File "example.py", line 3, in print(NoneType)NameError: name 'NoneType' is not defined Py..

    [Python] 인덱싱과 슬라이싱 : 음수 인덱스

    문자열과 리스트는 Iterable (순회할 수 있는) 객체다. 문자열은 여러 개의 문자들을 모아 놓은 배열이고, 리스트는 다양한 값을 모아 놓은 배열이다. 이 두 자료형의 원소에는 위의 그림처럼 인덱스(순서)가 있다. 편의 상 왼쪽에서부터 오른쪽으로 향하는 방향을 정순(정방향), 오른쪽에서부터 왼쪽으로 향하는 방향을 역순(역방향)이라 하면 인덱스에는 대소 관계가 있는데 정순이라면 왼쪽의 인덱스일수록 작은 값입니다. 역순이라면 오른쪽의 인덱스일수록 작은 값이다. 파이썬에서 인덱싱과 슬라이싱을 잘 활용하시려면 인덱스의 대소 관계를 정확히 알아야 한다.인덱싱 (Indexing)과 슬라이싱(Slicing)인덱싱(Indexing)은 문자열이나 리스트와 같은 컬렉션 자료형에서 기준값으로 개별 원소에 접근하는 방법이..

    [Python] 문자열 뒤집는 3가지 방법

    Slice / 슬라이싱시작 인덱스 또는 끝 인덱스 또는 step을 넣지 않는다면, 전체를 뜻한다.num = [1,2,3,4,5]print(num[::]) # [1,2,3,4,5] / 전체print(num[2::] # [3,4,5] / index 2부터 끝# step의 의미 => 증가폭num = [1,2,3,4,5,6,7,8,9,10]num[1::2] # index 1번째부터 끝까지 2씩 증가하며 sliceprint(num[1::2]) # [2, 4, 6, 8, 10]-index는 끝 인덱스부터 차례대로 -1 -2 -3 ... 인덱스 값을 뜻하며 전체 길이를 알 수 없을때 용이나게 쓰인다.num = [1, 2, 3, 4, 5]num[-1] # 마지막 요소인 5print(num[-1]) # 5num[1:-1..

    [Python] swap, 두 개의 변수를 교환하는 방법

    변수a = 10b = 20# a와 b를 교환a, b = b, aprint(a, b)# 출력# 20 10 또 다른 방법으론 swap 함수def swap(a, b): temp = a a = b b = temp return a, b a = 10b = 20# a와 b를 교환swap(a, b)print(a, b)# 출력# 20 10 n개 이상도 가능하다a = 10b = 20c = 30a,b,c = c,b,aprint(a,b,c)# 출력# 30 20 10 리스트arr1 = [1,2,3]arr2 = [4,5,6]arr1 , arr2 = arr2, arr1print(arr1, arr2)# 출력# [4, 5, 6] [1, 2, 3]#요소 위치변경하기arr = [1,2,3,4]arr[0],arr[1] = arr[..

    [Python] 연산자

    연산자피연산자를 이용해 계산을 하는 기호산술 연산자 : +, -, *, /, %, //, **할당 연산자 : =, +=, -=, *=, /=, %=, //=비교 연산자 : >, >=, 논리 연산자 : and, or, not정수, 실수의 산술 연산에서는 기본적으로 범위가 큰 자료형으로 형변환된다.산술 연산자덧셈)정수, 실수 덧셈num1 = 9; num2 = 3result = num1 + num2print(f'result : {result}')fNum1 = 1.3; fNum2 = 3.14result = fNum1 + fNum2print(f'result : {result}')result = fNum1 + num1print(f'result : {result}')문자(열) 덧셈 : 각 문자를 연결(나열)str1 ..

    [Python] f-string (문자열 포메팅 방법 3)

    f-string의 모양은 f와 {}만 알면 된다. 문자열 맨 앞에 f를 붙여주고, 중괄호 안에 직접 변수 이름이나 출력하고 싶은것을 바로 넣으면 된다. f'문자열{변수} 문자열'# 문자열 맨 앞에 f를 붙이고, 출력할 변수, 값을 중괄호 안에 넣습니다.s = 'coffee'n = 5result1 = f'저는 {s}를 좋아합니다. 하루 {n}잔 마셔요.'print(result1)예제f-string과 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬py# f-string 왼쪽 정렬s1 = 'left'result1 = f'|{s1:10}|'print(result3) f-string에서 중괄호 출력 방법# f-string 중괄호 출력num = 10result = f'my age {{{num}}}, {{num}}'print..

    [Python] % 서식 기호 (문자열 포메딩 방법 2)

    % 서식문자의 모양은 % 기호 뒤에 자료형을 가리키는 문자가 온다.만약 정수를 출력한다고 하면 % + d = %dnum = 50s = 'my age %d' % numprint(s) 정수 뿐만 아니라 실수,%s = 문자열%d = 정수%f = 실수 아래도 있다%o = 8진수%x = 16진수%% = 문자 % 표현예제문자열, 정수, 실수를 %로 포메팅# % 기호 문자 출력names = ['kim', 'park', 'lee']for name in names: print('my name is %s' % name)# % 기호 정수 출력money = 10000s2 = 'give me %d won' % moneyprint(s2)# % 기호 실수 출력d = 3.141592print('value %f' % d) 포메팅..

    [Python] format 함수 (문자열 포메팅 방법 1)

    format 함수에 대해서포메팅이란?문자열 포메팅이란 문자열을 이쁘게 만드는 방법이다, 쉽게 얘기하면 문자열 중간 중간에 특정 변수의 값을 넣어주기 위해서 사용하는 것이다. 예를 들어 구구단 프로그램을 만든다고 가정하면 a b가 변수일 때print('{0} x {1} = 6'.format(a, b, a * b)) 사용법)format 함수는 중괄호 {, } 안에 포메팅을 지정하고 fomat 함수의 인자로 값들을 넣는다.'{인덱스0}, {인덱스1}'.format(값0, 값1) 구구단 예제)a = 2b = 3 s = '구구단 {0} x {1} = {2}'.format(a, b, a * b)print(s)함수 예제직접 대입, 변수로 대입, 이름으로 대입# 직접 대입하기s1 = 'name : {0}'.format..

    [Python] 람다식 (무명 함수) 모듈

    개념무명 함수의 이름보다 람다식으로 널리 알려진 무명 함수는 이름이 없고 몸체만 있는 간략화된 함수이다. python에서 무명함수의 표현은 lambda 키워드로 만들어 진다.기본 함수와 람다식의 공통점은 다음과 같다.여러개의 인수를 가질 수 있다.기본 함수와 람다식의 차이점은 다음과 같다.반환값은 하나만 존재return 키워드 필요 없고 항상 반환되는 수식만 적어주면 됨.print()함수를 사용할 수 없음자신만의 이름 공간을 가지고 있어 전역변수 참조 불가 구조lambda(인수1,...,인수n : 수식) 람다식과 일반 함수 비교 (동일 결과)### 람다식 ###sum = lambda x, y : x+yprint("합 계산: ", sum(10,20)) # 합 계산 : 30### 일반 함수 ###def ge..

    [Python] capitalize(), title() 함수 비교

    문자열 s1 = 'abc'가 있을 때 각 함수를 적용한 결과는 다음과 같다. upper() 함수는 모든 문자열을 대문자로 바꾸고, capitalize()와 title()은 문자열의 맨 앞글자만 대문자로 바꾸지만 미묘한 차이가 있다.capitalize() 함수는 문자열 s2의 맨 앞글자인 a만을 대문자 A로 바꾼 반면, title() 함수는 공백을 기준으로 문자열을 분리한듯 a와 d를 각각 대문자 A,D로 바꿨다. 이 경우를 통해 capitalize()와 title()은 다른 결과를 만드는 것을 알 수 있다.  다음 예시에선 s3은 문자열 사이에 숫자가 있는 경우, s4는 문자열 사이에 특수문자가 있는 경우이고 결과는 동일하다. s5에는 숫자, 공백이 포함되어 있다. s5에 각 함수를 적용시켜 보아도 결과..