본문 바로가기

[자기계발]/유튜브로 코딩배우기

<Nomad Coders> 파이썬 이론 1.0~

반응형

명확한 질문 하기

에러에 관한 도움을 받으려면

1. Purpose

2. WHAT I WANT
3. What I have done
4. What kind of error happened
5. How I wrote down the code

must include these 5 and ask!

 

 

#Python code 뿐만 아니라 다양한 프로그래밍 언어를 다운로드 없이 브라우저에서 작성할 수 있게 도와주는

repl.it 사이트 이용하자.

 

#variable(변수)을 생성하는 방법

변수의 이름을 길게 지어야 할 때 단어끼리 분리되길 원해서, a_ 와 단어로 연결해준다. snake case라고 붙인다.

  1. a_string = 문자열 " " or ' ' 안에 넣어줘야함
  2. a_number = 숫자
  3. a_float = . 다음에 숫자가 떠다닌다고 해서 float 소수점 있는 숫자
  4. a_boolean = True / Flase
  5. a_None = None 없다. nothing. 파이썬에만 있다.

 

#sequence type은 list와 같다. days = ["Mon", "Tue", "Wed", "Thur", "Fri", 'Sat"]print(days) 

 

#파이썬의 학교에 가서 list의 기능들을 볼 수 있다.docs.python.org/ko/3/library/index.html

 

파이썬 표준 라이브러리 — Python 3.9.1 문서

파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표준 라이브러리를 설명합

docs.python.org

x in s

s 의 항목 중 하나가 x 와 같으면 True, 그렇지 않으면 False

print("mon" in days) = True

s[i]

s  i 번째 항목, 0에서 시작합니다

print(days[2]) = Wed  

컴퓨터는 0 부터 인식하므로 3을 칠시에 Thur이 나온다.

len(s)

s 의 길이

print(len(days)) = 6  

days 안에 단어가 몇 개 인지

 

 

mutable operations = 값을 변경할 수 있다. (list, dictionary)

list, dictionary)immutable operations = 값을 변경할 수 없다. (tuple)

s.append(x)

시퀀스의 끝에 x 를 추가합니다 (s[len(s):len(s)] = [x] 와 같습니다)

days.append("Sun")print(days) 하면 SUN이 추가 된다. list는 sequence지만 수정이 가능하다. = mutable 하다 = 가변 시퀀스 형

s.reverse()

제자리에서 s 의 항목들의 순서를 뒤집습니다

days.reverse()print(days) 하면 데이터를 뒤집어서 보여준다. 끝이 처음으로 오게 끔.다른언어들은 이렇게 하기 위해서는 더 복잡한 코드가 필요하다.  파이썬의 장점.

 

#1.2 Tuples and Dicts, #1.3 Built in Functions, #1.4 Creating a Your First Python Function 

튜플은 아무도 변경할 수 없는 불변 시퀀스인데, 보통 이질적인 데이터의 모음을 저장하는 데 사용됩니다. 튜플은 등질적인 데이터의 불변 시퀀스가 필요한 경우에도 사용됩니다. ()로 감싸서 만들 수 있다.

immutable operations

days = ("Mon", "Tue", "Wed", "Thur", "Fri", "Sat")

 

dictionary

nico = {

"name": "Nico",

"age" : 29,

"Korean": True,
"fav_food": ["Kimchi",
"Sashimi"]

}

이것을 dictionary라고 부르고  {}안에 감싸서 만든다. 이 안에 list, tuple, number, boolean 등 [] 을 넣든가 해서 다양한 type 으로 저장이 가능하다.

print(nico)을 입력하면 nico에 대한 값이 쭉 뜬다. 정보를 가를 하려면

nico["handsome"] = True
print(nico)

를 입력하면 추가된 값도 밑에 뜬다.

 

 

prin()는 함수(function) 중 하나이고 함수는 어떤 행동(기능)을 가지고 있고 계속 반복 할 수 있다. 즉, 적용하고자 하는 행동(기능)을 넣어놓고 그 기능을 반복해서 쓸 수 있다는 것.

 

len(). 이건 길이가 얼마인지 알아서 계산해준다.print(len.(dsfsadfsdafsdafsdafasdf))= 21built - in function 은 집 사면 기본 옵션으로 있는 빌트인 냉장고, 빌트인 전자레인지 마냥 파이썬 깔면 그냥 딸려오는 기본 내장 함수들이다.

 

#1.5 Function Arguments

define function 함수를 정의한다고 해서 def 함수명(): 을 쓰는데 파이썬의 함수는 JS처럼 {}[, ]로 묶지 않고 function body안에 tap or space bar로 띄어쓰기를 쓰면 함수 안에 있다는 것을 표현한다. 이 부분은 함수 내용이 된다.

def say_hello():   

print("hello")

print("yaya") 하면 hello 만 뜰 것임.

function의 이름뒤에 ()를 추가하면 function을 실행하는 okay 버튼을 누르는 것과 같다.

 

 

function argument
funtion의 괄호 안에 넣어주는 것을 argument(인수)라고 한다.
def say_hello(who):
print("hello", who)
say_hello("sung")

who 자리에 valid한 데이터는 다 들어갈 수 있음.
argument를 통해 함수에 인풋을 넣는다고 생각하면 됨.
def plus(a,b):
     print (a+b)


plus (2,5)

하면 7 뜸

def minus(a,b=0):
     print (a-b)


minus (2,5)

하면 -3

 

인수를 설정한만큼 적어주지 않으면 에러가 생긴다.
원한다면 default를 정의해 줄 수 있다.

def minus(a, b=0)     print(a-b)

 

minus(2)

 

def say _hello(name="anonymous"):     print("hello", name)

 

say_hello()say_hello("sung")

 

하면 hello anonymoushello sung이 나온다.

 

대부분의 function은 외부에서 input을 받아서 사용하게 된다. 그리고 이것은 필수적으로 같이 사용된다. (name, 계산기 plus에서의 a,b 같은)

 

#1.6 Returns

def p_plus(a,b):

 print (a + b)

 

def r_plus(a,b)

 return a + b

 

p_result = p_plus(2,3)

r_result = r_plus(2,3)

 

prunt(p_result, r_result)

#1.7 Keyworded Arguments

Function을 활용할 때 '()'안 변수의 순서에 맞게 함수들이 실행된다는 것을 알 수 있다.

def say_hello(name, age):

     return "hello" + name + "you are" + age + "years old"

 

hello = say_hello(age="12", name="nico"

print(hello)


가끔 변수들의 수가 많아 순서가 햇갈릴 수가 있는데 이를 해결할 방법으로 Keyworded Arguments를 활용할 수 있다. 각 변수에 이름을 지정해주는 방식인데 이를 통해 순서가 뒤바뀌더라도 문제없이 function이 실행된다는 사실을 알 수 있다.

원래는 result = plus(a=1, b=30) Positional Arguement 하겠지만 keyworded Arguement는 인자인데(argument) 인자의 순서를 위치에 따라서 정해지는 게 아닌 argument의 이름으로 쌍을 이뤄주는 것

 

def plus(a, b):

  return a - b

 

result = plus(b=30, a=1)

print(result)

 

하면 -29가 나온다. 

string 안에 변수명을 써주고 싶을 때,

변수이름에는 중괄호를 써주고 string 맨 앞에 f를 붙여준다.

 

def say_hello(name, age):

     return f"hello {name} you are {age} years old"

hello = say_hello (age="12", name="nico")

print(hello) 

 

( "print(hello)" 이것도 쳐야지 나온다.)

argument의 순서를 신경쓰고 싶지 않을 때는 위의 방법으로 입력이 가능하다.


argument가 많아지면, 순서를 실수할 수 있기 때문에 이 방법도 중요하다!

#1.8 Code Challenge! (01:37)

def Plus(a, b):

  return a + b

 

def Minus(a, b):

  return a - b

 

def Times(a, b):

  return a * b

 

def Division(a,b):

  return a/b

 

def Negetion(a,b):

  return a//b

 

def Remainder(a, b):

  return a % b

def Power(a, b):

  return a ** b

 

print(Plus(9, 4))

print(Minus(9, 4))

print(Times(9, 4))

print(Division(9, 4))

print(Remainder(9, 4))

print(Negetion(9,4))

print(Power(9, 4))   - 9*9*9*9 라는 뜻

#1.9 Conditionals part One

Function을 만들 때 if와 else를 활용하여 조건문을 만들 수 있다.
조건문을 활용하여 function을 실행할 때 변수의 상태에 따라 다른 명령들이 실행된다.

 

def plus(a ,b):

 if type(b) is int or type(b) is float:

   return a + b

 else:

   return None

 

print(plus(12, 1.2))

 

 

return은 안쪽에 있어야 한다.

반응형