Python(파이썬) 기본문법

안요한·2022년 5월 18일
0

Python 기초

목록 보기
2/8

데이터 다루기 - 수, 텍스트, 비트

  • 파이썬에서는 모든 자료를 객체로 구현

    • 내장객체
      • 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
    • 사용자 생성객체
      • 클래스
  • 수 다루기

    • 정수, 실수, 복소수
    • 연산자 - , +, * , / 등등
    • 내장(수학)함수 - abs함수 등
    • 라이브러리 모듈 - math 모듈 등
  • 텍스트 다루기

    • 문자열
    • 연산자 +, * , []
    • 내장 함수 len 함수 등
    • 라이브러리 모듈 string 모듈 등
  • 수와 텍스트 변환 (형 변환)

  • 비트 다루기

    • 시프트 연산자
    • 비트 논리 연산자
  • 파이썬에서 변수란?(핵심)

    • 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
      • 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
      • 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급

변수

  • 실습 1
  • 실습 2

수 다루기

  • 파이썬은 기본적으로 지원하는 세 종류의 수

    • 정수
      • 음의 정수, 0, 양의 정수
      • 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
      • 변수 형식 확인
    • 실수
    • 복소수
  • 파이썬에서 제공하는 사칙 연산자

    연산기호
    더하기+
    빼기-
    곱하기*
    나눗셈의 몫 구하기(정수 나누기)//
    나눗셈의 나머지 구하기%
    나누기(부동소수점 나누기)/
    • 나눗셈의 몫 연산과 나머지 연산
    • 참고
  • 10진수, 2진수, 16진수

    • 10진수를 16진수 문자열로 변환
    • 16진수 데이터를 변수에 할당
  • 0x, 0b, 0o
    • 16진수 접두사 : 0x
    • 2진수 접두사 : 0b
    • 8진수 접두사 : 0o
  • 10진수를 2진수 문자열로 변환
  • 2진수를 변수에 할당
    a = 0b100
    a
    4
    
    b = 0b1001
    b
    9
    
    c = 0b11111111
    c
    255

내장 함수를 이용한 계산

  • 절대값, 버림과 반올림
함수설명비고
abs()절대값 계산 함수내장 함수
round()반올림 계산 함수내장 함수
trunc()버림 계산 함수math 모듈
abs(10)
10
abs(-10)
10

round(1.4)
1
round(1.5)
2
  • math 모듈
import math

math.pi
3.141592653589793

math.e
2.718281828459045

math.trunc(1.4)
1

math.trunc(1.5)
1

# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
  • 팩토리얼
    • 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
      math.factorial(5)
      120
      
      math.factorial(10)
      3628800
  • 제곱과 제곱근
함수설명비고
**제곱 연산연산자
pow()**와 같습니다math 모듈
sqrt()제곱근 연산math 모듈
3 ** 3
27

math.pow(3, 3)
27.0

math.sqrt(4)
2.0

math.sqrt(16)
4.0

27 ** (1/3)
3.0

math.pow(81, 0.5)
9.0

텍스트 다루기

  • 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
    • 연산자가 문자열을 분리하는 것은 아님!
  • 시작 오프셋은 0, 1, 2..
  • 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
  • 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
  • [start:end:step] : (end-1) 오프셋까지 추출
  • [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'

s = 'Good Morning'
s[0:4]  #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'

a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
  • 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
  • in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
  • len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'

'Good' in a
True
'X' in a
False

len(a)
12
  • startswith()
    • 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
  • endswith()
    • 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
  • find(), rfind()
    • 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
  • count
    • 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
  • replace()
    • 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
    • a = ‘Hello, World’
    • b = a.replace(’World’, ‘Korea)
  • split()
    • 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
  • format()
    • a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
    • b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)

수에서 텍스트로, 텍스트에서 수로

print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()

result = int(a) * int(b)

print("{0} * {1} = {2}".format(a, b, result))

#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요: 
10
두 번째 수를 입력하세요: 
23
10 * 23 = 230
profile
걍이렇게돼브렀다리

0개의 댓글