[Python] 변수와 자료형_1

Ga02·2023년 9월 4일

🔍 변수(Variable)

어떠한 값(value)를 담는 저장공간과 그에 상응하는 이름

➰ 변수 이름

값의 의미를 추측할 수 있는 이름 사용

  • 규칙
    • 영문자 혹은 _(undersocer)로 시작
    • 대소문자 구분
    • 숫자로 시작할 수 없음
    • 특수문자 사용할 수 없음
    • 공백 사용할 수 없음 ➡ _로 이어줌
    • 예약어(if, while, for, ...) 사용할 수 없음

➰ 변수의 의미

변할 수 있는 것 👉🏻 값을 담는 상자

  • 숫자, 문자, 다른 데이터 타입의 형들 모두 가능
  • 변수를 저장하는 메모리를 자동으로 생성하고 주소가 생김

➰ 변수의 선언

  • 하나의 변수에 하나의 값을 대입
a=1
A=7
  • 두 개의 변수에 같은 값을 대입
a=b=1
  • 변수에 변수를 대입
a=1
a=b

➰ 변수의 출력

print() 함수를 사용하여 출력 가능

a=10
A=3
print(a)10
print(A)3

🔍 자료형(data type)

➰ 순서 자료형

  • 숫자(numbers) : 정수, long형 정수, 실수, 복소수 등
  • 문자열(strings) : 문자들의 모임
  • 리스트(Lists) : 순서를 가지는 python 객체의 집합
  • 튜플(tuples) : 순서를 가지는 python 객체의 집합

➰ 비순서 자료형

  • 딕셔너리(dictionary) : 순서를 가지지 않는 객체의 쌍(Key & value) 👉🏻 Java의 map
  • 집합(set) : 중복이 없고 순서를 가지지 않는 객체의 집합 ➡ 집합 관련 데이터 처리
  • 부울(bool) : 참과 거짓을 나타내는 자료형

🔍 숫자형(number)

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

  • 정수(integer) : 소수점이 없는 숫자
  • 실수, 부동 소수점(floating point) : 소수점이 있는 숫자

➰ 데이터 타입 출력

type() 괄호 안에 입력한 데이터 타입을 알려주는 함수

type(3)int
print(type(3))<class 'int'>

type(3.2)float
print(type(3.2))<class 'float'>

👉🏻 이렇게 type()print(type())이 다르게 나오는데, type()만 실행하면 결과가 나오지만 print()와 함께 실행하면 print()의 결과만 출력됨

➰ 연산자

  • 사칙연산자 : + - * /
  • 정수 나누기 연산자 : % 👉🏻 나머지
  • 나머지 연산자 : // 👉🏻 몫
  • 제곱 연산자 : **
print(10/3)3.3333333
print(10%3)1
print(10//3)3

➰ 파이썬 내장 함수

  • int() : 숫자나 문자열을 정수형으로 변환
  • float() : 숫자나 문자열을 실수형으로 변환
  • abs() : 절대값 출력
  • pow() : 제곱 출력 👉🏻 매개변수가 2개여야 함
#정수형 변환
print(int(6.2))6
print(int(-6.2))-6

#실수형 변환
print(float(6))6.0
print(float(-6))-6.0

#절대값
print(abs(-4))4

#제곱
print(pow(-4, 2))16

🔍 문자열 자료형(string)

" " ' '

➰ 문자열 만들기

  • """ """ ''' '''를 사용하여 여러줄의 문자 생성 사능 👉🏻 위 아래 띄어쓰기가 생김
sentence = """
가영이는
파이썬을
실습중이다
"""
practice = '''
가영이는
여러 문제를
도전하는 중이다
아자아자!
'''
print(sentence) 
print(practice)
	⬇

가영이는
파이썬을
실습중이다


가영이는
여러 문제를
도전하는 중이다
아자아자!

--------------------
  • 줄바꿈 없이 여러줄의 문자 생성 👉🏻 \ 이스케이프 문자 사용
sentence = """\
가영이는
파이썬을
실습 중이다\
"""
practice = '''\
가영이는
여러 문제를
도전하는 중이다
아자자!\
'''
print(sentence)
print(practice)
	⬇
가영이는
파이썬을
실습 중이다
가영이는
여러 문제를
도전하는 중이다
아자자!

➰ 이스케이프 문자

\n \t \\ \' \"

str1 = "1\n2"
str2 = "3\t4"
str3 = "\"큰 따옴표 출력\""
str4 = '\'작은 따옴표 출력\''
str5 = "\\역슬래시 출력\\"

print(str1)
print(str2)
print(str3)
print(str4)
print(str5)1
2
3	4
"큰 따옴표 출력"
'작은 따옴표 출력'    
\역슬래시 출력\

➰ 연산자

+ *

#문자열 연결
a="파이썬! "
b="프로그래밍!"
print(a+b) ➡ 파이썬! 프로그래밍!

#문자열 반복
equal = "=" * 30
sentence = equal + "\n파이썬을 공부중\n" + equal
print(sentence)==============================
파이썬을 공부중!
==============================

➰ 인덱싱

문자열 내부의 문자 하나를 선택 []

  • 순방향 : 0부터 시작
  • 역방향 : -1부터 시작
sentence = "가나다라마바사"
print(sentence[0]) ➡ 가
print(sentence[-1]) ➡ 사

➰ 슬라이싱

문자열의 특정 범위를 선택 [n : m]

  • 마지막 숫자를 포함하지 않음 👉🏻 n 이상 m미만
sentence = "가나다라마바사"
print(sentence[2:5]) ➡ 다라마

➰ 포맷팅

문자열 안에 어떤 값을 삽입

  • % 연산자 포맷팅 : 문자열 포맷 코드에 맞춰 바로 숫자와 문자를 대입할 때 사용
    • %d : 정수 대입
    • %f : 실수 대입
    • %c : 문자 1개 대입
    • %s : 문자열 대입
# %연산자 1개
str = "나는 %d호선을 타" %2
print(str) ➡ 나는 2호선을 타

# %연산자 2개
a = 62
b = "카페"
str = "나는 %d번 버스를 타고 %s에 가"%(a, b)
print(str) ➡ 나는 62번 버스를 타고 카페에 가
  • format()함수 포맷팅
    • {}를 포함한 문자열 뒤에 .format()으로 사용
    • 중괄호의 갯수와 format의 매개변수 갯수 동일

      💡 중괄호 안의 숫자
      인덱스는 0부터 시작하므로 숫자를 넣지 않으면 매개변수의 값이 차례로 중괄호를 채우게 됨
      if 중괄호 안에 숫자를 채우면 매개변수가 각 인덱스에 맞는 자리에 채워짐

print("나는 {}번 버스를 타고 {}호선으로 갈아타".format(3500, 2))
➡ 나는 3500번 버스를 타고 2호선으로 갈아타
print("나는 {1}번 버스를 타고 {0}호선으로 갈아타".format(3500, 2))
➡ 나는 2번 버스를 타고 3500호선으로 갈아타

a=62
b="카페"
print("나는 {}에 {}번 버스를 타고 가".format(a, b))
➡ 나는 62에 카페번 버스를 타고 가
print("나는 {}에 {}번 버스를 타고 가".format(b, a))
➡ 나는 카페에 62번 버스를 타고 가

➰ 관련 함수

  • len(" ") : 문자열 길이 출력
  • .split() : 문자열 나누기
  • .count(" ") : 문자 개수 세기
  • .replace(a, b) : 문자열 바꾸기
  • .find(' ') : 문자 위치 알려주기
  • .upper() : 대문자로 바꾸기
  • .lower() : 소문자로 바꾸기
  • .join(' ') : 문자열 삽입 👉🏻 매개변수 문자열 사이마다 변수 문자열이 들어감
str = "가영이 짱짱맨"

print(len(str))7
print(str.split())['가영이', '짱짱맨']
print(str.count("짱"))2
print(str.replace("짱", "뿡")) ➡ 가영이 뿡뿡맨
print(str.find('이'))2

str = "BaNaNa.jpg"

print(str.find('.'))6
print(str.upper()) ➡ BANANA.JPG
print(str.lower()) ➡ banana.jpg

str = "가영이".join(!!!)
print(str) ➡ !가영이!가영이!
str = "a".join("가영이")
print(str) 👉🏻 가a영a이
profile
IT꿈나무 댓츠미

0개의 댓글