#00 Python Basics

Elliott·2021년 5월 3일
0

Note

Python Standard Library
https://docs.python.org/3/library/
: 파이썬이 어떻게 작동하는지에 대한 모든 정보들이 적혀 있는 문서

# Data types & Variables

a_string = "string"
b_number(integer) = 3
c_number(integer) = 5
d_float = 6.12
e_boolean = True/False
f_nonetype = None
g_list = ["Mon", "Tue", "Wed", "Thu", "Fri"]

=> None은 boolean과 비슷한데, 참도 거짓도 아닌 nothingness를 뜻하는 말

이런 식으로 변수 지정.

print(b+c) 이런 식으로 프린트 가능. 스트링은 무조건 따옴표/쌍따옴표 안에.

  • "False"와 False는 완전히 다른 것
  • 자바스크립트에선 true/false
  • type(데이터) 로 데이터 타입 확인 가능 => print(type(데이터))
  • none은 자바스크립트의 null과 비슷하다.
  • 변수 이름을 길게 지을 때 _(underscore)를 사용한다. 뱀 같다 하여 이러한 표기법을 snake case라고 한다. ex. hello_this_is_a_variable
  • 자바스크립트에서의 convention은 HelloThisIsAVariable

# Sequence Types

  • 시퀀스 안에 내가 원하는 모든 data types을 저장할 수 있다.

List

list = ["Mon", "Tue", "Wed", "Thu", "Fri"]
  • 대괄호를 쓰고 쉼표(콤마)로 구분해주면 리스트 생성 가능
  • print(list[3]) 라고 하면 Thu 라는 결과가 나오게 할 수 있다. => 리스트 안에 들어가 있는 값(value)들을 따로 불러올 수 있다.
    => 맨 처음에 있는게 0

Operations

  • Mutable = I can change / Immutable = I cannot change
  • 만약에 값을 바꾸고 싶지 않은 것은 immutable sequence에 넣어줘야 한다.
  • List는 mutable sequence.
  • 따라서 common and mutable sequence operations 사용 가능

Tuple

Tuple = ("Mon", "Tue", "Wed", "Thu", "Fri")
  • Tuple은 immutable sequence. add, reverse, delete, insert 등등 바꿀 수 없다.
  • 따라서 list와는 달리 common sequence operations 만 사용 가능
  • [ ] 대신 ( ) 사용
  • It's the same as list, but I cannot change it. What can I do with Tuple?
    위에 캡쳐에 적힌 Common Sequence Operations만 가능

Dictionary

  • 이런 식으로 dictionary를 만들 수 있다. key:value 형식으로 키와 값을 설정하는 것.
  • Dictionary는 { } 으로 만든다.

  • 그러면 이런 식으로, name 값인 mememe만, fav_fruit 값인 망고 블루베리만 뽑아낼 수 있다.

  • 이런 식으로 딕셔너리 키와 값을 추가할 수도 있다.

# Functions

  • function은 어떤 행동(기능)을 가지고 그 기능을 계속 수행하는 것. 예를 들어 로그인창을 만든다 할 때, 우리는 email과 password를 얻고 유저에게 쿠키를 주길 원할 것, 그걸 반복하게 하는 기능을 만드는 것. 비디오 게임을 만들 때 space키를 누르면 캐릭터가 점프하는 것, that is a behavior that I want to repeat over and over again. That's the purpose of function.

Built in Functions

https://docs.python.org/3/library/functions.html

  • print()

  • len()

  • int()

  • float()

  • tuple()

  • str() >>> 아래서부터 네 개로 데이터 타입을 바꿀 수 있다.

  • strip() method >>> string의 앞뒤 공백등을 자를 수 있는 method. 괄호 안에 아무것도 안 쓰면 앞뒤 공백이 잘리고 어떠한 문자를 쓰면 그 문자가 삭제된다.

    https://www.programiz.com/python-programming/methods/string/strip

Define Functions

  • def로 function을 define 해준다.

  • python은 indentation으로 function의 시작과 끝을 판단한다. 따라서 tab이든 space든 들여쓰기로 function의 안이라는 걸 표시할 수 있다. 따라서 위와 같이 function의 내용은 반드시 들여써야 function이 완성된다

  • fuction 뒤 붙는 ()는 버튼과 같다. a button that execute the function.

  • print() 처럼 ()안에 어떠한 인풋을 accept하는 function을 만들어 주려면,



이렇게 function이 가질 수 있는 arguments(인자)에 이름을 지어주면 된다.(who)

  • 인자가 있는 function을 아무 인풋 없이 실행하면 에러가 난다. 이걸 피하고 싶다면 각 인자에 default value를 줄 수도 있는데, 아래와 같이 작성하면 된다. c=0이 디폴트 값으로 적용되어 인자를 두 개만 써도 실행이 된 것.

  • 아래와 같은 식으로 계산기 만드는 것

  • Numeric types Operation(연산자)

Return

  • funtion을 만들 때 print()에 너무 집착하지 말기. 결과를 만들고 그 결과를 변수에 저장하고 싶을 수도 있다.

  • 그럴 때 return을 사용. return 키워드를 사용하면 function을 호출할 때 그 function이 return된 값으로 치환된다. 위의 코드에서 마지막 줄의 결과는 None 5
    p_result에 저장된 값은 없는 것.

*Also, return kills the function. 아래와 같이 return 밑에 쓰여진 print는 doesn't get executed. As soon as we return something on Python, the execution of that function is finished. You can only return one time. Under a return, there is no life.

  • return None 이라고 쓰면 아무것도 리턴하지 않겠다는 뜻

Keyworded Arguments

  • 위에서까지 사용한 건 Positional Argument라고 한다. 위치에 의존적인 argument라는 것. 포지션에 따라 쌍을 이룬다. 그러나 sometimes we can also use keyword Argument.

  • Keyword Argument는 포지션이 아닌 이름으로 쌍을 지어주는 것.

  • 위와 같은 식으로 적어도 인자의 위치에 상관없이 인자의 이름에 따라 minus(32, 50)한 것과 같이 function이 작동된다.

  • if you want to include variables in your string, what you have to do is to put f(format) in front of string. 그리고 변수들을 {}로 감싸준다.

  • 인자가 2개 뿐인 fucntion이라면 뭐 괜찮지만 3개, 4개 혹은 더 많으면 그 순서를 기억하는 게 골치가 아파지므로 이때 keyword argument가 유용하게 쓰인다.

# Conditionals

if - else

  • 프로그램에서 조건문이라고 불린다. 만약 ~라면 something, 아니라면 something 정도로 설명할 수 있다.

  • 아래서, 만약 if 구절 안에 있는 게 참이라면 return print("Error"), 거짓이라면, else 구절 안에 있는 것을 return.
    *indentation과 : 중요하다.


  • 두 가지 조건은 아래와 같은 식으로 써주면 된다. 두 개의 컨디션을 chaning 해줘야.

  • 아래와 같은 식으로 조건문을 사용하여 나이 체크도 가능하다.
  • if와 else 사이에 elif를 추가해줄 수도 있다. elif = else if. 조건을 여러 개 만들 수 있게 해주는 것이라 할 수 있다.

for loop

  • sequence 안에 있는 모든 각각의 값들에 대해 기능을 적용시켜주고 싶을 때 쓴다.

  • for 변수(아무거나 써도 상관없음) in 시퀀스:
    시퀀스 안 값들을 순서대로 반복할 동작

  • 여기서 변수는 작업되는 배열의 item을 가리키는 것, 이 변수가 만들어지는 것은 for문이 실행될 때.

  • 아래와 같이 조건문과 break를 사용하여 for loop를 중단시킬 수도 있다.

  • In Python, a string is also a sequence. 따라서 아래와 같이 쓰면, 각각 알파벳들이 하나씩 쭉 프린트된다.

# Modules(Python Library)

: sets of functionality that we can import to our program.

  • I don't have to install anything, the only thing I have to do is "import"

  • "import"로 math를 통째로 import 해올 수도 있지만, math 안에 있는 특정한 기능들만 아래와 같은 식으로 불러올 수도 있다. 전체 모듈을 불러오는 것보다 이렇게 특정 function만 불러오는 것이 효율성 면에서 더 권장된다.

    from math import ceil, fsum 
  • 아래와 같은 식으로 모듈 이름을 바꿔줄 수도 있다.

    from math import fsum as happy_sum
    
    print(happy_sum([1, 2.5, 3, 4, 5]))
    
  • 다음과 같은 파이썬 파일을 만들어주고 여기서 define한 function을 다른 파일에서 import 해줄 수 있다.

    from calculator import plus
  • from datetime import datetime
    datetime.today().minute/second etc.

https://docs.python.org/3/library/datetime.html

  • import time
    time.sleep(5) => 5초 동안 pause

0개의 댓글

관련 채용 정보