[Python] 파이썬 학습일지 01

이소티·2023년 4월 16일

python

목록 보기
1/33

1. 데이터와 메모리


  • 컴파일러 : 작성한 코드를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 것
    ㄴ 소스 파일 > 기계어 > 실행
    ㄴ 소스 전체를 실행 파일로 만든 후 기계에서 실행 = 번역
    ㄴ C/C++, java

  • 인터프리터 : 실행 파일을 만들지 않고 바로 기계어로 변환
    ㄴ 소스 파일 > 실행
    ㄴ 필요한 소스 코드만 그때 그때 실행 = 동시 통역
    ㄴ Python



2. 변수


  • 변수 : 데이터가 저장되어 있는 메모리의 특정 공간

  • 변수를 처음 정의할 때 반드시 초기화 를 해야 함

  • 변수 사용하는 이유 --> 데이터 재사용 (프로그램을 보다 효율적으로 관리할 수 있음)

  • 변수 작성법

    • 영문 사용
    • 첫 번째는 소문자로
    • 숫자는 사용 가능하나 첫 번째로는 'X'
    • 가급적 데이터의 의미를 파악할 수 있도록
    • 특수문자 사용 'X' (언더바는 'O')
    • 공백문자 'X'
      ex. customerBankAccount, customer_bank_account



3. 자료형

  • 문자 ' str( ) '
  • 정수 ' int( ) '
  • 실수 ' float( ) '
  • 논리형 ' bool( ) '

  • 총 4가지

  • 정수는 메모리가 허용되는 한 무한 사용 가능

  • 실수는 대략 소수점 이하 17~18번째에서 데이터 손실 발생

  • 참고로, 빈 문자는 데이터가 없고 공백 문자는 데이터가 있다.



4. 데이터 입출력


  • 입력
 input()
  • 출력
 #1.
 print(f'User : {userName}')
 
 #2.
 print('User : {}'.format(userName))
 
 #3.
 print('User : %s' % userName)
 # 만약 이어 쓰고 싶다면 
 print(##, end=' ')
 print(##)
  • 탭 -> \t
  • 엔터 -> \n
  • 문자열인데 중간에 ' 들어가있으면 앞에 역슬래쉬 해주면 됨



5. format( )과 형식문자


  • %s -> 문자열
  • %d -> 정수
  • %f -> 실수
  print('User name : %s' % userName)
  print('User name : %s, User age : %d' %(userName,userage))
  
  print('Pi : %f' % 3.14)
  print('Pi : %d' % 3.14)
  • %.nf -> 소수점 n자리 표현
  print('Pi : %.0f' % 3.141592)
  print('Pi : %.4f' % 3.141592)



6. 산술 연산자

+, -, *, / , %, //, **

  • 곱셈, 나눗셈

  • 나머지와 몫

    • 0을 나눗셈하는 경우 -> 결과 항상 0

    • 0으로 나누는 경우 -> Error 발생

    • 나눗셈 결과는 항상 float

    • 	a // b
    • 나머지

      	a % b
    • 몫과 나머지 한 번에

      	divmod(a,b)

  • 거듭제곱

    	a ** b
    • a의 b 제곱근

      		a ** (1/b)
    • 모듈 사용

      		import math
      		math.sqrt(a)
      		math.pow(a,b)



7. 복합 연산자

=, +=, -=, *=, /=, %=, //=



8. 비교 연산자

<, >=, >, <=, ==, !=

  • 문자 비교 시 아스키 코드 이용
  print('\'A\' -> {}'.format(ord('A')))
  print('\'B\' -> {}'.format(ord('S')))
  
  print('65 -> {}'.format(chr(65)))
  print('83 -> {}'.format(chr(83)))



9. 논리 연산자

and, or, not

  • and
    • 모두 True인 경우에만 True 반환
  • or
    • 하나라도 True이면 True 반환



10. operator 모듈


  • 모듈 : 누군가 이미 만들어 놓은 기능

    + -> operator.add(a,b)
    - -> operator.sub(a,b)
    * -> operator.mul(a,b)
    / -> operator.truediv(a,b)
    // -> operator.floordiv(a,b)
    % -> operator.mod(a,b)
    ** -> operator.pow(a,b)


    == -> operator.eq(a,b)
    != -> operator.ne(a,b)
    > -> operator.gt(a,b)
    >= -> operator.ge(a,b)
    < -> operator.lt(a,b)
    <= -> operator.le(a,b)


    and -> operator.and_(a,b)
    or -> operator.or_(a,b)
    not -> operator.not_(a,b)



profile
데이터 관련 학습 일지

0개의 댓글