분류 전체보기
-
[Python] 패키지언어/파이썬 & 장고 2016. 10. 7. 11:52
평범한 디렉토리가 파이썬 패키지로 인정받으려면 __init__.py 파일이 해당 경로에 존재해야 합니다. __init__.py보통 __init__.py 파일은 비워져 있는 것이 보통입니다. 해당 파일에 손대는 경우는 __all__이라는 변수를 조정할 때 정도입니다. __all__은 다음과 같은 코드를 실행할 때 패키지로부터 반입할 모듈의 목록을 정의하기 위해 사용됩니다.from 패키지 import *다음은 테스트할 파일 경로입니다.main.pyfolder\ ---- __init__.py ---- temp1.py ---- temp2.py ---- temp3.py# temp1.py, temp2.py, temp3.py def test(): print('module name: {0}'.format(__name_..
-
[Python] 모듈언어/파이썬 & 장고 2016. 10. 7. 11:38
모듈은 '독자적인 기능을 갖는 구성 요소'를 의미합니다. 모듈은 표준 모듈, 사용자 생성 모듈, 서드 파티 모듈로 나뉩니다. 표준 모듈은 파이썬에서 기본으로 제공해주는 모듈, 사용자 생성 모듈은 사용자가 생성한 모듈입니다. 서드 파티 모듈는 pypi에서 pip 명령어를 통해 받는 파일입니다. 보통 모듈의 선언 순서는 표준모듈 - 서드 파티 모듈 - 사용자 생성 모듈 이고 알파벳 순서로 선언하는 것이 베스트입니다. 모듈을 import 하는 방법은 2가지가 있습니다.import 모듈 # 모듈의 실제 파일명 from 모듈 import 변수 또는 함수 다음은 calculater.py라는 모듈을 불러오는 두 가지 스타일의 코드로 예시입니다.importimport calculator calculator.plus(1..
-
[Python] 중첩함수언어/파이썬 & 장고 2016. 10. 7. 10:55
파이썬은 함수 안에 함수를 정의하는 것이 가능합니다. 중첩함수는 자신이 소속된 함수의 매개변수에 접근할 수 있다는 특징이 있습니다.아래 예제는 stddev()는 표준편차를 구하는 함수인데 mean()과 variance()를 중첩 함수로 가지고 있습니다. import math def stddev(*args): def mean(): return sum(args) / len(args) def variance(m): total = 0 for arg in args: total += (arg - m) ** 2 return total / (len(args) - 1) v = variance(mean()) return math.sqrt(v) a = stddev(1.3, 1.5, 2.6, 5.4) print(a)# 1.8..
-
[Python] 함수를 변수에 담아 사용하기언어/파이썬 & 장고 2016. 10. 7. 10:46
def other_method(a): print(a) val = other_method val(123) # 123함수를 변수에 담아서 사용이 가능하기 때문에 list나 dict 타입에도 넣어서 사용이 가능합니다.def plus(a, b): return a + b def minus(a, b): return a - b list = [plus, minus] a = list[0](1, 2) b = list[1](1, 2) print(a, b) # 3, -1 파이썬은 함수를 일급 객체로 다루기 때문에 이러한 일이 가능합니다. 일급 객체는 프로그래밍 설계에서 매개변수로 넘길 수 있고 함수가 반환할 수 있으며 변수에 할당이 가능한 객체를 가리키는 용어입니다. 함수를 다른 함수의 매개변수로 사용할 수 있습니다.def ..
-
[Python] 리스트 메소드언어/파이썬 & 장고 2016. 10. 7. 10:01
append()리스트의 끝에 입력받은 값을 추가a=[1,2,3] a.append(4) print(a) # [1,2,3,4]extend()기존리스트에 다른 리스트를 이어 붙임 + 연산자와 같은 기능a=[1,2,3] a.extend([4,5,6]) print(a) # [1,2,3,4,5,6]insert()리스트의 끝에 입력받은 값을 추가a=[2,3,4] a.insert(0,1) # 0번째에 1을 추가 print(a) # [1,2,3,4]remove()입력받은 값을 리스트에서 찾아 삭제a=[1,2,3] a.remove(3) print(a) # [1,2]pop()파라미터를 입력하지 않으면 리스트의 가장 마지막 데이터를 삭제.지우고자하는 인덱스를 입력하면 해당 요소 삭제a=[1,2,3,4,5] a.pop() pr..
-
[Python] 문자열 메소드언어/파이썬 & 장고 2016. 10. 7. 09:44
startswith()원본 문자열이 매개변수로 입력한 문자열로 시작하는지 판단결과는 boolean으로 리턴a='hello' a.startswith('he') # True a='hello' a.startswith('lo') # Falseendswith()원본 문자열이 매개변수로 입력한 문자열로 끝나는지 판단결과는 boolean으로 리턴a='hello' a.startswith('he') # False a='hello' a.startswith('lo') # Truefind()문자열 내에 입력된 문자열이 어느 위치에 존재하는지 앞에서부터 찾습니다.만약 존재하지 않으면 -1을 리턴합니다.a='hello' b=a.find('ll') print(b) # 2 b=a.find('h') print(b) # 0rfind()..
-
[Linux] scp 명령어서버 2016. 10. 6. 17:16
다른 서버로 복사 (보내기)# scp 파일 계정@서버주소:목적경로 scp test.txt testuser@135.79.246.80:/home/testuser/ → test.txt를 135.79.246.80 서버의 /home/testuser/ 폴더에 업로드다른 서버에서 복사 (가져오기)# 기본 포트 사용 scp 계정@서버주소:원본경로 목적파일명 # 다른 포트 사용 scp -P 포트 계정@서버주소:원본경로 목적파일명 # 폴더 복사 scp -r 계정@서버주소:원본경로 목적상위폴더 scp -r testuser@135.79.246.81:/var/www/html/ /var/www/
-
[Python] dict 타입끼리 더하기언어/파이썬 & 장고 2016. 10. 5. 18:03
a = {'a':1,'b':2,'c':3} b= {'d':4,'e':5,'c':4444} # 1. 덧셈 z=a+b print(z) # dict끼리는 +를 지원하지 않아 에러 # 2. z = {**a, **b} # python 3.5부터 지원 이하버젼 x # 3. z = a.copy() z.update(b) # dict끼리 덧셈이 가능하고 동일한 키가 존재하면 키들 간에 가장 큰 값으로 대체됨 # 3.1 응용편 def merge(*dict_args): print(dict_args) result = {} for dictionary in dict_args: result.update(dictionary) return result a = {'a':1,'b':2,'c':3} b= {'d':4,'e':5,'c':44..
-
[Atom] Atom 필수 or 선택 Plug-inIDE & 에디터 2016. 10. 5. 17:18
Atom Plug-inUtilactivate-power-mode : 파워코딩 모드. 팡팡팡 이펙트 linter : IDE 같이 에러가 발생한 부분을 알려줌. 아래의 pylint, golint 같은 것들을 사용하기 위해서는 선행설치가 되어야함minimap : 우측 미니맵 생성minimap-cursorline : 우측 미니맵에 현재 커서위치를 알려줌minimap-find-and-replace : 검색 또는 다중 블록을 설정하면 선택된 텍스트의 위치가 미니맵에 반영minimap-hide : 패널을 분리했을때 활성화된 패널만 미니맵이 나온다. 이것도 강추pane-info : 패널을 분리할때 패널 상단에 파일명을 출력한다. 생각보다 유용하다.pane-jump : ctrl + 1 , 2 , 3 등으로 분리된 패널을..
-
[Django] ORM JOIN언어/파이썬 & 장고 2016. 10. 5. 13:50
django에서 orm을 사용해 join을 하는 방법은 여러가지가 존재합니다. orm에서 제공하는 함수를 사용하기 위해선 먼저 테이블간 foreign key가 잡혀있어야만 가능합니다. 지금부터 foreign key를 논리적으로 잡는 방법 및 foreign key가 잡혀있을 때의 join과 foreign key가 존재하지 않을 때 join하는 방법을 소개하겠습니다.1. test case (sql)CREATE TABLE public."group" ( id integer NOT NULL DEFAULT nextval('group_id_seq'::regclass), name text NOT NULL, age smallint, num integer, CONSTRAINT group_pkey PRIMARY KEY (i..