11주차 목 1102 (자료형(숫자형,문자열,리스트,튜플) :: newb

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11주차 목 1102 (자료형(숫자형,문자열,리스트,튜플)
    광주인력개발원 일일포스팅(메모장) 2023. 11. 2. 16:40
    728x90
    반응형

    파이썬 환경설정 후 첫 정규 수업이다.

     

    어제 설정하지 못헸던 dataspell 설정

    폰트 설정

    Editor  >> Font >> D2 coding

     

    sdknan 

    JDK가 여러개 깔려있을 때 스위칭해주는 기능

     

    회사에서는 여러 버전을 사용하기 떄문에 환경변수를 설정

     

    ★학습

     

    마크다운 문법

    # 제목(Header)
    # 제목 1 
    ## 제목 2
    ### 제목 3
    #### 제목 4
    ##### 제목 5
    ###### 제목 6
    
    이탤릭 _기울기_ 별표사용.
    볼드 **두껍게** 별표 두개사용.

     

    제목 2  이탤릭 _제목 2_

    제목 3  볼드 **제목 3** 

     

    변수

    * 데이터를 저징히고, 변하는 수 
    * 이름과 값으로 구성

     

     

    25 + 10 + 30 + 40

    내가 작성했고 아니라면 어떤 데이터인지 잘 모를 수 있음

    age1 = 25
    age2 = 10
    age3 = 30
    age4 = 40
    sum = age1 + age2 + age3 + age4
    print(sum)

    가독성이 좋고 다른사람과 협업시에도 이 숫자가 어떤걸 의미하는지 알 수 있다.

     

    a = 100
    b = 10
    print(a + b)
    print(a * b)
    print(a / b)
    print(a % b)

    %는 나머지 구하는 연산자이지만 판단문에서 더 많이쓴다

     

    변수 이름 규칙

    영문자로 +숫자 + 언더바의 형식을 사용
    ex) a, a1, a1_
    공백이 있으면 안된다.
    대소문자 구분

     

    1a = 100
    a@b = 100

    이런 변수는 사용x

     

    변수 이름은 생각하고 만들어야한다.

     

    print 함수

    기본 출력 장치로 결과를 출력
    print (변수 or 출력하고 싶은 결과물)

     

    print('Hello, World')
    print(100/100)

    Hello, World
    1.0

     

    a = 'ABCDEF'
    print(a)

    ABCDEF

     

    # 여러개의 값을 출력
    print('1', '1', 'hrllo world', c)

     

    1 1 hrllo world a

     

    print('hello world', 100/200, c, sep=' | ')
    #sep(세퍼레이터) 은 빈 공간 '' 에 이런걸 넣겠다
    print('hello world', 100/200, c, sep='\n')
    #이스케이프 문자

    hello world | 0.5 | a
    hello world
    0.5
    a

    print('hello world', end = ', ')
    #end 접미어
    print(100/200, end= ', ')

    hello world, 0.5,

     

    print(a, end= '~~~~')

     

    ABCDEF~~~~


    숫자 형태로 이루어진 자료형

    정수(int) : 1, 2, -1, 0
    실수(float) : 1.11, -1.0000, 10e5(10만), 10e-5

     

     

    type함수

    # 정수
    a = 123
    print (type(a))

    <class 'int'>

    b = 1.2
    print(type(b))

    <class 'float'>

    a = 1
    b = 1.0
    print(type(a + b))

    <class 'float'>

     

    내가 쓸 클래스의 타입을 알고 있는게 중요!

     

    # 과일 가게의 총 매출
    품목 : 
        바나나 (1000원)
        사과 (500원)
        체리 (5000원)
        
    고객 :
        손씨 : 사과 (2)
        손씨 : 체리 (3)
        김씨 : 사과 (4)
        박씨 : 바나나 (1)
        박씨 : 사과 (2)
        박씨 : 체리 (1)
        

     

    바나나 = 1000
    사과 = 500
    체리 = 5000
    
    손씨 = (사과 * 2) + (체리 * 3)
    김씨 = 사과 * 4
    박씨 = (바나나 * 1) + (사과 * 2) + (체리 * 1)
    sum= 손씨 + 김씨 + 박씨
    print('총매출:', sum)
    print('객단가:', sum / 3)

     

    총매출: 25000
    객단가: 8333.333333333334

     

    문자열?

    문자 형태의 데이터
    "" 이용하거나 ''로 감싸준다.

    a = "Hello world"
    b = 'Hello world'
    print(a, b)

    Hello world Hello world

    c = "Hello' world"
    d = 'Hello" world'
    print(c, d)

    Hello' world Hello" world

     

    e = 'Hello\' world'
    print(e)

    Hello' world

    a = '''
    Hello world
    Hello world
    '''
    print(a)

    Hello world
    Hello world

    a = """
    Hello world
    Hello world
    """
    print(a)

    Hello world
    Hello world

    a = '='
    b = '-'
    print(a + b)
    print(a * 5)

    =-
    =====

    a = 'Python '
    print(a *5)

    Python Python Python Python Python

    a = 'Hello world'
    print(a[0])
    print(a[-2])
    print(a[5])

    H
    l

    #인덱싱

    • 슬라이싱 :인덱스에 시작~ 끝 (간격)을 지정하는 방법
    print(a[0])
    print(a[1:3])
    #이상 : 미만
    print(a[0:3])
    print(a[:3])
    print(a[3:])

    H
    el
    Hel
    Hel
    lo world

    print(a[-5:])

    world

    len(a)

    11

    print(len(a[-5:]))

    5

    # 문숫지 + 문지 + 숫지
    a = 'Number'
    b = 7
    print(a, b)

    Number 7

    print(type(a))
    print(type(b))

    <class 'str'>
    <class 'int'>

    print(a + str(b))

    Number7

    print(type(int('1')))

    <class 'int'>

    print(int('1') + 1)
    print('1' + str(1))

    2
    11

    a = 123.456
    print(type(a))

    <class 'float'>

    a = 123
    print(float(a))

    123.0

    int('abc123')

    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    Cell In[36], line 1
    ----> 1 int('abc123')

    ValueError: invalid literal for int() with base 10: 'abc123'

     

    # printf 는 포맷이라는 f
    # 문자열 포맷팅
    num = 14
    a = 'My favorite number is {}'.format(num)
    print(a)

    My favorite number is 14

    a = f'My favorite number is {num}'
    print(a)

    My favorite number is 14

    num1 = 14
    num2 = 18
    a =f'My favorite number is {num1} and {num2}'
    print(a)

    My favorite number is 14 and 18

    문자열 함수

    • upper() : 대문자로 바꿔주기
    • lower() : 소문자로 바꿔주기
    • count() : 문자열 안의 특정 문자열 개수 반환
    • join() : 특정 문자열을 기준으로 문자열을 십입
    • split() : 특정 문자열을 기준으로 문자열을 나눈다.
    • replace : 특정 문자열을 지정 문자열로 변환
    • strip() : 공백제거 (lstrip, rstrip)
    • find() : 특정 문자열을 찾아 준다.
    a = 'pie'
    a.upper()

    'PIE'

    a = '                Hello world '
    a.strip()

    'Hello world'

    a = '               Hello world '
    a.rstrip()

    '               Hello world'

    a.count('ll')

    1

    " ".join('Hello')

    'H e l l o'

    '  '.join(['Hell', 'Python', 'Nice'])

    'Hell  Python  Nice'

    a = 'Hell Python Nice'
    a.split(' ')

    ['Hell', 'Python', 'Nice']

    input함수

    • 기본 입력 장치로 부터 입력된 정보를 반환한다.
      변수 = input() 의 형식으로 사용
    x = input()
    print(x, type(x))

    5 <class 'str'>

    인풋 함수는 str 타입이다 

    사용할때는 반환해서 사용

    x = input('10보다 작은 정수를 입력하세요. : ')
    print(x, type(x))

    x= int(input('10 보다 작은 정수를 입력하세요. :'))
    print(x, type(x))

    리스트

    • 요소들의 모음을 나타내는 자료형.
    • 요소들은 []로 감싼다.
    • 모든 자료형을 담을수 있다.
    a = [1, 2, 3, 4, 5]
    # 첫번째는 이름 두번째는 나이 세번째는 번호 
    # 홍길동_이름 =
    # 홍길동_나이 =
    # 홍길동_번호 =
    홍길동 = ['홍길동', 10, '010-1234-1234']
    print(홍길동)

    ['홍길동', 10, '010-1234-1234']

    a = ['홍길동', 10, '010-1234-1234']
    b = ['홍길동', 10, '010-1234-1234']
    c = ['홍길동', 10, '010-1234-1234']
    친구들 = [['홍길동', 10, '010-1234-1234'],
    ['홍길동', 10, '010-1234-1234'],
    ['홍길동', 10, '010-1234-1234']]
    print(친구들)

    [['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234'], ['홍길동', 10, '010-1234-1234']]

    print(type(a), type(친구들))

    <class 'list'> <class 'list'>

    # 인덱싱 - 슬라이싱
    print(a[0])

    홍길동

    print(a[0] + str(a[1]))

    홍길동10

    print(a[0:3])

    ['홍길동', 10, '010-1234-1234']

    print(친구들[0][0])

    홍길동

    print(친구들[1][1])

    10

    print(친구들[1][:])

    ['홍길동', 10, '010-1234-1234']

    print(친구들[-1][-1])

    010-1234-1234

    # 리스트 연산
    a = [1, 2, 3]
    b = [4, 5, 6]
    a + b

    [1, 2, 3, 4, 5, 6]

    a * b

    TypeError: can't multiply sequence by non-int of type 'list'

    a * 3

    [1, 2, 3, 1, 2, 3, 1, 2, 3]

    a + 4

    TypeError: can only concatenate list (not "int") to list

    친구들[0][0]

    '홍길동'

    친구들[0][0] = '김길동'

    '김길동'

    친구들[1][1:] = [34,'010-9874-9874']

    [34, '010-9874-9874']

    친구들
    

    [['김길동', 10, '010-1234-1234'],
     ['고길동', 34, '010-9874-9874'],
     ['청길동', 10, '010-1234-1234']]

    친구들[2][-1] = '010-1111-1111'
    친구들

    [['김길동', 10, '010-1234-1234'],
     ['고길동', 34, '010-9874-9874'],
     ['청길동', 10, '010-1111-1111']]

    리스트 함수

    • len ; 리스트의 길이를 빈환
    • sum, min, max 함수 : 리스트 요소의 총힙, 최솟값, 최댓값
    • in : 특정 요소가 리스트에 있는지 확인하는 함수
    • append : 맨 마지막 요소에 추가
    • extend : 멘 마지막 다른 리스트를 추가
    • insert : 특정 위치에 요소를 삽입한다.
    • remove, pop : 리스트의 요소를 삭제
    • join : 리스트의 요소들을 하나의 문자열에 합침.
    • split : 문자열 리스트의 요소들을 나눈다.
    a = [1, 2, 3, 4, 5]
    len(a)

    5

    sum(a)

    15

    min(a)

    1

    max(a)

    5

    a = ['a', 'b', 'c', 'd', 'e']
    # sum(a)
    print(min(a),max(a))

    a e

    'a' in a

    True

    있으면 True 없으면 False

    a = [1, 2, 3]
    a.append(4)
    a

    [1, 2, 3, 4]

    a.extend([5, 6])
    a

    [1, 2, 3, 4, 5, 6]

    a.insert(3, 8)
    a

    [1, 2, 3, 8, 4, 5, 6]

    a.remove(3)
    a

    [1, 2, 8, 4, 5, 6]

    a.pop(3)

    4

    a.append(1)
    a

    [1, 2, 8, 5, 6, 1]

    a.count(1)

    2

    a = 'a b c d'
    a.split()

    ['a', 'b', 'c', 'd']

     

    range 함수

    range(시작, 끝, 간격) => 리스트 반환

     

    list(range(1, 10))

     

    [1, 2, 3, 4, 5, 6, 7, 8, 9]

    list(range(0, 10, 2))

    [0, 2, 4, 6, 8]

     

    튜플

    • 리스트와 같다.
    • 차이점은 수정 불가능 (불변성)
    • 리스트 보다 빠르다.
    • 데이터가 변하지 않을 때 사용
    • [] x () o
    a = (1, 2, 3, 4)
    print(a, type(a))

    (1, 2, 3, 4) <class 'tuple'>

    a[1]

    2

    a[1] = 2

    TypeError: 'tuple' object does not support item assignment

    '튜플' 객체는 항목 할당을 지원하지 않습니다.

    대입 연산자가 안 먹힌다.

    # append, insert, extend, remove, pop, sort 사용 할 수 없다.

     

    sort는 데이터의 순서를 바꾸기 때문에 변경으로 볼 수 있다.

     

    728x90
    반응형
Designed by Tistory.