프밍세상 9

파이썬 함수 사용법[간단]

프로젝트를 진행하다보면 많은 부분에서 중복으로 발생하는 코드를 발견할 수 있을 것이다. 이러한 중복코드는 가독성을 떨어뜨릴 뿐만아니라 디버깅 작업또한 어렵게 만들어낸다. 더보기 함수 = def(매개변수1, 매개변수...): 이하생략 ... ... 중복코드를 깔끔하게 해결하는 방법 중 하나는 함수의 사용이다. 함수에 대해 예제로 설명하겠다. [예 시] # 합 def add(a,b): return a + b # 곱 def multiple(a,b): return a * b if __name__ == "__main__": sum_value = add(1,2) print(sum_value) multiple_value = multiple(1,2) print(multiple_value) 오늘은 함수에 대해서 알아봤다..

Programming/Python 2021.03.01

파이썬 pass 와 continue 차이점

코딩을 하다보면 특정 라인만 실행하거나 그렇지 않게 하고싶은 경우가 있다. 이럴경우에 주로 사용하는것이 pass와 continue인데, 상황에 따라 다르게 쓰인다. 고로 예제를 통해 pass와 continue 둘의 차이를 알아보자. [예제] # pass 적용 for i in range(10): if i % 2==1: pass print("pass", i) # continue 적용 print("==========================") for i in range(10): if i % 2==1: continue print("continue", i) 결론 - Continue는 해당 조건일 상황에서는 다음명령어를 실행하지않고 그냥 지나친다.

Programming/Python 2021.02.26

Go언어 구조체(struct) 편

이번주제는 구조체다. 처음배울때 대학시절 C언어에서 본것으로 기억나는데, 요즘은 어떤지 모르겠다. C언어를 기준으로 설명하자면, 사용법은 비슷하다. 구조체에 변수와 타입을 정해주기만하면 선언이 완료된다. 아래 그림은 구조체를 활용하여 두수의 합을 나타낸다. [ 예 제 ] package main import "fmt" type Number struct { A int B int } func Add(a, b int) int { return a + b } func main() { number := Number{A: 1, B: 2} result := Add(number.A, number.B) fmt.Println(result) }

Programming/Go 2021.02.26

Go언어 리시버(receiver) 편

해당 주제는 리시버다. 설명하기에 앞서, 이번 코드에서는 구조체를 사용하고 있고, 이를 알고 있다는 전제하에 설명한다. 리시버는 특정 객체로부터 해당되는 함수를 정의하는 것이다. 즉 쉽게 말하면 특정 객체만 접근이 가능하다는 것이다. 따라서 아래에 그림에서 명시된 Add함수는 (n Number)리시버를 사용하여 Number 객체만 접근이 가능하도록 하였다. [ 예시 ] package main import "fmt" type Number struct { A int B int } func (n Number) Add(a, b int) int { return a + b } func main() { number := Number{A: 1, B: 2} result := number.Add(number.A, numb..

Programming/Go 2021.02.26

Go언어 예외처리(panic, recover) 편

Go언어에서의 예외처리 사용법은 다른언어들에서 볼 수 있는 tryCatch 구조와는 약간 다르다. 따라서 Go언어에서 이용할수 있는 예외처리 방법을 설명하고자 한다. [panic함수 예제] package main import "fmt" func main() { var a int = 1 if a == 1 { panic("에러") } fmt.Println("hello world") } panic함수 사용법을 정리하면 다음과 같다. 1. panic함수 실행시 프로그램이 종료가 실행된다. 2. panic 실행이후 에러위치를 나타낸다. [panic & recover 예제] 설명 var a의 값에 따라 예외처리를 알아보는 코드이다. 결과를 정리하면 다음과같다. 1. 에러(a가 1일때) 2. 성공(a가 1이 아닐때)..

Programming/Go 2021.02.26

Go언어 [초간단] 유닛테스트 편

유닛테스트 사용법 - 유닛테스트에서는 함수이름에서 첫글자는 "Test"를 넣어야 한다. - 명령어는 "go test"로 실행이 가능하다 ※주의사항 - 매개변수를 형식에 맞춰야함. - 함수명이 하단그림과 같이 TestAbc는 가능하나 "Testabc"에서는 빌드가 안된다. 즉 "Test"와 뒤에올 글자를 구분하 여야한다. [사용 예] package main import "testing" func TestAbc(t *testing.T) { a:= 1 b:= 0 expected := a+b actual:=1 if actual != expected { t.Errorf("%d != %d", actual, expected) } } [결과]

Programming/Go 2021.02.23

파이썬 copy(얕은복사, 깊은복사 복사기능)

시작전.. 정보를 담고있는 리스트를 사용시 원본데이터를 다른 변수에 할당하는 복사를 사용해야하는 경우가 있다. 리스트를 복사할때 항상 발견되는 문제점이 있었는데, 그건 복사된 리스트를 수정 시 원본까지 수정되어버리는 결과가 나타난다. 이것은 얕은복사와 깊은복사에 관련되어있는데 설명과 예시는 다음과 같다. 1) 얕은복사 copy.copy() import copy a = [[1,2],[3,4],[5,6]] b = copy.copy(a) b[1].append(100) print(a) # [[1, 2], [3, 4, 100], [5, 6]] print(b) # [[1, 2], [3, 4, 100], [5, 6]] 위그림에서 알 수 있든 두개의 변수a(원본리스트) 변수b(얕은복사 리스트)는 같은 주소값을 바라보고..

Programming/Python 2021.02.22

파이썬 리스트(insert, append, extends 추가기능)

1) append [예시 1] 요소 추가 [예시 2] 리스트 추가 2) insert insert는 apppend와는 다르게 매개변수가 총 2개를 받는다. 즉 insert(A , B)에서 A는 위치 B는 값을 나타낸다. 즉 특정위치에 값을 추가할떄 용이하다. [예시 3] 요소추가 3) extends 리스트의 append와는 달리 추가 요소가 리스트가 대상이더라도 요소가 추가되는 것이 특징이다.

Programming/Python 2021.02.22