ABOUT ME

초보 개발자의 코딩 노트( 코딩탕탕)

Today
Yesterday
Total
  • Python 문법 기초 1 - 변수의 type, 주소값(사물함 키), 예약어, 자료형
    Python 2022. 10. 21. 18:20

     

    주석처리

    '''
    여러 줄
    주석
    '''
    
    """
    여러 줄
    주석
    """
    
    # 한 줄 주석

    싱글따음표와 쌍따음표만 구분 잘하면 양쪽 다 가능하다. 한 줄 주석은 # 이다.

     

    var1 = '안녕'
    var1 = 5
    print(var1)
    # 변수 선언시 type 을 선언하지 않는다.
    
    print()
    a = 10
    b = 12.5
    c = b
    print(a, ' ', b, ' ', c)
    print('주소출력: ', id(a), ' ', id(b), ' ', id(c))
    print(a is b, a == b) # 주소 비교, 값 비교
    print(c is b, c == b)
    
    
    <console>
    5
    10   12.5   12.5
    주소출력:  2785773644368   2785778739440   2785778739440
    False False
    True True

    파이썬의 특징은 자바와 다르게 변수를 선언할 시 type을 지정하지 않아도 된다. 즉 파이썬이 알아서 int면 int, String이면 str로 설정해준다. 위의 a is b의 의미는 주소값(사물함 키)을 비교하는 것이다.

     

    aa = [1000]
    bb = [1000]
    print(aa == bb, aa is bb)
    print(id(aa), ' ', id(bb))
    
    
    <console>
    True False
    2785779635328   2785779784512

    aa와 bb의 내용값은 같아 True가 나오지만, 주소값은 다르기때문에 False가 나왔다.

     

    A = 1; a = 2;
    print('A+a', A + a, id(A), id(a))
    
    
    <console>
    A+a 3 2785773644080 2785773644112

    변수 명은 대문자, 소문자를 구분한다.

     

    import keyword
    print('키워드(예약어) 목록 : ', keyword.kwlist)
    
    
    <console>
    키워드(예약어) 목록 : ['False', 'None', 'True', 'peg_parser', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

    예약어는 파이썬에서 이미 지정해놓은 키워드이기때문에 변수로 사용할 수 없다.

     

    print(10, oct(10), hex(10), bin(10))
    print(10, 0o12, 0xa, 0b1010)
    
    
    <console>
    10 0o12 0xa 0b1010
    10 10 10 10

    각각 2(bin),8(oct),16(hex) 진법이다. 위 처럼 나타낼 수 있다.

     

    print('자료형')
    print(3, type(3))
    print(3.4, type(3.4))
    print(3+4j, type(3+4j))
    print(True, type(True))
    print('good', type('good'))
    
    print((1,), type((1,)))
    print([1], type([1]))
    print({1}, type({1}))
    print({'k':1}, type({'k':1}))
    
    print(isinstance(1.2, int))
    print(isinstance(1.2, float))
    
    <console>
    자료형
    3 <class 'int'>
    3.4 <class 'float'>
    (3+4j) <class 'complex'>
    True <class 'bool'>
    good <class 'str'>
    (1,) <class 'tuple'>
    [1] <class 'list'>
    {1} <class 'set'>
    {'k': 1} <class 'dict'>
    False
    True

    2, 3번째 줄의 코드를 보면 알 수 있듯이 타입을 알아서 정해준다.

    4번째 줄은 실수와 허수로 나뉘어질 수 있다. 잘 사용하지는 않는다.(데이터분석에서 안 나옴)

    5번째는 boolean 타입의 bool 타입이고, 6번째는 String 타입의 str 타입이다.

    8번째는 tuple 타입으로 list 타입과 비슷하지만 소괄호로 감싸고 있다.

    9번째는 list 타입으로 여러개의 값을 넣을 때 사용한다.

    10번째는 set 타입으로 값을 여러개 넣을 수도 있지만 순서가 없고, 중복을 허용하지 않는다.

    11번째는 dict 타입으로 key : value 로 구성이 되며 json을 사용하기 위해 많이 사용된다.

    그 밑은 타입을 확인하기 위한 함수를 호출한 것이다.

    'Python' 카테고리의 다른 글

    댓글

Designed by Tistory.