TIL - 03/24 - Python

Sung Jun Jin·2020년 3월 24일
0

TIL

목록 보기
2/25

Data Types

Python의 데이터 타입들이다.

  1. Integer : 정수 값
  2. Float : 소수점 숫자
  3. Complex Numbers : 복소수, 파이썬에서 허수는 j로 표현한다. ex) 3 + 2j
  4. String
  5. Boolean

변수 이름 규칙

  • 변수 이름은 영어 알파벳과 숫자, 그리고 underscore(_)로만 구성될 수 있다
  • 변수 이름 첫글자는 알파벳이나 underscore로만 시작해야 한다
  • 영어 알파벳은 대문자와 소문자가 구별이 된다

정수 나누기, Exponential, 연산순위

보통 나눗셈

5 / 10 # 0.5 출력

정수 나눗셈은 //을 사용한다 정수가 필요한 상황에서 사용하면 유용하다.

7 // 2 # 3 출력

파이썬에서 10의 2승은 다음과 같이 표현해줄 수 있다

10 ** 2 # 100 출력

파이썬의 우선 연산순위

1.( )
2. *
3.
/ %
4. + -

AND 조건 OR 조건

1. and

if appearance == '준수' and good_singer == True :	
    print("아이돌")

2. or

if age > 19 or age < 30 :
    print("19이상, 30살이하")

and, or 조건을 혼합해서 사용하는 경우 코드의 가독성을 위해 괄호를 넣어주는게 좋다
ex)

if (age > 19 and age < 30) or (married == True and income < 1000000) :
   print("대출 우대자입니다")

Function Parameters

1. Positional Arguments (기본형)

def love_you(my_name,your_name) :
  print(f"{my_name} loves {your_name}")
  
love_you("아이유","정우성")  # 출력 : 아이유 loves 정우성

2. Keyword Arguments


def love_you(my_name,your_name) :
  print(f"{my_name} loves {your_name}")
  
love_you(your_name = "정우성", my_name="아이유") # 출력 : 아이유 loves 정우성

기본형처럼 순서대로 parameter를 넣어줄 수 있지만 keyword argument를 사용하면 순서 상관없이 parameter를 넘겨줄 수 있다.

3. Mixing positional arguments and keyword arguments

positional argument와 keyword argument를 혼합해서 사용할 수 있다.

def love_you(my_name,your_name) :
    print(f"{my_name} loves {your_name}")

love_you("아이유",your_name="정우성") # 출력 아이유 loves 정우성

하지만 이 둘을 섞어서 사용할 경우 positional argument의 원래 순서는 지켜줘야 한다.

love_you(your_name="정우성",my_name) # 에러

Parameter Default Value

함수에 default 값의 parameter를 줄 수 있다.

def love_you(my_name, your_name = "진성준") :
    print(f"{my_name} loves {your_name}")
    
love_you("정우성") # 정우성 loves 진성준     

여기서 첫 번째 parameter로 default value paramter를 정의하면 안된다.

ex)

def love_you(my_name="진성준", your_name) :
    print(f"{my_name} loves {your_name}") 
    
    
love_you("정우성") # 에러 non-default argument follows default argument

위의 코드를 예시로 들어보자

함수를 호출하는 부분에서 넘어가는 "정우성"이라는 parameter가 love_you 함수에서 my_name으로 넘어가는 건지, 아니면 my_name을 default parameter 값인 "진성준"으로 남겨놓고 그 뒤의 parameter인 your_name으로 넘어가는 건지 모호해지기 때문이다.

profile
주니어 개발쟈🤦‍♂️

0개의 댓글