24.07.08 Day06

최지원·2024년 8월 12일

변수

# 정수형 변수
age = 27

# 실수형 변수
weight = 63.5

# 문자열 변수
name = 'aiglue'

# 불리언 변수
is_teacher = True
#불리언 타입은 첫 글자 대문자

# 리스트 변수
numbers = [10, 20, 30, 40, 50]

변수 - 연습문제1

#문제1
class_name = "samsung_dt"
print(class_name)

#문제2
num_student = 30
print(num_student)

#문제3
is_present = True
print(is_present)

#문제4
#리스트에 넣은 다음 변수 할당
li = [3,7,13]
my_favorate_num = li
print(my_favorate_num)

#문제5
result = 1/2
print(result)

변수 - 연습문제2

  • 문제1) 다음 코드에서 변수명의 의미가 더 명확해지도록 변수명을 변경하세요.
    a = 100 b = 50 c = a + b print(c)
  • 문제2) 파이썬 예약어를 변수명으로 사용하지 않도록 코드를 수정하세요.
    def = 10
    for = 20
    sum = def + for print(sum)
  • 문제3) 다음 변수명 중 잘못된 것을 찾아 올바르게 수정하세요.
    1st_place = "Gold"
    second-place = "Silver"
    third_place! = "Bronze"
    print(1st_place, second-place, third_place!)
  • 문제4) 다음 코드에서 변수명을 의미 있게 개선하고, 대소문자 구분을 준수하세요.
    Name = "Alice"
    AGE = 30
    Country = "Wonderland"
    print(name, age, COUNTRY)
  • 문제5) 다음 코드에서 변수명을 의미 있게 개선하고, 특수 문자를 포함하지 않도록 수정하세요.
    total!cost = 500
    discount% = 0.1
    final@price = total&cost * (1 - discount%)
    `print(final@price) ````
#문제1
num_challenge = 100
num_fail = 50
num_success = num_challenge + num_fail
print(num_success)
#문제2
a = 10
b = 20
sum = a + b
print(sum)
#문제3
first_place = "Gold"
second_place = "Silver"
third_place = "Bronze"
print(first_place, second_place, third_place)
#문제4
name = "Alice"
age = 30
country = "Wonderland"
print(name, age, country)
#문제5
total_cost = 500
discount = 0.1
final_price = total_cost * (1 - discount)
print(final_price)

연산자 종류

  • 산술 연산자
  • 비교 연산자
  • 논리 연산자
  • 할당 연산자
  • 식별 연산자
  • 멤버 연산자

산술 연산자

a = 5
b = 2
?
print(a + b)    # 7
print(a - b)    # 3
print(a * b)    # 10
print(a / b)    # 2.5
print(a // b)   # 2
print(a % b)    # 1
print(a ** b)   # 25

비교 연산자

  • == : 같다
  • != : 다르다
  • > : 크다
  • < : 작다
  • >= : 크거나 같다
  • <= : 작거나 같다

논리 연산자

  • and : 논리 곱 (둘 다 True여야만 결과 값 True)
  • or : 논리 합 (True가 하나라도 있으면 True)
  • not : 논리 부정 (결과 값의 반대)

할당 연산자

  • =: 오른쪽 피연산자의 값을 왼쪽 피연산자에 대입
  • +=: 왼쪽 피연산자에 오른쪽 피연산자를 더한 값을 왼쪽 피연산자에 대입
  • =: 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 값을 왼쪽 피연산자에 대입
  • =: 왼쪽 피연산자에 오른쪽 피연산자를 곱한 값을 왼쪽 피연산자에 대입
  • /=: 왼쪽 피연산자를 오른쪽 피연산자로 나눈 값을 왼쪽 피연산자에 대입

할당 연산자 - 연습문제

#문제1
x = 5
x += 3
print(x)
#문제2
y = 15
y -= 4
print(y)
#문제3
z = 7
z *= 2
print(z)
#문제4
a = 20
a/= 5
print(a)

식별 연산자

  • is: 두 변수가 같은 객체를 가리키는지 확인
  • is not: 두 변수가 다른 객체를 가리키는지 확인
  • 두 변수에 id() 함수를 적용하여 그 결과가 같은지 또는 아닌지를 질의하는 것과 동일함.

예시1 - 리스트

# 가변 객체 리스트에 대해서는 동일한 값이어도 메모리 관리를 따로 함.

a = [1, 2, 3]
b = [1, 2, 3]

print(a is b)       # False
print(a is not b)   # True
print(id(a) == id(b)) # False
print(id(a) != id(b)) # True

c = a
print(a is c)       # True

예시2 - 문자열

# 불변 객체(immutable)인 문자열은 메모리 효율성을 위해 동일한 값을 가진 불변 객체를 재사용함
# 같은 값을 갖는 변수는 동일한 객체를 참조함.

string1 = "hi"
string2 = "hi"

result1 = string1 is string2
print(result1)

string3 = string2
result2 = string2 is string3
print(result2)

id(string1) == id(string2)

예시3 - 문자열

# 불변 객체(immutable)인 문자열은 메모리 효율성을 위해 동일한 값을 가진 불변 객체를 재사용함
# 다른 값을 갖는 변수는 다른 객체를 참조함.

string1 = "hi"
string2 = "hello"

result1 = string1 is string2
print(result1)
print(id(string1) == id(string2))

string3 = string2
result2 = string2 is string3
print(result2)

멤버 연산자

  • in: 왼쪽 피연산자가 오른쪽 피연산자에 속하는지 확인
  • not in: 왼쪽 피연산자가 오른쪽 피연산자에 속하지 않는지 확인

멤버 연산자 예시1 - 리스트

a = [1, 2, 3]
print(2 in a)       # True
print(4 not in a)   # True

멤버 연산자 예시2 - 문자열

string = 'welcome to my world'
result = 'come' in string
print(result)

멤버 연산자 예시3 - dictionary

      		#key:value
my_dict = {1:'one', 2:'two', 3:'three'}
result = 100 in my_dict
print(result)

result에 value 값을 인식하지는 못함 `SyntaxWarning: "is" with a literal. Did you mean "=="? 오류발생` is는 메모리 주소를 비교하는 반면 ==는 값을 비교하기 때문에 값을 비교하고자 할 때 is 를 사용하면 warning이 발생

정수형

  • 정수를 표현하는 데이터형
  • 0, 1, 2, -1, -2, -3 등의 값을 갖는 데이터
  • 변수에 정수를 할당하면 변수는 '정수형'으로 저장됨.

실수형

  • 3.1, -3.6 등 소수점을 가진 자료형
  • 실수형은 정수형보다 더 많은 메모리 저장 공간을 차지함.

연산

  • 더하기 : +
  • 빼기 : -
  • 곱하기 : *
  • 나누기 : /
  • 몫 : //
  • 나머지 : %
  • 거듭제곱 : **

bool형

  • 참과 거짓을 판단하기 위해 사용됨.
  • bool형에는 True와 False만 존재함.
  • bool형은 저장공간이 작으면서 논리적 흐름에 효과적으로 사용됨.

문자열

  • 문자열은 text를 저장함.
  • 문자열에 연산 기호(+)를 사용할 수 있음.

0개의 댓글