일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 스칼라
- scala
- 자바
- Java
- docker
- boj
- HBase
- 주키퍼
- Python
- dynamic programming
- 동적프로그래밍
- 알고리즘
- zookeeper
- leetcode
- 문제풀이
- OOM
- gradle
- 튜토리얼
- 코드워
- programmers
- 리눅스
- DP
- codewars
- redis
- golang
- go
- Go언어
- Linux
- 파이썬
- 프로그래머스
- Today
- Total
목록Python (15)
파이문
파이썬에서 switch-case문 사용하기(Python Switch-Case) 파이썬에서는 switch, case라는 키워드가 존재하지 않습니다. 그래서 어떤 입력에 대해서 case를 나누고 싶다면 주로 if-elif-else를 사용하곤 하죠. 아니면 딕셔너리를 이용해서 마치 switch-case문 처럼 사용할 수 있습니다.def f(x): return {'a': '1', 'b': '2'}[x]입력 x가 'a'라면 '1'을 리턴하고, 'b'라면 '2'를 리턴합니다.만약, 입력 값이 'a'도 'b'도 아닌 'c'라면 f('c')는 KeyError를 던지죠. 다른 언어의 switch-case문은 예외를 위해, 디폴트 값을 지정할 수 있는데요. 파이썬도 마찬가지로 디폴트로 값을 지정할 수 있습니다. def f..
파이썬에서 딕셔너리 키 값 체크하기(Python dictionary key exist) 파이썬에서 딕셔너리 키 값을 체크할 때 has_key 혹은 get을 사용하는 경우가 있었는데, 이에 대해서 무엇이 다르고 어떤 것이 가이드 라인(Pythonic)인지 정리해보고자 한다. 기존에 파이썬에서 딕셔너리를 만들고 키 값이 있는지 없는지 판별하는 아주 간단한 함수를 작성하였다.menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}if menu.has_key("ham"):print "네, 찾는 것이 있네요"else:print "그런 메뉴는 없습니다."정말 아무 이상 없을 것 같은 코드이고, 실제로 제대로 동작한다.반대로 딕셔너리(메뉴)에 없는 키 값을 넣는다면 "그런 메뉴는 없습..
파이썬에서의 getter와 setter 파이썬에서 클래스를 작성하면서 getter와 setter를 만든 적이 있다. 아직까지 큰 프로그램(?)을 만들어본 적이 없어서 그냥 돌아가게만 만드는데 중점을 두었었는데, 최근 파이썬을 공부하면서 그것이 올바르지 않은 방법 이란 것을 깨달았다. 그동안 파이썬에서 많은 표준 라이브러리에 대한 함수를 사용하면서 한 번도 getXXX와 setYYY를 본적이 없었는데 궁금해 하지 않았다는게 스스로 신기할 정도였다. 서론이 길었는데 그렇다면 파이썬에서 기존에 자바처럼 getter와 setter를 사용하려면 어떻게 해야 하는가? 답은 바로 프로퍼티에 있다.사실, 아직 그렇게 프로퍼티나 데코레이터에 대한 개념이 확립되지는 않았다.일단 이렇게 작성하는게 옳은 거구나 하는 정도만 ..
파이썬에서 문자열 합치기 파이썬에서 기존에 문자열을 다음과 같이 더하여서 종종 사용하였다. new_str = str + word 그러나 이 방법은 파이썬에서 지양하는 문자열 append 방법이었다. 파이썬에서 문자열은 불변 객체로, 새로운 값을 더하여 문자열을 생성할 경우 기존의 것에서 더해지는 것이 아닌, 새로운 객체가 생성되는 것이었다. (자바의 String과 같다. 얕은 지식으로는 자바의 경우 String대신에 StringBuilder를 사용하라고 했던 것 같다. 자바1.6 이상? 부터는 컴파일러가 좋아져서 그냥 문자열을 더할 때는 + 를 쓴다고 한다. 내부적으로는 빌더를 쓰기 때문에 가독성을 위해서 String을 그냥 사용해도 좋다고. 단, 빌더와 버퍼의 구분은 해야 한다!) 그래서 파이썬에서 굳..
파이썬 프로그램을 백그라운드로 돌리는 방법은 다음과 같다. $ python filename.py & 그러나 이 방법은 현재 창을 종료하면 terminate된다는 단점이 있다.이를 위해 nohup 키워드를 사용할 수 있다. $ nohup python filename.py & 해당 명령어를 입력하면 로그 파일로 nohup.out이라는 파일에 쌓이게 된다.문제는 print 문으로 찍었던 내용이 바로 nohup.out에 쌓이는게 아니다. 즉 시작해서 $ tail -f nohup.out 명령어를 친다고 하더라도 바로 print문으로 했던 것이 화면에 나오는 것이 아니라는 것이다.어느 정도 쌓였다가, 한 꺼번에 출력하곤 하는데 로그를 보고 싶다면 이는 옳은 방법이 아니다. 만약 print문을 바로 바로 보고 싶다면..