Python 기초 정리 2 (반복문~PEP8)

23631 단어 pythonpython
  1. for문

실행순서 : 1. 컨테이너 안에 있는 첫번째 원소가 변수에 들어가 실행명령1,2를 차례로 수행. 2. 컨테이너 안에 들어있는 원소가 다 처리되면 for문 밖에 있는 코드 실행. * 실행명령1,2를 묶어서 코드블럭이라고 함. 이를 구분하기 위해 세미콜론(:)과 탭으로 구분

→ 코드블럭에 들어갈 탭 간격은 탭을 줄 수도, 띄어쓰기를 줄 수도 있음. (4, 8, 16...) 하지만 한번 띄어쓰기 4칸을 썼으면 끝날때까지 4칸 써야 함. 4칸 썼다 탭 썼다 하면 안됨. 바로 에러남. * 귀도반로섬 아저씨는 띄어쓰기 4칸 권장!

animals = ['코끼리', '북극곰', '강아지', '고양이', '하마', '악어', '새앙토끼', '원숭이', '햄스터', '호랑이', '사자', '앵무새', '까마귀']

for animal in animals :
    print('내 이름은 {}입니다.'.format(animal))

    
내 이름은 코끼리입니다.
내 이름은 북극곰입니다.
내 이름은 강아지입니다.
내 이름은 고양이입니다.
내 이름은 하마입니다.
내 이름은 악어입니다.

내 이름은 새앙토끼입니다.
내 이름은 원숭이입니다.
내 이름은 햄스터입니다.
내 이름은 호랑이입니다.
내 이름은 사자입니다.
내 이름은 앵무새입니다.
내 이름은 까마귀입니다.

# 문자열로도 사용 가능
for str in '제리의 우당탕탕 파이썬 공부' :
    print(str)

    
제
리
의
 
우
당
탕
탕
 
파
이
썬
 
공
부
  • for문 x 2 (중첩 for문) * 들여쓰기 주의! → 파이썬으로 구구단을 출력하는 방법
    for i in range(2, 10) :
        for j in range(1, 10) :
            print('{}x{}={}'.format(i, j, i*j))
  1. while문 조건의 참,거짓 여부에 따라 반복여부를 결정

    실행순서 : 1. 조건 2. 실행할 명령1 3. 실행할 명령2 4. 조건 5. 실행할 명령1 6. 실행할 명령2 ... n. 조건이 F가 될 때까지

    count = 0
    
    while count < 3 :
        print('횟수 : ', count)
        count += 1
    
    # count += 1가 주석처리 될 시 무한 루프에 빠진다.
    
    # 결과
    횟수 :  0
    횟수 :  1
    횟수 :  2
    • continue 이 아래의 문장을 무시하고 바로 위로 올라가!
    • break 반복문을 멈춰!
    count = 0
    
    while count < 10 :
        count += 1
        if count < 5 :
            continue   # continue를 만났을 때 이 아래 실행 코드 적용안하고 다시 while문으로 돌아감. 
        print('횟수 : ', count)
        if count == 8 :
            break
    
    # 결과    
    횟수 :  5
    횟수 :  6
    횟수 :  7
    횟수 :  8
  • 조건문
    • if
      # if문 기본형
      if 조건 : 
      		실행할 명령 1
      		실행할 명령 2
    • elif
      if 조건 : 
      		실행할 명령 1
      		실행할 명령 2
      # if문의 조건이 False일 때 elif에 와서 두 번째 조건을 비교함. 
      elif 조건 : 
      		실행할 명령 1
      		실행할 명령 2
    • else
      if 조건 : 
      		실행할 명령 1
      		실행할 명령 2
      # if문의 조건이 False일 때 else를 타러 옴. 
      else : 
      		실행할 명령 1
      		실행할 명령 2
  • Comprehension → For문과 If문을 간결하게 사용하는 방법
    • 풀어쓰기

      # 1~10 숫자 중 홀수만 출력하기
      numbers = range(1,11)
      odd_numbers = []
      
      for n in numbers :
          if n % 2 == 1 :
              odd_numbers.append(n)
      
      odd_numbers
      [1, 3, 5, 7, 9]
    • 컴프리헨션 = [변수명 for 변수명 in 리스트명 if 조건문]

      # 단 한 줄로 위의 6줄을 해낼 수 있음. 
      odd_numbers = [number for number in numbers if number % 2 == 1]
      [1, 3, 5, 7, 9]
    • Operator

  • Operator
    • 할당 연산자(Assign) 오른쪽에 있는 값을 왼쪽에 할당한다.
      • =
      • 복합 할당연산자
        • += count = count + 1
        • -= count = count - 1
        • = count = count 1
        • /= count = count / 1
    • 산술 연산자(Arithmetic) 사칙 연산
        • (애스터리스크)
      • /
    • 특수 연산자
      • ** 제곱
      • //
      • % 나머지
        • 나머지 연산자를 사용해 홀수 짝수를 찾아오기

          list = range(1,8)
          # 짝수 찾아오기
          even_numbers = [n for n in list if n % 2 == 0]
          even_numbers
          [2, 4, 6]
          
          # 홀수 찾아오기
          odd_numbers = [n for n in list if n % 2 == 1]
          odd_numbers
          [1, 3, 5, 7]
    • 문자열 연산자 (파이썬의 장점)
      • + 문자열끼리 연결하는 연산자
      • * 같은 문자열이 뒤에 붙은 숫자만큼 반복되어 연결
    • 비교 연산자 → boolean 리턴
      • == 왼쪽과 오른쪽 피연산자가 같나?
      • ≠ 왼쪽과 오른쪽 피연산자가 다르나?
      • 왼쪽 피연산자가 오른쪽 피연산자 보다 큰가?

      • < 왼쪽 피연산자가 오른쪽 피연산자 보다 작은가?
      • ≥ 왼쪽 피연산자가 오른쪽 피연산자 보다 크거나 같은가?
      • ≤ 왼쪽 피연산자가 오른쪽 피연산자 보다 작거나 같은가?
    • 논리 연산자
      • and 둘 다 참이어야 참
      • or 하나라도 참이면 참
      • not 참과 거짓 뒤집기
    • Membership 리스트 안에 어떤 값 존재 여부 확인 연산자
      • in 있나?

      • not in 없나?

        김왼손과_집단지성들 = ['1','2','3','4','5','6','7','8','9','10']
        
        김왼손과_집단지성들
        ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
        
        '7' in 김왼손과_집단지성들
        True
        '11' in 김왼손과_집단지성들
        False
  • Function (사용자 정의 함수)
    1. 내장함수 파이썬 기본 제공 함수, 자료형과 관계없이 바로 사용 가능
    2. 모듈의 함수 import를 해서 가져다 쓰는 함수
    3. 사용자 정의 함수
      • 우리가 배울 내용!
        # 함수의 기본형
        def 함수이름(인자1, ...) : # def는 define의 약자
        		실행할 명령1
        		실행할 명령2
        
        		return 결과 # 있을 수도 있고 없을 수도 있음
        # 실제 활용 (여러개 인자, 한개 값 리턴)
        def add(num1,num2) :
            return num1+num2
        
        add(3,7)
        
        # 결과값
        10
        # 실제 활용 (여러개 인자, 여러개 값 리턴)
        def mul(num1,num2) :
            return num1+num2, num1*num2
        
        mul(7,8)
        
        # 결과값 => return 값이 여러개일 경우 튜플 형태로 리턴
        (15, 56)
        
        # unpacking 가능함
        my_add, my_mul = mul(7,8)
        my_add
        15
        my_mul
        56
    4. 메서드 메서드는 특정 자료형에 한 해 사용할 수 있음 자료형.함수명 으로 사용
    • 왜 함수를 써야 하는가?
      1. 재사용성 한번 쓰고 끝이 아니라 계속 다시 사용 가능
      2. 코드 관리 용이 반복되는 코드를 한 군데에 모아놓음
      3. 조립해서 사용 가능 (함수를 모아둔 것을 모듈이라고 함ㅋ)
  • Module 정의 비슷한 함수들을 모아 둔 파일. 남이 만든 걸 가져와서 사용할 땐 import 라는 키워드를 통해 사용 가능.
    • random 난수를 만들어냄
      메서드 명설명예시
      random.choice(변수명)변수명 안에 있는 요소들 중 하나를 랜덤하게 가져옴random.choice(students)
      random.sample(변수명, 개수)변수명 안에 있는 요소들 중 여러개를 랜덤하게 뽑음 (중복없음)random.sample(students, 4)
      random.randint(시작점, 종료점)범위를 정해 그 숫자 중에서 하나 뽑는 것.random.randint(8, 10)
      # 로또 번호 생성기
      import random
      print(random.sample(range(1,46),6))
      
      # 결과
      [1, 29, 3, 26, 20, 10]
  • Object 현실에 존재하는 물체들을 컴퓨터 안에 재현. 함수와 데이터를 한꺼번에 묶어서 만든 것. 파이썬에선 대부분의 것들이 객!체!
    # 기타라는 물체를 객체로 구현하면...
    guitar = {'Name' : 'G6136CST', 'Color' : 'White Lacquer', 'Family' : 'Falcon', 'Fingerstyle' : '?', 'Strumming' : '?'}
    위의 함수가 파이썬에선 이렇게 구현 됨
  • PEP8 코딩 스타일 가이드 하지만 일관성을 지키려고 비효율적인 소스를 짜진 말라!

좋은 웹페이지 즐겨찾기