안녕하세요!

Python(변수, 숫자, 문자열)을 알아보자! 본문

개발일지/python

Python(변수, 숫자, 문자열)을 알아보자!

shinyfood 2023. 11. 2. 20:59
728x90
반응형
# 문숫자 + 문자 + 숫자
a = 'Number'
b = 8
print(a,b)

Number 8

print(type(a))
print(type(b))

<class 'str'>
<class 'int'>

DataSpell로 python을 배웠다.

 

DataSpell에서는 code와 markdown 모드가 있는데 code는 말 그대로 코드작성시 사용하고, markdown은 메모장처럼 사용이 가능하다.

# 제목(Header)
# 제목 1 
## _제목 2_
### 제목 3
#### 제목 4
##### 제목 5
###### 제목 6

이텔릭체는 *별표(asterisks)* 혹은 _언더바(underscore)_를 사용하세요.
두껍게는 **별표(asterisks)** 혹은 __언더바(underscore)__를 사용하세요.
**_이텔릭체_와 두껍게**를 같이 사용할 수 있습니다.
취소선은 ~~물결표시(tilde)~~ 를 사용하세요.
<u>밑줄</u>은 `<u></u>`를 사용하세요.

해당 기능을 markdown에서 사용시 

제목(Header)

제목 1

제목 2

제목 3

제목 4

제목 5 제목 6

이텔릭체는 별표(asterisks) 혹은 _언더바(underscore)_를 사용하세요.
두껍게는 별표(asterisks) 혹은 __언더바(underscore)__를 사용하세요.
_이텔릭체_와 두껍게를 같이 사용할 수 있습니다.
취소선은 물결표시(tilde) 를 사용하세요.
밑줄은 <u></u>를 사용하세요.

 

이렇게 나타나게 된다.  참고해서 사용하도록 하자.

 

들어가기전에 출력하는방법을 알아보자면,

python에선 print 함수를 사용한다.

# print 함수
기본 출력 장치로 결과를 출력
print(변수 or 출력하고싶은 결과)
\n escape문자(줄바꿈)

 

java와 다르게 파이썬에서는 간단히 출력이 가능하다. (system.out.print.ln에 비할바가...)

 

변수

# 변수

    * 데이터를 저장하고, 변하는 수
    * 이름과 값으로 구성
    
# 변수는 왜 필요한가?

    * 변수를 사용하여 데이터에 이름을 붙여준다. 이름을 구분하기 쉽게 잘 붙여야 남들도 알아본다.
    * ex) age
    * java는 정적(정해준다), python은 동적(알아서 붙인다)
    
# 변수는 변한다.

    * 변수는 공간입니다.(메모리에 할당된 공간)
    
# 변수 이름 규칙

  **영문자로** + 숫자 + 언더바의 형식을 사용한다.
  ex) a, a1, a1_
  **공백이 있으면 안된다.**
  **대소문자 구분한다**
  **특수문자 안된다**

 

변수를 어렵게 생각하기보다는 이해하기쉽게 본인에 맞게 생각하는것도 나쁘지 않아보인다.

age1 = 25
age2 = 10

print(age1)
print(age2)

25
10

 

age1과 age2라는 변수에 25와 10의 값을 입력해주고, print를 이용하면 25와 10이라는 결과값이 출력된다.

 

a = b = 500
print(a)
print(b)

500
500

자바에서는 사용할 수 없는 a = b = 500 같은 값도 출력이 된다. (대단하다 python)

물론 실제로는 사용하는일이 거의 없다고 한다.

 

데이터의 종류

# 데이터의 종류
- 숫자형 : 정수, 실수
- 문자형 : 문자, 문자열
- 복합형 : 클래스, 리스트, 딕셔너리(object)

 

오늘은 해당 종류 중 숫자형과 문자형을 다룰 예정이다.

 

숫자형

# 숫자 형태로 이루어진 자료형
정수(int)     : 1, 2, -1, 0 << 양수
실수(float)   : 1.11, -1.000, 10e5, 10e-5
type을 생각하고 해야한다

python은 java와 다르게 type을 정해주지않아도 자동으로 인지한다.

그렇기 때문에 type을 생각하고 사용해야하며, type을 알아볼 수 있는 방법도 존재한다.

#int와 float은 더하면 float
a = 1
b = 1.0
print (type(a + b))

<class 'float'>

float이 class로 나오는 이유는 python은 모든것이 객체라고 생각하면 되는데, 숫자 문자열, 리스트, 딕셔너리 등 모든 데이터 타입이 내부적으로는 class기 때문이다. 그렇기 때문에 type으로 확인해도 class ooo 이렇게 나오는것이다.

 

 

여기서 문제

 

과일 가게의 총 매출

품목 : 바나나(1000원), 사과(500원), 체리(5000원)

고객 :
손씨 : 사과(2)
손씨 : 체리(3)
김씨 : 사과(4)
박씨 : 바나나(1)
박씨 : 사과(2)
박씨 : 체리(1)

객단가(고객 평균 매출)을 구하시오

 

banana = 1000
apple = 500
cherry = 5000
son = (apple*2) + (cherry*3)
kim = (apple*4)
park = (banana*1) + (apple*2) + (cherry*1)
print (son,kim,park,sep='원',end='원\n')
total = son + kim + park
print('총매출:',total,end='원''\n')
print('객단가:',total/3,end='원\n')

16000원2000원7000원
총매출: 25000원
객단가: 8333.333333333334원

이런식으로 해결하면 된다.

변수는 대중적으로 알아 볼 수 있게 사용하도록 하자.

 

문자열

  • 문자 형태의 데이터
  • " "이용하거나 ’ ’로 감싸준다

python에서 문자열의 특징은 ' ' 을쓰든, " "을 쓰든 통일만 해주면 된다는 점이다.

특히 javascript에서 ` ` 을 사용하는것처럼 ''' ''' 을 사용하면 사이의 모든게 문자열로 된다는 점이다.

e= 'hello/`\world'
print(e)

hello/`\world
a = '''
Hello
hi
'''
b = """
hello
welcome
"""
print(a)
print(b)

Hello
hi


hello
welcome

이런 방식이다.

 

또한 특이하게도 

a = '='
b = '-'
print(a + b)
print(a * 5)
print(b * 3)

=-
=====
---

이런것이 가능하다.

 

# 인덱싱
- 슬라이싱 : 인덱스의 시작 ~ 끝 간격 지정 방법
a = 'Hello world'
print(a[0])
print(a[-1]) #뒤에서 첫번째
print(a[5]) #빈칸이라 빈칸이 나옴

H
d

java에서도 마찬가지지만 0은 첫번째임을 유의하자.

 

# 문숫자 + 문자 + 숫자
a = 'Number'
b = 8
print(a,b)

print(type(a))
print(type(b))

<class 'str'>
<class 'int'>

 

해당 방식으로 type을 유의해서 사용해야 한다.

 

print(type(int('1')))
print(int('1')+1)
print('1'+str(1))
print(int('1')+b)

<class 'int'>
2
11 <<< '11' 이다.
9

 

이후 문자열 포맷팅도 배웠다.

# 문자열 포맷팅
num = 14
a = 'My favorite number is {}'.format(num)
print(a)

My favorite number is 14

이것이 예전의 방식.

a = f'My favorite number is {num}'
print(a)

My favorite number is 14

이것이 최근의 방식이라고 한다.

 

 

문자열 함수

  • upper() : 대문자 바꾸기
  • lower() : 소문자 바꾸기
  • count() : 문자열 안의 특정 문자열 개수
  • join() : 특정 문자열을 기준으로 문자열을 삽입
  • split() : 특정 문자열을 기준으로 문자열을 나눈다.
  • replace() : 특정 문자열을 기정 문자열로 변환.
  • strip() : 공백 제거(lstrip,rstrip)
  • find() : 특정 문자열을 찾아준다.

 

각각 적용해 보았다.

a = 'pie'
a.upper()

'PIE'

a = '         hello python '
print(a.strip())

hello python

a.count('e')

1

a.find('p')

15

' '.join(['Hello', 'Python', 'Nice'])    (문자사이에 빈칸으로 들어감)

'Hello Python Nice'

a = 'Hello Python Nice' #다시 나눠줌
a.split(' ')

['Hello', 'Python', 'Nice']

 

input 함수

  • 기본 입력 장치로부터 입력된 정보를 반환한다.
    변수 = input() 의 형식으로 사용
x = input()

print(x, type(x)) #변수를 넣고나면 타입확인을 
해주면 좋다. / input함수는 str으로 나옴

456 <class 'str'>

 

이상으로 변수부터 문자열까지 알아봤다.

 

알던 개념의 다른 언어로 표현되는것이라 약간 어색하지만, 앞으로 많이 쓰일것들을 연습 해놔야겠다.

728x90
반응형