JavaScript, Vue.js, CSS/Python&Django

[Python] 숫자, 문자 변환

삶_ 2022. 6. 19. 09:32

 

알파벳/숫자 확인하기

  • 문자/문자열.isalpha() : 문자/문자열의 구성이 알파벳인지
  • 문자/문자열.isdigit() : 문자/문자열의 구성이 숫자인지

 

16진수 및 변환

  • ord() : 문자 → 정수
    • “”인 문자열 안됨. 무조건 ‘’ ! 길이가 1인 문자만 바꿀수있음.
  • chr() : 정수 → 문자
  • int() 변환(2,8,16 → 10)
    • n = int(a,16)
      • n = int(a(변환하려는 수), 16(진수))
  • 함수로 변환(10진수 →2,8,16)
    • (문자열로 반환)
    • bin(40) : 2진수
    • oct(40) : 8진수
    • hex(40) : 16진수
  • print로 출력
    • print(”%b”%10진수변수) : 2진수
    • print(”%o”%10진수변수) : 8진수
    • print(”%x”%10진수변수) : 16진수

지수표현

  • 1e9, e9 = 10의 9제곱

제어문

  • if : … elif: … else: …
  • if a >=30: pass
    • 조건문일때 아무것도 처리하고싶지 않으면 pass를 작성
  • or (이거나), and (이고), not x (x가 아닐때)
  • a in (리스트/튜플/문자열), a not in (리스트/튜플/문자열)
  • while 조건문: …
  • for 변수 in (리스트/튜플/문자열): …
    • 리스트.. 안에 있는 첫~끝을 변수에 대입해 사용함
    • 리스트 안에 있는것을 하나씩 꺼내 씀

함수

  • def 함수명(매개변수 있거나없거나): 수행문장 return 결과값
    • 불필요한 소스코드의 반복을 줄임
  • def add(a,b): return a+b
  • 여러개의 반환값을 가질수있음
    • def op(a,b):
        add_a = a+b
        mult_a = a*b
        div_a = a/b
      return add_a, mult_a, div_a
  • 기본값 설정하기
    • (아무것도 입력 안하면 기본값으로 설정됨)
    • def add(a=2,b=7,c=3): …
  • 입력값의 갯수를 모를 때
    • 가변인자 사용 *
    • def add(*num): …
      • add(1,2,3) 소환해서 사용.
  • 전역변수 global
    • 함수 안의 지역변수가 전역변수와 동일하게 처리하고 싶을 때 사용
    • 값을 변경/대입할때 써야함
    • 변경/대입이 아닌 호출용으로 쓴다면 global 없이도 함수 안에서 쓸수있음

 

lambda

  • (lambda 매개변수 : 표현식)(매개값)
    • (lambda x,y : x+y)(10,20)
  • 내장함수
    • sorted(array, key=my_key(3)) :   array를 오름차순으로 정렬하되, my_key를 키속성기준(정렬기준)으로 넣어준다
      • key값 뒤에는 무조건 함수가 들어와야함. 정렬할 기준이 되는 함수(함수가 반환한 값)!
    • sum(list나 집합등)  : 총합
    • min(..) : 최솟값
    • max(..) : 최대값
    • eval(수식) : 수식의 결과를 구해줌
  • 2차원 배열 정렬
    • arr.sort(key=lambda x:x[0])   ex. [0,1] [2,1] [3,1] 여기서 0,2,3만 정렬시킴
    • x[0]번째줄의 인덱스들만을 기준으로 정렬시킴

반올림 round()

  • round(a,b)
    • a : 반올림 하고싶은 대상
    • b : 2를 넣으면 소수점 2번째까지 출력 (3번째에서 반올림)
    • 반올림했는데 소수점이 .0 으로 깔끔하게 떨어지면 딱 한자리밖에 안됨.
  • “0.3f”%score
    • 이런식으로 소수점 3째자리까지 표현해달라. 할수있음 (0도 표현됨)

 

사용자 입출력

2차원 배열 초기화 방법

  • n(가로)*m(세로) 크기의 2차원 배열m = 5
    • [0]을 n번 곱한 문단 뭉탱이를 m번 출력
  • arr = [[0]*n for _ in range(m)]
  • 정수로 한 문자를 입력받을때
    • n = int(input())
  • 2차원 배열 입출력 받을때, (정수로)
    • list(map(int, input().split()))
  • 입력을 빠르게 받아야 할 때(반복문)
    • import sys 작성
    • sys.stdin.readline() 을 이용
      입력후 엔터가 줄바꿈 기호로 입력되니 rstrip()을 사용
    • a,b = map(int, sys.stdin.readline().split())   //여러개 입력받을때
    • a = int(sys.stdin.readline())   //한개 입력받을때
  • 문자열 + 정수형은 안되니 문자열 + str(정수형)을 이용하자!
  • 줄바꿈 없이 출력하기
    • print() 할때 end ='' 속성을 이용해 줄바꿈 없이 출력되도록 할수있음
  • 2가지 이상의 조건으로 자르고 싶을때
    • split(’+’|’-’) 이런식으로!
    • |은 and임