파이썬(Python)에서 화면에 출력을 하고자 할때는 print 명령어를 사용할 수 있다. 예를 들어 'Hello World!'를 화면에 출력하고자 할때는 다음 코드를 실행하면 된다. 소스 결과 image.png...
Data Types Data type은 해당 데이터가 숫자인지 텍스트 인지 등의 타입을 이야기한다. 예를 들어, 숫자 2와 텍스트 "2" 그리고 소수점 숫자 2.0은 사람에게는 문맥상 같은 의미를 가지지만, 컴퓨터에게는 3개가 전부 다른의미를 가진다. 그럼 정확한 data type의 값을 알고 지정하는 것이 중요하다 파이썬에서는 다음과 같은 데이터 타입...
Variables(변수) 파이썬에서 사용하는 변수란 특정 값을 저장하고 있는 공간이다. 변수는 '='기호의 왼쪽에 위치하고, 실제 값은 '='기호의 오른쪽에 나타낸다. '='는 assignment를 가르킨다 image.png 변수가 지정되면 파이썬은 변수의 실제 값을 자동적으로 적용한다 예를 들어, 전 시간에는 print 구문에 실제 string 값...
코드는 가독성이 중요하다 가독성이 높은 코드는 내가 작성하지 않아도 보면 이해하기가 쉬운 코드가 가독성이 높은 코드이다. 다른 개발자들도 쉽게 이해할 수 있는 코드가 좋은 코드이다. 가독성이 좋은 코드 깔끔한 코딩 스타일 간단하고 명료한 로직 명확한 명수, 함수, 클래스 등의 이름 Naming 변수, 함수, 클래스, 모듈, 팩케지(Package)등의 이...
Variables For Numbers 변수에 저장할 수 있는 값(value)은 string 뿐만아니라 숫자도 저장 할 수 있다. 숫자를 변수에 저장할 때 조싱해야 할 점은 string과 다르게 따옴표나 홀따옴표를 넣어서는 안된다. 따옴표나 홀따옴표를 넣으면 숫자가 아닌 string으로 인식하게 된다 변수에 age의 값이 숫자가 아니라 string 인데...
Math Expression 기본 수학연산 표현은 다음과 같다 더하기 ( + ) 빼기 ( - ) 곱하기 ( * ) 나누기 ( / ) 파이썬에서는 우리가 익숙한 수학등호 들을 사용해서 기본 연산들을 실행할 수 있다. 더하기 빼기 곱하기 나누기 정수 나누기
Advanced Math Expressions 파이썬은 기본적은 수학 연삭 표현 이외에도 다음과 같은 상급 수학 연산 표현 또한 지원하고 있다 % += -= *= /= % % 는 modulo operator 라고 하며, 나누기의 나머지 값을 계한할 떄 사용한다 += 변수의 값에 1을 더하고 저장하고 싶다면 다음과 같이 표현한다 위의 방식도 있지만,...
Order of Operators 파이썬 그리고 일반적으로 다른 프로그래밍들도 수학 연산을 할때 조심해야 할 점이 있다. 바로 어떠한 연산을 하느냐에 따라 실행되는 순서가 틀릴 수 있다는 점이다 result의 값을 예상해보자 10 + 20 을 먼저 계산하여 90이라고 생각할 수 있지만, result의 값은 역시 70이다. * 가 + 보다 먼저 실행되서, ...
Concatenating Text Strings 숫자와 마찬가지로 string도 서로 더할 수 있다. 이를 string concatenation 이라고 한다 2개 혹은 그 이상의 문자열들을 잇는 것을 말한다 예를들어 "Hello World!"를 출력하고자 할때 다음과 같은 2가지 방법이 있다 소스#1 위에서 보았듯이 string을 잇기 위해서는 '+'...
Significant Whitespace Whitespace 란 바로 들여쓰기(indention)을 말한다 다른 언어에서는 들여쓰기가 필수사항은 아니다. 하지만 파이썬에서는 들여쓰기는 요구사항이다. 들여쓰기를 통해 코드의 종속성을 나타낸다. 예를들어 Javascript나 Java등의 다른 언어들은 함수에 종속된 코드를 나타내기 위해서 중괄호({ })를 ...
If Statement "if"라는 영어 단어의 뜻은 "만일"이라는 뜻이다. 파이썬에서 if는 특정한 조건을 확인 할 때 사용한다 예를 들어, name 이라는 변수의 값이 "퐝이뇽"인지 확인 하고 만일 "퐝이뇽"이 맞다면 "Hello 퐝이뇽" 라고 출력하는 로직을 구현할 수 있다. '==' 는 equality 라고 하며 2개의 값이 동일한지를 확인할 때...
Comparison Operators if 구문에 대한 내용을 배운 '=='는 equality operator 라고 하고, comparion operator 들 중 하나 이다. 즉, 2개의 값들을 비교 할때 쓰이는 operator 이다. 그 외에 다른 operator도 많다 != '!=' operator는 "Not Equal to" 이며 '=='와는 반...
elif and else 만약에 if구문이 단순한 한두가지의 조건문에서 사용하면 괜찮지만, 조건들이 많아지면 if구문만으로는 제한적일 수 있다. 예를 들어 위 소스코드 처럼 테스트 해야 하는 연결된 조건들이 있을때에 단순 if 구문을 여러개 붙여야 한다. 이때 필요한 것이 elif와 else이다 elif elif는 if 구문을 보조 하는 역할을 한다 ...
Comments Comment는 우리나라말로 "주석"이며, 쉽게 설명하자면 코드를 설명하기 위해 달아놓는 글이다 즉 코드는 컴퓨터를 위해 작성한 글이라면 주석은 사람 (특히 개발자)를 위해 작성된 글이다 파이썬에서는 commnet를 달때 '#'(우물정자) 표를 사용하여 comment를 한다. 첫글자가 '#'으로 시작하면 해당라인은 comment로 인식하...
Function 함수(Function)는 일정한 작업을 수행하는 코드블럭이다. 함수를 사용하는 이유는 다음과 같다 반복되어 계속 사용되는 코드들을 함수로 정의하여 효과적으로 사용하기 위해 함수로 정리를 해서 코드의 가독성을 높이기 위해 image.png 파이썬에서 함수는 'def' 키워드를 사용하여 정의되며, 다음과 같은 문법을 갖는다. >def 함...
Function Parameters 함수는 input parameter를 받아서 return값으로 output으로 리턴해준다. 그리고 함수는 호출할때 parameter를 함수에 건내주어서 호출한다. image.png 함수의 parameter1과 parameter2는 love_you("정우성","아이유")라는 함수 호출의 parameter들을 순서대로 전...
List의 특징중 하나는 수정이 가능하다는 점이다 즉, list에 element를 추가 할 수도 있고, 또한 기존의 element 값을 변경할 수도 있다. Adding elements to List 1. Append list에 새로운 element를 추가하기 위해서는 일반적으로 'append'라는 함수를 사용한다. append는 "덧붙이다"라는 뜻으로, ...
List Slicing 파이썬에서는 리스트의 일부분을 copy할 수 있다. 이것을 slicing 이라고 한다 마치 피자 한판에서 한 조각씩 slice라고 하듯이 리스트의 부분들을 복사하는 기능이다. 만약 BTS의 멤버(7명)으로 리스트를 만든다면 여기서 2번째 요소(element)부터 4번째 요소까지만 copy해서 sub_bts라는 리스트를 만들고자 한...
Del 리스트에서 element를 삭제하려면 del 키워드를 사용하여 삭제할 수 있다. del 키워드와 list의 인덱스를 사용하여 원하는 요소를 리스트에서 삭제한다. 참고로 요소가 리스트에서 삭제되면 파이썬이 자동적으로 리스트의 인덱스들을 다시 정렬해준다. 따라서 다음 인덱스 번호 중간에 비어있지 않도록 채워준다. image.png remove de...
Tuples Tuple은 list와 비슷하지만, 한번 선언이 되면 수정이 불가능하다 Tuple은 list와 다르게 대괄호대신 소괄호를 사용한다.
Set Set은 list와 마찬가지로 여러 다양한 Type의 element들을 저장할 수 있다. 하지만 list와 다른 점들이 있다. * list와 다르게 element들이 순서대로 저장되어 있지 않다. 즉, for문으로 읽어들일때 무작위로 element들을 읽게 된다. * 순서가 없으므로 indexing도 없다. 따라서 몇번째 element를 읽어들일수 ...
Dictionay 한 사람의 정보를 저장할 때, "이름=퐝인뇽", "생일=2월12일" "성별=상남자" 라고 저장할 수 있다. 하지만, 사람이 여려명일 때는 list나 tuple에서는 element도 더 많아지고 쉽게 element에 접근하여 정보를 가져오기가 힘들어진다. 파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라는 자료구조에 저장하도록 도...
For Loops 만약 list에서 element를 받아서 출력한다면... 위 처럼 if문을 사용하였을 때, 매 element를 index를 확인해서 불러야만 한다. 만약 100개의 element를 가진 list에서 element를 하나씩 읽어들인다면 if문을 100개 써야할 것.. 따라서 파이썬은 For 구문을 통해 Loop 구조를만들어 실행하고자 하...
While Loops Loop구문은 for구문 말고도 While구문이 있다. for구문은 list나, set, dictionary등의 data structure(자료 구조) 등을 기반으로 코드블록을 반복 실행한다. 반면 while구문은 list같은 data structure 기반이 아닌 변수등이 코드블록을 반복해야 할때 사용한다 While구문의 문법은 다...
Looping Dictionary List와 마찬가지로 dictionary도 for 반복구문(loop)를 사용하여 element를 하나한 가지고 반복되는 로직을 구성할 수 있다. 다만 list와 다르게 dictionary는 각 element key와 value로 이루어져 있다는 점을 참고하고해야한다. image.png Looping Dictionary ...
List of Dictionary 이렇게 list를 dictionary로 구성하면 손쉽게 여러 dictionary들을 grouping 할 수 있다. 그리고 for구문을 사용하여 각각의 dictionary들을 읽어들이고 원하는 로직을 실행할 수 있다. Nested Dictionary 만일 위 예시의 BTS에서 한 특정 멤버의 정보만 읽고 싶다면 어떻게 d...
Handling unknown number of arguments 만약에 A라는 자동차는 옵션 사항이 40개정도 되다고 가정했을 떄 A라는 자동차를 구입하는 함수를 구현한다고 했을때, 모든 옵션 사항을 parameter로 받으려면 parameter의 수가 40개가 된다. 따라서 함수의 정의도 그 만큼 늘어 날 것이다. 그리고 A라는 자동차는 계속해서 업그...
Nested Function 다른 구문들과 마찬가지로 함수도 함수안에 중첩되어 선언될 수 있다. 즉, 함수안에 함수 선언이 가능하다 중첩함수(Nested Function) 혹은 내부 함수는 상위 부모 함수안에서만 호출이 가능하다 부모함수를 벗어나 호출할 수 없다. 위 예시에서 childfunction(Nested Function)함수는 paraenfunc...
Scope Scope는 '범위'라는 뜻이다. 프로그래밍언어에서 Scope는 어떠한 객체(변수,함수 등)가 유요한 범위를 이야기한다. 범위를 벗어나면 해당 객체는 사용될 수 없다. 파이썬에서 Scope는 항상 객체가 선언된 지점에서 위로는 상위 객체 까지, 아래로는 모든 하위 객체들과 그 안에까지 범위를 갖는다. Local Scope Enclosed Sc...
Class Class는 많은 사전적의미 중 "부류"라는 의미에 가깝다. "부류"는 영어로 "kind", "Category"의미를 갖고 있다. 국어사전에는 동일한 범주에 속하는 대상들을 일정한 기준에 따라 나우어 놓은 갈래라고 나온다. 즉, 공통점이 많은 사람들을 가리켜 "부류"라고 하는 것이다. 예를들어 image.png 여기서 Class는 'Comed...
Modules & Packages 파이썬에서 module은 변수나 함수 그리고 클래스 등을 모아놓는 파일이다. 따로 모아놓는 이유는 다음과 같다. 다른 파일에서 재사용이 가능하도록 전체 코드가 한 파일에 넣기에는 너무 커졌을때 여러 파일로 나누어서 정리하도록 위에서 len()함수는 코드내 직접 만든적이 없는 함수이다. 즉, 파이썬에서 이미 모듈로 구현...
Import Search 순서 sys.module built-in modules sys.path sys.module 파이썬이 package나 module을 찾기위해 제일 먼저 확인하는 것이 sys.module이다 sys.module은 단순한 dictionary 이다. 그리고 이미 import된 module과 package들을 저장하고 있다. 즉, 한번 i...
Exceptions Exceptions이란 '예외'라는 뜻이다. 그렇다면 파이썬에서 예외상황은 언제를 이야기 하는 걸까? 당연히 의도하지 않은 Error가 났을 경우 상황이 일어나는 경우를 일반적으로 Exceptions이 이어났다고 한다 파이썬에서 보통 Exception이 발생하면, 발생한 코드 위치에서 다음 코드들이 실행되지 않고 곧바로 프로그램이 종료를...
리스트(List) 파이썬이 제공하는 시퀀스 자료구조인 리스트는 C언어 또는 Java언어에서 사용하는 배열(Array)과 가장 흡사하고, 스택(stack)과 큐(Queue)및 데크(Deque)를 구현할 때에도 자주 사용되는 자료구조이다. list는 여러 element로 구성되어 있으며, 문자열처럼 각 element들에 순서가 있고, 그 순서를 인덱스(inde...
Sequence 문자열, 리스트, 튜플 등의 인덱스(index)를 가지는 자료형 많은 양을 가지고 있다 순서가 있다(index 있음) 반복문에서 사용가능하다 문자열, 리스트, 튜플 비교 string, list, tuple 비교 indexing 비교 for 문 비교 len() 함수 if 문, in 문
클래스(Class)와 인스턴스(Instance) 클래스(Class) 반복되는 불필요한 소스코드를 최소화 하면서 현실 세계의 사물을 컴퓨터 프로그래밍 상에서 쉽게 표현할 수 있도록 해주는 프로그래밍 기술 인스턴스(Instance) 인스턴스(Instance) : 클래스로 정의된 객체를 프로그램 상에서 이용할 수 있게 만든 변수 클래스 구성 클래스 멤버 클래...
input() 사용자로부터 콘솔로 입력을 받는 함수 int() 정수 자료형으로 변환 float() 문자열, 정수 등의 자료형을 실수형으로 변환 max(), min() 시퀀스 자료형에 포함되어 있는 원소 중 최대값 혹은 최소값 bin(), hex() bin() : 10진수를 2진수로 변환 hex() : 10진수를 16진수로 변환 round() 반올림...
문자열 자료형 뒤집기 슬라이싱 활용하여 뒤집기 len() 문자열의 길이를 출력 isalpha() 특정한 문자열이 문자로만 이루어져 있는지 확인 공백은 문자로 안봄 isdigit() 특정한 문자열이 숫자로만 이루어져 있는지 확인 공백은 숫자로 안봄 isalnum() 특정한 문자열이 문자와 숫자로만 이루어져 있는지 확인 공백은 문자나 숫자로 안봄 jo...
index(원소) 리스트 내 특정한 원소의 인덱스를 찾기 reverse() 리스트의 원소를 뒤집기 sum(리스트 자료형) 리스트의 모든 원소의 합을 구함 range(시작, 끝) 특정 범위(시작, 끝)를 지정함 끝자리 숫자는 포함하지 않음 (ex. range(5, 10) => 5, 6, 7, 8, 9) list() 특정 범위의 원소를 가지는 리스트를 ...
람다식 함수의 형태를 더욱 짧게 쓸 수 있도록 해주는 문법 map() 다수의 원소에 대한 함수의 결과를 한번에 얻을 수 있도록 도와줌
파이썬 built-in 함수list, dictionary 와 같은 iterable한 데이터를 인자로 받아 list 안의 개별 element를 함수의 인자로 전달하여 결과를 list 형태로 반환iterable 형태인 list를 인자로 받아, 개별 element를 func
Python에서의 반복문은 for in문과 while문 지원반복가능한 객체(iterable 객체)의 element를 반복문을 통해 리턴iterable 객체는 list, dictionary, set, string, tuple, range, 등등collections, it
요소를 삭제하거나 변경할 수 있음mutable(가변성)iterable(순차적인)list + list 형식으로 서로 다른 리스트를 붙임 가능서로 다른 type의 요소들을 담을 수 있음요소를 삭제하거나 변경할 수 없음immutable(불변성)iterable(순차적인)tup
INTRO python 3.8 secrets — Generate secure random numbers for managing secrets - python3.8.6