프로그래밍 언어/Python

    [Python] Dictionary - 딕셔너리

    정의딕셔너리는 순서가 없는 리스트로 원소들의 인덱싱은 키(key)에 의해서 이루어진다. 원리는 실제 딕셔너리 즉, 사전과 동일하다. 사전에는 단어에 의해서 상응하는 정의들이 연결되어 있다. 파이썬의 딕셔너리들은 기본적으로 변수가 자연적인 순서가 없는 경우, 유용한 변수이다. 딕셔너리는 콤마(,)를 사용해서 키와 값의 쌍으로 정의된다. 이러한 키와 값 쌍은 중괄호 {}에 의해서 둘러싸게 되면 딕셔너리로 정의된다.변수 만들어보기빈 딕셔너리는 아래와 같이 중괄호 {} 를 사용해서 만들 수 있고, .type() 함수 해당 변수의 타입을 확인하면 dict 라고 나타난다.dic = {}type(dic)또는dic = dict()// dict 딕셔너리에 키와 값을 정의할 땐 키 : 값 (키와 값 사이에 콜론 : 사용)..

    [Python] 아스키 코드 (Ascii Code) 사용하기

    파이썬에서는 ord()와 chr() 함수를 통해 문자를 아스키코드로, 아스키코드를 문자로 변환할 수 있다. print(ord("A"))print(ord("B"))print(ord("C"))# 65# 66# 67print(chr(65))print(chr(66))print(chr(67))# A# B# C 각 문자에 대한 아스키코드를 모두 외울 필요는 없지만, 알파벳의 아스키코드는 대문자가 소문자보다 더 작다는 것과 알파벳의 순서에 따라 아스키코드의 숫자가 1씩 증가한다는 특징 정도는 알아둘 필요가 있다.바로 이 특징을 이용하면 특정 알파벳에서 N번째 후의 알파벳을 구할 수 있다.# A에서 두 번째 후의 숫자print(chr(ord("A") + 2))# C 이번엔 Z에서 1번째 후의 알파벳을 구하고자 한다.Z..

    [Python] 포메팅 format

    '%'를 사용한 포멧팅변수 타입에 따라서 %s, %d, %f 구분해서 써줘야 함 기본적으로 %s는 문자열, %d는 정수, %f는 실수를 받아온다. 아래 예제에서 %f는 하나의 변수를 그대로 받아온 것이 아니라, one_length와 E의 곱의 결과를 받아왔다. 즉 포메팅을 하면서 연산의 결과를 받아올 수도 있다. 그리고 %f와 %.2f의 차이는 %.2f는 실수를 받아올 때 소수점 둘째 자리까지만 표현되도록 하라는 의미다 즉 %.3f라고 되어있으면 소수점 셋째자리까지 표현된다.something = '볼펜'EA = 2one_length = 5.343scale = 'cm'print('%s %d개의 길이는 %f%s 입니다.' % (something, EA, one_length*EA, scale))#실수 소수점 ..

    [Python] enum형

    선언하기from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3print(type(Color.GREEN))print(Color.GREEN)print(Color.GREEN.name)// 출력Color.GREENGREEN반복하기 (이터레이션 지원)from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3 for color in Color: print(color) // 출력Color.REDColor.GREENColor.BLUE자동 값 사용하기 (auto)from enum import Enum, autoclass Color(Enum): ..

    [Python] Encrypt / Decrypt

    alphabet = []def Init(): idx = 0 for i in range(97, 123): alphabet.append(chr(i))def Encrypt(plainTxt, shiftAmt, code = 0): cipherTxt = "" for letter in plainTxt: pos = alphabet.index(letter) newPos = pos + shiftAmt if code == 0 else pos - shiftAmt cipherTxt += alphabet[newPos] return cipherTxtdef Decrypt(plainTxt, shiftAmt): return Encrypt(plainTxt,..

    [Python] 비슷한 연산자의 차이 (is, ==, and, &, or, |)

    1. is / ==is객체의 주소값이 같으면 True를 반환한다.Object Identity OperatorReference Comparison (참조 비교) ==객체의 값이 같으면 True를 반환한다.Equal Comparison Operator(비교 연산자)Value Comparison (값 비교)a = 10b = 10print("a is b =", a is b)print("a == b =", a == b)print("id(a) =", id(a))print("id(b) =", id(b))// 결과a is b = Truea == b = Trueid(a) = 4545772160id(b) = 4545772160a = 999b = 999print("a is b =", a is b)print("a == b =..

    [Python] 문자열 관련 함수 총 정리

    type(변수) : 문자열(string) 문자열 표현법 4종 : '문자열', "문자열", ''''문자열''', """문자열""" 이스케이프 코드 1 (\ + 문자) : \n, \t, \\, \', \"\n : 줄바꿈\t : 탭간격\\, \', \" : 문자 표현 이스케이프 코드 2 (\ + 문자) : \b, \r\b : 백스페이스\r : 캐리지 리턴\f : 폼피드\v : 수직 탭\000: 널 문자열 연산자 : + , *문자열 + 문자열 : 문자열 간 연결문자열 * 정수 : 정수만큼 문자열 반복 자료형 변환 : strstr(값) : 값(실수, 정수, bool 등)을 문자열로 변환함 문자열 인덱싱 & 슬라이싱인덱싱 : 변수[인덱스]슬라이싱 : 변수[시작인덱스 : 종료인덱스] = a[x : x+3] = a[x..

    [Python] f-string (문자열)

    기존 문자열 방식 1. 더하기 키워드 person1 = "철수" person2 = "영희" print(person1 + "는 " + person2 + "를 좋아한데요!") 2. % 서식 person1 = "철수" person2 = "영희" print("%s는 %s를 좋아한데요!"%(person1, person2)) 3. str.format 함수 person1 = "철수" person2 = "영희" print("{}는 {}를 좋아한데요!".format(person1, person2)) 이렇게 그동안 사용해오던 문법들은 각 단어가 어느 부분에 전달되는지, 어떤 기호를 빼고 읽어야 하는지 깊게 관찰이 필요하지만 f-string은 매우 직관적이고 가독성이 뛰어나다. person1 = "철수" person2 = ..

    [Python] pass, continue, break 차이점

    pass 1. 조건문에서 넣어줄 조건이 딱히 없을 경우 2. class 선언할 때, 초기에 넣어줄 값이 없을 때 for i in range(10): if i % 2 == 0: pass print(i) else: print(i) print("Done") 0 1 2 3 4 5 6 7 8 9 Done continue 다음 loop를 실행한다 for i in range(10): if i % 2 == 0: continue print(i) print(i) print("Done") 1 3 5 7 9 Done break 반복문을 멈추고 밖으로 탈출하게 된다 for i in range(10): if i % 2 == 0: break print(i) else: print(i) print("Done") Done https:/..

    [Python] 난수 random 모듈

    import random from random import random, randint random : 0부터 1까지 중에서 소수점 자리의 숫자를 무작위로 추출해준다. random.random() 결과) 0.123123 randit, randrange : 범위 안의 숫자를 선택한다, 차이점은 randrange의 start와 stop 값은 정수만 가능하다. random.randint(3, 10) 결과 10 random.randrange(3, 10, 3) 결과 9 choice, choices, sample : choice 함수를 이용하면 단일값을, choices는 여러 개의 값. temp = range(1, 10) random.choice(temp) 결과 2 random.choices(temp, k = 5)..