본문 바로가기
또또먹의 서재/파이썬 AND 자바

[Python] chapter 2. 데이터 다루기

by 또또먹 2022. 5. 9.

<2차시 변수 사용 및 식별자 명명 규칙>

 

1. 변수 사용해보기 

ex 1) 

a = 100

b = 200

print(a)

del b  // b라는 변수 삭제 

print(b)

 

결과: 100

 

ex 2)

a, b = 100, 200

print(a, b)

결과: 100 200

 

ex 3)

a, b = 100, 200

a = b //a는 b가 참조하고 있는 값 = b라는 값을 a에 할당하라는 의미

print(a, b)

결과: 200 200

 

ex 4)

a, b = 100, 200

a, b = b, a + b // 순차적으로 할당되는 것이 아니기 때문에 a, b는 200, a+b는 300의 결과값을 갖게됨

* 연산자들 사이에 우선순위가 있기 때문

'+'가 '=' 보다 우선순위가 높다.

 

2. 변수 사용해보기 (문자열) 

ex) print("Hello World!")을 10번 출력

text = "Hello World!" // '',"" 모두 가능

print((text + "\n") * 10)  

 

ex 2)

# 이름, 핸드폰 번호, 거주지 : ex) 서울시 강남구...

name = "또또"

phone_number = "010-0000-0000"

address = "서울시 강남구"

print(name)

print(phone_number_

print(address)

 

3. 식별자 생성 규칙 

- 변수의 이름은 문자, 숫자 밑줄을 포함할 수 있다.

- 변수의 이름은 숫자로 시작할 수 없다. 

- 공백을 포함할 수 없다. 

- 예약어(keyword)는 사용할 수 없다.

 

 

 

 

<3차시 자료형 및 Print 함수>

1. 숫자 자료형

* int형: 정수

ex) 

a = 5

b = -5

c = 0

print(type(a))

결과: <class 'int'>

* float(실수형): 소수점 이하를 가지는 수 (부동소수점)

* 과학적 표기법

ex) 123456.7 = 1.234567 x 10^5

g = 1.234567e5

* complex 자료형: 복소수와 복소수 연산들이 필요할 때 사용하는 자료형 

- 일반 수학에서의 복소수 a + bi

- 파이썬에서의 복소수 a +bj

 

2. 문자 자료형 

* string(문자열) 형

- '' or ""를 사용

ex) text = "string data type" 

ex) text = "string "data" type" -> 오류

- text = 'string "data" type' OR text = "strint 'data' type"

* 탈출 문자

\': 작은 따옴표

\": 큰 따옴표

\\,연속표현 

\n,: 줄바꿈, 개행문자

\r: 커서를 행의 가장 앞으로

\t: 커서를 다음 여덟 번째 위치로 이동 시킴

 

- \ 연속표현

text = "Python \'is\" Easy"

-> Python 'is" Easy

text = "Python is Easy"

-> Python \is\ Easy

 

text = "Python 

is Easy"

-> 오류 

text = "Python 

is Easy"

 

\n 개행문자

text = "Pythoon \nis Easy

-> Python 

is Easy

 

- \r 

text = "Java \rPython is Easy"

-> Python is Easy

 

- \t 탭문자

text = "\tPython is Easy"

->         Python is Easy

text = "

Py\thon is Easy"-> Py        thon is Easy

 

text = '''Python

is

Easy''' 

-> 

Python

is

Easy

 

* 문자열 연산

text + "Python is Easy"

text2 = "and Powerful"

print(text+text2)

-> Python is Easy and Powerful

 

text + "Python is Easy"

text2 = "and Powerful"

print(3*text)

->  Python is Easy  Python is Easy  Python is Easy 

 

3. Print 함수

* 공백 = 내장함수 : print에는 seperate 속성을 가지고 있음 (sep)

ex) 

a = 10

b = 20

print(a, b, sep='@')

-> 10@20 // 공백 대신 @

ex2) 

a = 10

b = 20

print(a, b, sep='곱하기 2는 ')

-> 10곱하기 2는 20

 

* end 속성 (\n)

ex) a = 10

b = 20

print(a, b, end = '\t')

print("3번째 라인")

-> 10 20    3번째 라인

 

ex2) a = 10

b = 20

print(a, b, end = '개행 문자 대신 사용합니다.')

print("3번째 라인")

-> 10 20 개행 문자 대신 사용합니다. 3번째 라인

 

* 함수와 매서드 

print(): 내장함수(어떠한 기능을 가진 코드)

str.upper(): 메서드(.은 참조연산자, upper함수는 str을 참조하겠는 메서드이다.)

 

* bool(논리) 자료형: 논리연산을 이용해서 여러개의 명제를 하나로 조합하거나 명제를 부정

True = 참

False = 거짓

ex) 

is_true = True

is_false = False

print(is_False)

-> Falsse

 

* False로 판별되는 값 

- False

- 0에 해당하는 값

- 빈 문자

- [], (), {}

- Null

 

 

<4차시 산술, 비교, 논리 연산자>

1. 산술 연산자

- 기본 연산자 = +, -, *, / 

정수형의 나눗셈 결과는 무조건 실수형

ex) print(10 / 10)의 결과값은 1.0으로 나옴 (float)

- 몫을 구하는 연산자 = //

ex) print(10 // 3)

- 나머지를 구하는 연산자 = %

몫과 나머지의 결과값은 정수형으로 나옴

ex) print(10 % 3) 

- 제곱을 구하는 연산자 = **

 

2. 자료형을 다른 자료형으로 변환하는 방법

ex) 정수형 -> 실수형 or 실수형 -> 문자열형

 

* 정수형 변환

# int() 정수형

# 실수형, 논리형, 문자열 (int형으로 변환 가능함)

ex) 실수형 -> 정수형

print(int(123.92)) -> 123 (소수점 뒤는 모두 버림 처리됨)

ex2) 논리형 -> 정수형

print(int(True)) -> 1

print(int(False)) -> 0

ex3) 정수 이외에 

 

* 실수형 변환

# float() 실수형

# 정수형, 논리형, 문자열

ex) print(float(200)) -> 200.0

ex2) print(float(True)) -> 1.0

ex3) print(float(2323)) -> 2323.0

 

* 문자열 변환

# str()

# 모든 자료형 

ex) print(str(122312)) -> 12312

ex2) print(str(3434.233)) -> 3434.233

ex3) print(str(True)) -> True

 

** 형변환이 제대로 됐는지 알기 위해서는 type 함수를 사용하여 확인 가능

 

* 논리형 변환

# bool()

# 모든 자료형

 

#False

ex) print(bool(0)) -> Falsle

ex2) print(bool(0.0)) -> False

ex3) print(bool("")) -> False

#True

ex4) print(bool(1)) -> True

ex5) print(bool(1.0) -> True

ex6) print(bool("str")) -> True

ex7) print(bool("1231")) -> True

 

 

3. 비교 연산자

값들의 크기를 비교해서 ture 또는 false로 변환

이 값을 비교할 때 문자나, 논리형들도 모두 비교해주기 때문에 반복문에 자주 쓰임

 

* 비교 연산자의 종류

a < b : b가 a보다 크면 True

a > b : a가 b보다 크면 True

a <= b : b가 a보다 크거나 같으면 True

a >= b : a가 b보다 크거나 같으면 True

a == b : a와 b가 같으면 True

a !- b : a와 b가 같지 않으면 True

 

ex) 

a = 10 

b = 20

# =equal sign a==b

print(a < b)  #True

print(a <= b) #True

print(a > b) #False

print(a >= b) #False

print(a == b) #False

print(a != b) #True 

 

* 논리형자료 비교

ex)

is_true = True

is_false = False

print(is_true > is_false)  #True

 

* 문자형 자료 비교

ex)

print("Python" > "python") #False (대문자가 소문자보다 크지만 이 명령어는 소문자 > 대문자이기 때문에 fasle)

print("12345" > "1233") #True

print("12.12" < "13.12") #True

 

4. 복합대입연산자

산술연산자(+, _, *, /, **(제곱))와 대입연산자(+=, -=, *=, /=, **=)를 합쳐서 사용

ex) 복합대입연산자가 쓰이는 경우 

today = 1230

today = today + 1

print(today) 

-> 간단하게 표현가능

today = 1230

today += 1

print(today)

 

ex2) 

last_day_year =1230

last_day_year = last_day_year + 1

print(today)

->

last_day_year = 1230

last_day_year += 1 

print(today)

 

5. 논리연산자

- and: 양쪽의 값이 모두 참일 경우

print(True and True) #True

print(True and False) #False

print(10 > 3 and 3 < 5) #True

print(10 == 1 and 1 == 5) #False

- or

print(True or False) #True

print(False or True) #True

print(False or False) #False

# 여러 연산자를 사용하는 경우

ex1) and

print("a" and 10>3 and 0) #0

print("a" and 10>3 and True and False) #False (앞에 있는 모든 값이 참이면 맨 뒤에 false가 나옴)

print("a" and 0>3 and True and False) #True (앞에 있는 값 중 False가 나오면 false and false이기 때문에 true가 나옴)

ex2) or

print(0 or 0.0 or True or "a") #a (앞에 결과값이 모두 거짓으로 나오기 때문에 마지막 참으로 판결되는 결과값의 자리에 있는 a가 출력이 됨)

print(0 or 0.0 or False or '') # 빈 값 

 

# and, or 연산의 우선순위

print(True or False and "참") #True (and연산이 or연산보다 우선순위가 높기 때문에 뒤에부터 연산시작됨)

print((True or False) and "참") #참 (괄호로 우선순위 변경)

 

- not

print(not(True or False)) #False (결과를 뒤집음)

print(not(True) #False

 

# 연산자의 우선선위

** (제곱)

+, - (양수, 음수)

*, /, %, / (곱하기 나누기 나머지 몫)

+, - (덧셈, 뺄셈)

<=, <, >, >= (비교)

==, != (평등)

=, %-, /=, //, +=, -=, *=, **= (대입)