Python 자주 사용하는 명령어 정리

송현아·2021년 9월 13일
0

Python

목록 보기
3/3
post-thumbnail

📌 기본 연산자(Operator)

  • 산술 연산자

    덧셈, 뺄셈, 곱셈, 제곱, 나누기, 모듈 등

# Plus
>>> 3 + 5 
8

# Minus
>>> 3 - 5
-2

# Multiply
>>> 2 * 3
6

# Power
>>> 3 ** 4
81

# Division
>>> 15 / 3 
5.0
>>> 13 // 3
4
>>> 3.5 // 2
1.0
>> 13 % 3
1
  • 쉬프트 연산자

# Left Shift --> 0010 --> 1000
>>> 2 << 2   
8
# Right Shift --> 1011 --> 0101
>>> 11 >> 1   
5
  • 비트 연산자

# Bitwise AND
>>> 5 & 3
1
# Bitwise OR
>>> 5 | 3
7
# Bitwise XOR
>>> 5 ^ 3
6
# Bitwise Invert (0101 --> 1010)
>>> ~5
6
  • 비교 연산자

==, !=, <, >, <=, >=

x = True
not x # False
  • 문자열 관련 Method

    • str1.isdigit() : 숫자로 이루어진 문자열인 경우에 True를 반환
    • str1.isalpha() : 알파벳으로 이루어진 문자열인 경우에 True를 반환
    • str1.isalnum() : 숫자나 알파벳으로 이루어진 문자열인 경우에 True를 반환
    • str1.islower() : 소문자 알파벳으로 이루어진 문자열인 경우에 True를 반환
    • str1.isupper() : 대문자 알파벳으로 이루어진 문자열인 경우에 True를 반환
    • str1.isspace() : 공백으로만 이루어진 문자열인 경우에 True를 반환

📌 Print 함수

  • sep argument

    ,(콤마) 단위로 끊어지는 단어나 변수 사이에 연결고리를 해주는 역할입니다. 따로 선언하지 않으면 기본값으로 띄어쓰기(1 Space)를 제공합니다.

>>> x, y = 5,7
>>> print(x, y, sep = "*")
5*7
>>>print("Hello","World",sep="")
HelloWorld
  • end argument

    print 함수는 함수를 호출할 때 마다 새로운 line을 사용합니다. 이를 커스텀하기 위해서 end 를 사욯합니다. 즉, end를 통해서 두 print 함수를 연결할 수 있습니다.

>>> print("Hello", end = " ")
>>> print("World")
Hello World

📌 Enumerate

for문에서 인덱스를 얻는 대표적인 방법으로 Enumerate가 있습니다. enumerate() 내장 함수에 리스트를 넘기면 next() 메서드가 index와 value로 이뤄진 튜플을 반환합니다.

  • Enumerate 선언

  seasons = ['Spring', 'Summer', 'Fall', 'Winter']
  list(enumerate(seasons))
  #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
  • Enumerate 출력

    따라서 다음과 같이 for 루프를 돌릴 때 enumerate()를 조합해서 사용하면 인덱스와 값을 동시에 접근할 수 있습니다.

  for idx, val in enumerate(seasons):
         print(idx, val)
  #0 Spring
  #1 Summer
  #2 Fall
  #3 Winter

추가로, enumerate() 내장 함수를 호출할 때 start 파라미터를 사용하면 0이 아닌 다른 시작 번호를 사용할 수 있습니다.

  • Enumerate 출력 (with start)

    list(enumerate(seasons[1:], start=1))
    [(1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

📌 Counter

데이터의 개수를 셀 때 유용한 파이썬의 collections 모듈의 Counter 클래스 사용법을 알아보겠습니다.

  • dictionary를 이용한 카운팅

    아래의 코드는 어떤 단어가 주어졌을 때 단어에 포함된 각 알파벳의 글자 수를 세어주는 간단한 함수입니다.

  def countLetters(word):
      counter = {}
      for letter in word:
          if letter not in counter:
              counter[letter] = 1
          counter[letter] += 1
      return counter
  
  countLetters('hello world'))
  # {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
  • collections.Counter를 이용한 카운팅

    파이썬에서 제공하는 collections 모듈의 Counter 클래스를 사용하면 위 코드를 단 한 줄로 줄일 수가 있습니다.

    • 일반적인 사전 기본값 처리

  from collections import Counter
  
  Counter('hello world') 
  # Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
  • 나은 사전 기본값 처리 : dict.setdefault

  def countLetters(word):
      counter = {}
      for letter in word:
          counter.setdefault(letter, 1)
          counter[letter] += 1
      return counter
  • 더 나은 사전 기본값 처리 : collections.defaultdict

  from collections import defaultdict
  
  def countLetters(word):
      counter = defaultdict(lambda: 0)
      for letter in word:
          counter[letter] += 1
      return counter
  • collections.Counter를 이용해서 개수가 많은 순으로 정렬

  from collections import Counter
  
  Counter('hello world').most_common() 
  # [('l', 3), ('o', 2), ('h', 1), ('e', 1), (' ', 1), ('w', 1), ('r', 1), ('d', 1)]

0개의 댓글