파이썬 기초강의-2

DONNIE·2022년 10월 17일
0

파이썬

목록 보기
2/6

코드블록

  • if문을 중괄호로감싸지 않고 코드내 공백으로종속을 표현

변수와 자료형

변수

  • 숫자와 자료를 넣을 수 있는 상자
  • 변수명 : 상자에 붙힌 이름, 메모리에 저장됨

자료형

리스트

  • 배열
    • 항목의 인덱스는 0부터 시작
    • 배열보다 기능이 많대
    • 리스트에는 숫자, 문자, boolean 등 다양한 타입 가능
    • 자동정렬
      list[i_start:i_end]
      list[::i_setp]

    튜플

    • 리스트와 유사하게 데이터 여러개를 하나로 묶는데 이용
    • 숫자, 문자, boolea, 튜플, 세트, 딕셔너리등으로 만들 수 있음
    • 속성은 리스트와 유사
    • 데이터는 한 번 입력/생성하면 그 이후에는 항목을 변경할 수 없음
      (항목 개별 수정이 불가)
    • 소괄호를 사용함
    • 상수의 모음
    tuple()
    
    t1=(0,1,2,3,4)
    t3 = 0, => 이건 튜플
    t3 = 0 => 이건 변수
    
    print(t1[2]) => 값을 가져오는건 ㅇㅇ
    t1[2]=0 => Syntax error
    t2 = (0,5) => 이건됨

    세트

    • 수학의 집합 개념을 구현한 데이터타입
    • 데이터의 순서가 없고 데이터를 중복해서 쓸 수 없음
    • 교집합, 합집합, 차집합을 구하는 메서드를 사용할 수 있음
    • 세트만들기 중괄호로('{}') 데이터를 감싸서 만듦
set1 ={1,2,3}


t1 = (0,1,2,3,4)
t2 = 0,1,2,3,4
t3 = 0,

print(t1)
print(t2)
print(t1[2])
print(t3)

s1={1,2,3,4,5}
s2={4,5,6,7,8,9,10,10}

print (s1)
print (s2)
  • 출력값
    	````
    	{1, 2, 3, 4, 5}
    	{4, 5, 6, 7, 8, 9, 10} // 중복항목 걸러짐
s3={'a','b','b','c'}

print (s3)

````
  • 세트의 교집합, 합집합, 차집합 함수

    • intersection
    • union
    • difference : 얘만 기준 세트 순서 상관 ㅇㅇ
    집합 연산자설명기호 표시사용 예
    &교집합a n ba & b
    \ 합집합a \ ba \ b
    -차집합a - ba - b
    	````
    	print (s1.intersection(s2))
    	print (s1.union(s2))
    	print (s1.difference(s2))
    	print (s2.difference(s1))
    
    	````
  • 출력값

    	````
    	{4, 5}
    	{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    	{1, 2, 3}
    	{6, 7, 8, 9, 10}
print (s1 & s2)
print (s1 | s2)
print (s1 -s2 )
print (s2 - s1)

````
  • 출력값
{4, 5}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{1, 2, 3}
{6, 7, 8, 9, 10}

리스트, 튜플, 세트 간 타입 변환

  • 인덱스로 값 변경이 불가한 튜플을 리스트로 변환하면 값 변경 가능
  • list를 set로 형 변환하여 중복값을 제거할 수 있음
  • 그러므로 데이터 손실이 일수도 있기때문에 조심하셈
a = [1,2,3,4,5]
type(a)

b = tuple(a)

a = [1,2,3,4,5,5,5,5]
print (type(a))
print (a[0])
a = tuple(a)
print (type(a))
print (a[0])
a = set(a)
print (type(a))


print (a[0])
  • 출력값
<class 'list'>
1
<class 'tuple'>
1
<class 'set'>
TypeError


a = tuple(a)
a[0]=10
  • 출력값
TypeError: 'set' object is not subscriptable

a = list(a)
a[1]=10

print (a)


<class 'set'>
[1, 10, 3, 4, 5]
  • sum up
    • 튜플 : 게임에서 아이템 속성들을..
    • 세트 : 기상청 데이터 중 지역이 겹칠 때. ..
    • 다양한 데이터 형식을 다룰 때 파이썬이 특화됨

딕셔너리

  • 딕셔너리
    • 사전이 구성 : 표제어가 있고 그에 대한 설명/ 표제어만 찾으면 그에 대한 설명을 전부 확인할 수 있음
    • 파이썬의 딕셔너리도 사전과 유사하게 구성돼 있으며 사전의 표제어와 설명은 파이썬에서 키와 값에 해당 (key:value)
    • 키와 값이 항상 쌍으로 구성, 키를 알면 해당하는 값을 쉽게 알 수 있음
    • 딕셔너리는 인덱스 대신 키를 이용해 값을 다움
    • 딕셔너리의 키는 임의로 지정한 숫자나 문자열이 될 수 있으며, 값으로는 어떤 데이터 타입도 사용 가능
  • 딕셔너리 만들기
    • 데이터 전체를 중괄호로 감싸서 만듦
    • 키와 값의 구분은 콜론(:)
    • 키와 값으로 이뤄진 각 쌍은 콤마로(,)구분
counrty_capital = {
    "영국":"런던",
    "프랑스":"파리",
    "스위스":"베른",
    "호주":"멜버른",
    "덴마크":"코펜하겐"
    }

print (counrty_capital)
print (counrty_capital["스위스"])
counrty_capital['스위스']='안가봄'
print (counrty_capital["스위스"])
  • 값 추가하기

    counrty_capital["한국"]="서울"
    print (counrty_capital["한국"])
    
  • 출력값

    {'영국': '런던', '프랑스': '파리', '스위스': '베른', '호주': '멜버른', '덴마크': '코펜하겐'}
    베른
    안가봄
    서울
  • 값 삭제하기 (list에서도 동일하게 쓸 수 있음)

    
    del counrty_capital["한국"]
    print (counrty_capital)
    
  • 출력값

{'영국': '런던', '프랑스': '파리', '스위스': '안가봄', '호주': '멜버른', '덴마크': '코펜하겐'}

단점 key를 모르면 아무고토 할 수 없음
극복

print (counrty_capital.keys())
  • 출력값
    dict_keys(['영국', '프랑스', '스위스', '호주', '덴마크'])
  • 딕셔너리 함수 활용하기
  • list처럼 쓸 수 있으셈~~
함수명기능
key()딕셔너리에서 키 전체를 리스트 형태로 변환
values()딕셔너리에서 값 전체를 리스트 형태로 변환
items()딕셔너리에서 키와 값의 쌍을 튜플 형태로 반환
update()딕셔너리에 딕셔너리 데이터 추가
clear()모든 딕셔너리 삭제
d2 = {'일본':'도쿄','중국':'베이징'}
counrty_capital.update(d2)
print (counrty_capital)


{'영국': '런던', '프랑스': '파리', '스위스': '안가봄', '호주': '멜버른', '덴마크': '코펜하겐', '일본': '도쿄', '중국': '베이징'}
```

counrty_capital.clear()
print (counrty_capital)

d2 = {0:'가',1:'나',3:'다'}
print (d2[0])

제어문

  • 조건에 따라서 명령을 다르게 수행
  • 특정한 조건을 만조갈 때 까지 계속 반복
  • 제어문 : 코드의 진행 순서를 바꾸는 구문
    • 조건문 : 조건을 검사해 분기하는 구문
    • 반복문 : 어떤 구간이나 조건을 만족하는 동안 코드의 일부분을 반복

    if문

  • 조건에 따라 분기하는 if문
  • 지정한 조건에 따라 다르게 분기해 명령을 수행
  • 조건의 만족 여부에 따라 코드 수ㅐㅇ 결과가 달라짐
  • 단일.,.,.,.,.,조건..,.,.,
if <조건>
~코드블록~
실행
a = 90;
if a > 80 : 
    print ("맞아용")

print ("종료")
  • 출력값

    맞아용
    조건문 종료
    
    a = 70;
    if a > 80 : 
        print ("맞아용")
    
    print ("종료")
    
  • 출력값

조건문 종료 => 공백이 없기때문에 if문에 종속되지 않아 무조건 실행되는 코드.,.,

a = 90;
if a > 80 : 
    print ("맞아용.")
else :
    print ("틀려.")

print ("조건문 종료")
  • 출력값

    맞아용
    조건문 종료
    a = 77;
    if a > 80 : 
        print ("합격입니다.")
    elif a > 75 and a < 80:
        print ("예비 1번 입니다.")
    elif a > 70 and a < 75:
        print ("예비 2번 입니다.")
    else :
        print ("탈락입니다.")
    
    print ("조건문 종료")
    

    : 위에는 버그 발생 코드인 거 알쥐

  • 출력값

    예비 1번 입니다.
    조건문 종료

중첩조건문

  • 조건문안에 또 다른 조건문을 사용한 구조

    a = 77;
    if a > 80 : 
        if a >= 90 :
            print ("수석 합격입니다.")
        else :
            print ("합격입니다.")
    elif a > 70 :
        if a >- 75 :
            print ("예비 1번 입니다.")
profile
후론트엔드 개발자

0개의 댓글