python 10

자바스크립트와 파이썬의 for문은 다르다. //for in, for of, for in keys()..

동기: 나는 자바 -> 파이썬-> 자바스크립트 순서로 언어를 배웠다. 코딩테스트 연습은 파이썬으로 하고 웹개발은 자바스크립트로 진행하다 보니 두 언어의 for in구문이 다른 의미를 가지고 있다는 것을 인지하지 못했다. 또 자바스크립트의 for in과 같은 기능을 하는 구문은 파이썬에 없다. 헷갈리기도 하고 신기하기도 해서 글을 포스팅하기로 했다. 두 언어 간 for 구문비교 파이썬의 for in은 반복자의 성분을 차례대로 실행문에 전달한다. 즉 자바스크립트의 for of와 같은 기능을 한다. 자바스크립트의 for in은 오브젝트의 키 값을 문자열로 차례대로 반환한다. 이런 기능을 하는 함수는 파이썬에 없다. 파이썬의 for in과 자바스크립트의 for of: 반복자 iterable의 성분을 순서대로 가..

파이썬 리펙터링: 코드 스타일을 공부할때가 왔다.

프로그래밍 언어는 기계가 아닌 사람을 위해 쓰였다. 컴퓨터는 코드를 실행하고, 사람은 코드를 읽는다. 누가 했는지는 잘 모르지만, 유명한 말이 있다. 프로그램은 읽을 수 있게 작성되어야 한다. 실행은 부차적인 일이다. 뭣도 모르고 프로그래밍을 처음 시작했을 땐, 구현이 전부라고 생각했었지만 개인프로젝트를 하면서 이제 정말 저 말이 깊게 와닿는 거 같다. 기나긴 로직을 구현한다면 오류하나 없는 복잡한 코드보다 오류가 있는 읽기 쉬운 코드가 좋다. 코드가 읽기 쉽다면 버그가 발생해도 금방 찾을 수 있다. 유지보수가 쉬운 스타일과 (객체지향 SOLID라던가), 읽기 쉬운 스타일은 같은 개념은 아니다. 하지만 읽기 쉽다면 유지보수 역시 쉽다. 다음 코드는 내가 처음 짠 코드이다. # 이름의 길이를 계산해주는 프..

enumerate(이뉴머레이트) 함수: 배열의 인덱스와 값에 함께 접근해보자/ 파이썬

enumerate? 뜻: 하나하나 세다 파이썬 함수: 순회 가능한 객체를 입력받고 enumerate 오브젝트를 반환하는 함수 *다시 말하자면 string, list, tuple 등 [0]과 같은 인덱스로 접근가능한 자료구조를 인자로 받아들인다. 그리고 마찬가지로 비슷한 구조를 가진 enumerate 라는 객체를 반환한다. enumerate오브젝트? loop문으로 순회가 가능한 객체이다. 입력받은 인자의 인덱스 번호 및 성분을 함께 담고 있는 튜플을 원소로 갖는다. example = [x,y,z] enumerate(example) 이 반환하는 객체는 다음과 같은 값들을 갖는다. (0,x),(1,y),(2,z) 성분을 보고 싶다면 list()를 통해 리스트로 변화시키면 된다. * tuple()도 가능하나 s..

파이썬으로 타입체크 해보자: Type hint 아닙니다. (타입힌트아님)

동기 노마드코더의 파이썬 챌린지를 하던 중, 입력받은 숫자를 계산하는 함수를 만들어야 했다. 나는 여기서 함수에 인자로 입력받은 숫자에 대한 타입체크를 수행하고 싶었다. 파이썬은 함수의 입력인자 및 출력 값의 데이터 타입을 확인하는 기능이 있다. 바로 타입힌트(type hint) 가 그것이다. 하지만 이것은 말 그대로 타입 힌트이지 타입체크가 아니다. 아무런 강제성이 없다. 허접한 영문장으로 구글에 파이썬 유니온타입 타입체크를 검색하자 (how to check union type in python?) 스택오버플로우에서는 "typing"이라는 라이브러리를 추천해 주었다. typing 라이브러리 주소 https://docs.python.org/3/library/typing.html typing.Union U..

스택(stack)자료구조: 스택은 책더미와 같다. / 파이썬 리스트로 구현해 보기. /push, pop, dynamic array

스택 요약정리 부분 바로가기 파이썬 코드부분 바로가기 자료구조 Stack(스택)에 대한 이해 Stack(스택) motivation: 스택 공부 동기 스택은 데이터를 저장하는 자료구조입니다. 한 번에 하나의 정보를 입력하거나 출력할 수 있어요. 정보의 저장 및 제거는 항상 스택 성분의 마지막위치(최상단)에서 일어나요. 만약 스택을 직접 사용하지 않더라도 구조와 동작을 잘 알아두는 것이 좋습니다. 컴퓨터나 프로그램에서 함수의 실행에 대한 이해에 많은 도움이 되거든요. 대부분의 프로그래밍 언어에서 중첩된 함수를 구현할때, 스택 구조를 이용하고 있어요. 함수가 호출되면 콜 스택에 저장하고, 실행이 완료되면 다시 제거하는 방식입니다.. 이러한 스택의 크기는 정해져있어서, 일정 개수 이상의 함수를 중첩하면 스택이 ..

__init__? 파이썬 magic method(매직메서드)란?

Python icons created by Freepik - Flaticon 파이썬에선 class를 통해 객체를 선언할때, 객체 내부 변수들을 선언하면서 초기화해주는 메서드가 있다. class HelloWorld: def __init__(self): self.class_variable = 0 def는 새로운 함수를 정의할때 사용하는 keyword이다. 그러므로 우리는 __init__ 이라는 이름을 가진 클래스 메서드를 새로 만든것이다. import HelloWorld helloworld = HelloWorld() helloworld.__init__() 클래스메서드를 사용하려면 호출을 해줘야한다. ..? 조금 이상한점을 느끼지 않았는가? 우리는, 적어도 나는 객체를 만든후 저런식으로 초기화 메서드를 호출하..

python3(파이썬) 유저를 위한 javascript ES6(자바스크립트) 기본 문법

메서드 사용법 alert("Hello world"); 메서드명("텍스트"); "(큰따옴표) 대신 '(작은따옴표) 를 사용 할 수 도 있다. 파이썬과의 차이점 파이썬은 띄어쓰기로 문장을 구분하기때문에 ;(세미콜론)을 사용하지 않는다. 한줄에 여러 문장을 진술할경우에만 세미콜론(;)을 사용한다. print("hello world"); print("hello world") string multiline string : (여러줄 문자열) 작성법 파이썬: """ """ 따옴표 세개를 사용한다 자바스크립트: singleline string(한줄 문자열) 과 차이가 없다. " " 따옴표 한개를 사용한다 다른 변수값을 불러오는 string의 모습 파이썬: f-string, 혹은 %연결 연산자를 사용 ex) f"hell..

파이썬 자료구조(data structure)의 속성. sequence. mutable

Sequence (시퀸스)수 또는 다른 대상의 순서가 있는 나열 list(리스트), tuple(튜플), and string(스트링) iterable(반복가능): for loop나 "in" 키워드 뒤에 집어넣을 수 있다. 출력결과 list1 = [1, 2, 3, 4, 5] tuple1 = (1, 2, 3, 4, 5) string1 = "12345" for item in list1: print(item) for item in tuple1: print(item) for item in string1: print(item) indexed(번호가 있다): "[]" 중괄호를 이용하여 Sequence속의 개별 element에 접근 할 수있다. 번호는 0번부터 시작하며, 음수를 사용하여 접근할 수 도있다. list1 =..

12.31 python 공부

break vs continue break: loop 를 종료시킨다. continue: continue 이하의 나머지부분을 생략하고 다음loop로 넘어간다. all vs any all(iterable): 대입된 값이 전부 ture 일경우에만 true를 반환한다. any(iterable): 대입된 값중true가 하나라도 존재할 경우에만 true를 반환한다. etc str.startswith(prefix[, start[, end]]) string이 prefix에 해당하는 값들로 시작한다면 ture 그렇지않다면 false를 반환한다. prefix는 tuple을 받아줄 수도 있다. example = "Hello World" example.startswith("Hello") -> true example.start..

아주 쉽게 이해하는 환경변수, window에서 환경변수 설정 및 python에서 사용하기

접근영역을 기준으로 한 다른 변수들과의 비교 지역변수 실행단위를 묶어주는 괄호내부나, 하나의 함수안에서만 접근 가능한 변수 전역변수 프로그램 모든곳에서 접근 가능한 변수 환경변수 프로그램의 실행 환경에서 접근 가능한 변수 지역,전역변수가 결국 프로그램 내부에 소속된 변수라면, 환경변수는 그 프로그램의 실행환경 자체에 소속된 변수다. 환경변수는 프로그램 내부가아닌 프로그램의 실행환경 전체에서 접근 가능하다. 여기서 말하는 환경은ide가 제공해주는 가상환경이나, 당신의 컴퓨터 전체를 뜻한다. 당신도 쓴적있다. 개발을처음시작하면 대부분 프로그램 설치경로를 path 라는 시스템 환경변수에저장한다. cmd에서 python이나 java등을 실행할때 프로그램 설치 주소를 일일이 타이핑 할 수고를 덜어주기 위해 하는 ..

it공부 (개념) 2022.12.24