주노 님의 블로그

[Python] 기본 문법 정리 본문

카테고리 없음

[Python] 기본 문법 정리

juno0432 2025. 2. 5. 00:15

print: 콘솔 출력문

print문을 사용하면 기본적으로 출력후 줄이 바뀝니다

줄바꿈을 원하지 않는다면 end를 사용합니다.

 

또한 콤마를 쓸 경우 빈 공백이 추가됩니다

변수명은 다음과 같이 사용합니다

print(형식 문자열 %변수)

#출력은 아래와 같이 자동으로 줄바꿈이 된다
print ("I Love You")

#줄바꿈을 원치 않을 경우 end=' '를 사용한다
print("I", end=' ')
print("Love", end = ' ')
print("You")

#콤마를 쓸 경우 빈 공백이 추가된다,
print("I" "2" "You")
print("I", 2, "You")
print("I" + str(2) + "You")

#출력값은 그 값이나 변수명을 사용
name = "juno"
print("Hello, %s!" %name)
age = 23
print ("name: %s age: %d" %(name, age))

 

 

input: 콘솔 입력문

2.x의 버전의 input에는 raw_input과 input이 있었습니다.

3.x버전으로 올라오면서 input이 사라지고, raw_input이 input으로 변경되었습니다.

 

raw_input이란? 3+4를 입력시 문자열을 저장합니다

input이란? 3+4를 입력시 7을 저장합니다

3.x버전에서 2.x버전의 input을 사용하려면 eval(input())을 사용합니다.

#3버전의 파이썬은 2버전의 raw_input이 변경된것이다
#2버전의 input에는 두가지 종류가 있었다
#1. raw_input(3+4) >>> 3+4 문자열 저장
#2. input(3+4) >> 7 저장
x = input("수식을 입력하세요: ")#3+4
print(x) # 3+4

#2버전대의 input을 사용하려면 eval사용
y = eval(input("수식을 입력하세요:")) #3+4
print(y) #7

#한줄에 여러문장을 표현하고 싶다면 ;를
z = input("수식을 입력하세요:"); print(z)

 

 

변수와 대입문

파이썬은 변수의 자료형을 알려 줄 필요가 없습니다.

같은 변수에 숫자, 문자등을 저장 할 수 있습니다.

다만, 변수만 선언할 수 없습니다.

 

파이썬은 모든 값이 객체로 저장됩니다.

클래스 이름은 첫글자를 대문자로 정의합니다.

_로 시작하는 클래스는 private

__는 strongly private입니다.

 

아래와 같은 예약어는 사용할 수 없습니다.

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

 

#정수형, 문자형 둘다 대입가능
x = 10; print(x)
x = "hello" ; print(x)

#한문장으로 여러 변수에 각기 다른 값을 저장 할 수 있음
x,y,z = "12", "123", "1234"
print(x)
print(y)
print(z)

 

 

수식과 연산자

산술연산자

덧셈 (+), 뺄셈(-), 곱셈(*), 나눗셈(/), 정수 나눗셈 (//), 나머지(%), 제곱 (**) 연산자 제공

 

관계연산자

<, >, >=, >=, ==, !=

 

조건연산자

참일때 if 조건문 else 거짓일때 로 사용합니다.

 

축약 대입 연산자

a+=b >> a= a+b이런 형식이며,

, a-=b, a*=b, a/=b, a%=b, a**=b, a//=b가 있습니다.

 

소속연산자

리스트나 튜플같은 자료에 값이 속해있는지 확인합니다

in과 not in이 있습니다

 

객체 확인 연산자

객체가 동일한지 확인하는 연산자입니다

is와 is not이 있습니다

 

import cmath
import math

# 산술 연산자
a = 8 / 3;
print(a)  # 2.6666
b = 8 // 3;
print(b)  # 2
c = 2 ** 8;
print(c)  # 256
d = math.pow(2, 8);
print(d)  # 256

# 음수 제곱근은 cmath를 사용해야함
e = cmath.sqrt(-2);
print(e)

# 관계 연산자
print(a > b)  # true
print(a < b)  # false
print(a >= b)  # true
print(a <= b)  # false
print(a == b)  # false
print(a != b)  # true

# 조건 연산자
state = "정답" if a > b else "오답"
print(state)  #"정답

# 축약 대입 연산자
a += b;
print(a)  # 4.666

# 소속 연산자
a = 3;
b = 4;
c = 4;
list = [1, 3, 5, 7]

print(a in list) # true
print(b not in list) #true
print(a is c) #false
print(a is not c) # true

 

 

if문

기존 if문과 같지만, 같은 실행문은 들여쓰기가 같아야합니다.

import random

x = random.randint(0, 100)

if((x%2)==0): quest = 'e'
else: quest = 'o'

guess = input("홀 (o), 짝(e)")
if(guess == quest):print("정답")
else:
    print("오", end ='')
    print("답")

 

elif문

자바의 if(조건식) else if (조건식) else와 같습니다

score = 85

if score >= 90:
    print("A 학점")
elif score >= 80:
    print("B 학점")
elif score >= 70:
    print("C 학점")
else:
    print("F 학점")

 

반복문

while 조건식:

     반복문장

다만, 파이썬에서는 while문에 else문을 결합하여 사용할 수 있습니다.

한번도 실행되지 않을경우 else문을 타게됩니다.

 

break

중간에 루프문을 탈출하기 위해서 사용합니다

 

continue

continue 다음에 오는 문장들을 실행하지않고 넘어갑니다

 

pass

실행은 하지만, 아무런 작업을 하지 않습니다.

 

 

for 변수 in 반복 가능한 객체:

     실행할 코드

자바의 for each문과 비슷한 역할을 합니다

for(int x : num)처럼.

 

자바의 for문과 같은 역할을 하려면 for in range를 사용합니다

range에는 매개변수가 최대 3가지 들어갑니다

(n): 0부터 n-1까지

(n, m): n부터 m-1까지

(n,m,s): n부터 m-1까지 s씩 상승한다.


#while문
count = 0
while (count < 3):
    count+=1
    print(count)

#while문을 한번도 타지 않을때 else문을 사용
while (count == 7):
    print("타지 않습니다")
else:
    print("else문")

#중간 조건에 만족하여 종료하려면  break
for x in range(10):
    if x == 5:
        print("반복문 종료!")
        break # 5가 될 경우 break문으로 for문을 빠져나감
    print(x)

#continue문 다음에 오는 문장을 실행하지 않고 다시 돌아가기
str = "i love you"
for c in str:
    if c == 'o':
        continue #다음 print문은 실행되지않음.
    print(c, end="")

#실행은 되나, 아무런 작업도 하지않음 pass
for x in range(5):
    if x == 2:
        pass  # 아무것도 하지 않고 그냥 넘어감
    else:
        print(x)

print()
#기본 for문
str = "i love you"
cnt = 0
for c in str :
    if c == 'o' : cnt += 1;
print(cnt)

#자바의 for문과 같은 역할을 하려면 for in range가 필요하다
for x in range(5):
    print("%d 회 반복합니다" %x) # 0 ~ 4

#3부터 7까지 차례대로 정수를 증가시키려면?
for x in range(3, 8):
    print("%d 회 반복합니다" %x)#3~7

#3부터 7까지 2만큼 증가하려면?
for x in range(3, 8, 2):
    print("%d 회 반복합니다" %x) #3,5,7

#7부터 3까지 하나씩 감소하려면?
for x in range(7, 2, -1):
    print("%d회 반복합니다" %x) #7 6 5 4 3