>>> hello = 'Hello, world!'

>>> hello = "Hello, world!"

>>> hello = '''Hello, world!'''

>>> hello = """Hello, world!"""

 

작은 따옴표, 따옴표, 작은 따옴표 3, 따옴표 3개로 묶어서 문자열을 나타낼 있다.

 

9.1.1 여러 줄로 문자열 사용하기

'''또는 """ 문자열을 묶어서 나타내면 여러 줄로 문자열을 저장할 있다.

>>> hello = '''Hello, world!

안녕하세요.

Python 입니다.'''

>>> print(hello)

Hello, world!

안녕하세요.

Python 입니다.

 

여러 줄로 문자열은 파이썬 셸에서보다는 .py스크립트 파일에서 많이 사용된다.

 

9.1.2 문자열 안에 작은 따옴표나 따옴표 포함하기

문자열 안에 ' 넣고 싶다면 " 문자열을 묶어서 표현해야 한다.

>>> s = "I'm good!"

>>> s

I'm good!

 

문자열 안에 " 넣고 싶다면 ' 문자열을 묶어서 표현해야 한다.

>>> s = 'He said "Hello"'

>>> s

He said "Hello"

 

작은 따옴표 안에 작은 따옴표를 넣거나, 따옴표 안에 따옴표를 넣을 없다.

하지만, 여러 줄로 문자열(''', """ 묶은 ) 가능하다.

single_quote = '''"안녕하세요."

'파이썬'입니다.'''


double_quote = """"Hello"

'Python'"""


double_quote2 = """Hello, 'Python'"""


print(single_quote)

print(double_quote)

print(double_quote2)
"안녕하세요."

'파이썬'입니다.

"Hello"

'Python'

Hello, 'Python'

결과가 출력된다.

 

+) 이스케이스 문자 사용

>>> s= 'Python isn\'t difficult'

"Python isn't difficult"

문자열 안에 ', "등의 특수 문자를 포함하기 위해 이스케이프 문자를 붙여서 사용할 있다.

boolean 값은 True, False 출력된다.

비교 연산 >, <, >=, <=, ==, != 결과도 True, False 출력된다.

 

문자열의 비교도 가능. (대소문자를 구분한다.)

>>> 'abc' == 'abC'

False

 

8.1.5 객체가 같은지 다른지 비교

== != 자체를 비교하고,

객체는 is is not으로 비교한다.

>>> 1 == 1.0

True

>>> 1 is 1.0            # type(1) == type(1.0) 결과와 같다.

False

>>> 1 is not 1.0       # type(1) != type(1.0) 결과와 같다.

True

 

  비교에 is 사용하면 안된다.

>>> a = -5

>>> a is -5

True


>>> a = -6

>>> a is -6

False

 

이유는 변수 a 존재하는 상태에서 다른 값을 할당하면 메모리 주소가 달라질 있기 때문이다.

-> 다른 객체가 되기 때문에 값이 같더라도 is 비교하면 False 나온다.

=> 값을 비교할 때는 == != 연산자를 사용해야한다.

 

 

8.2 논리 연산자

and, or, not 있다.

비교 연산자와 논리 연산자를 혼용한다면 비교 연산자, 논리 연산자 순서로 판단한다.

 

+) 정수, 실수, 문자열을 bool 만들기.

bool(정수)

bool(실수)

bool('문자열')

정수 0, 실수 0.0, 문자열 '', "" 제외한 모든 값을 True 바꾼다.

 

+) 논리 연산에서의 단락 평가

단락 평가(short-circuit evalution) : 번째 값만으로 결과가 확실하면 다음 값들 확인 없이 결과값 정하는 .

>>> 'Python' and True

True

>>> True and 'Python'

'Python'

코드의 의미는 같지만 결과값이 다르게 나타나는 이뉴는,

파이썬에서 논리 연산자는 마지막으로 단락 평가를 실시한 값을 그대로 반환하기 때문이다.

-> 논리 연산자는 무조건 불을 반환하지 않는다.

 

>>> False and 'Python'

False

>>> 0 and 'Python'

0


>>> True or 'Python'

True

>>> 'Python' or True

'Python'

or연산자에서 번째 값만으로 결과가 결정되므로 번째 값을 리턴.

 

>>> False or ''

''

만약 번째 값까지 확인해야 한다면 번째 값을 리턴.

7.1 값을 여러 출력하기

print(값1, 값2, 값3)

print(변수1, 변수2, 변수3)

값이 공백으로 띄워져서 줄로 출력된다.

 

7.11 sep으로 사이에 문자 넣기

sep : 구분자(separator)에서 따온 .

print(값1, 값2, sep='문자/문자열')

print(변수1, 변수2, sep='문자/문자열')
>>> print('이름', '주소', sep=':')

이름:주소

>>> print('Hel', 'lo', sep='')      # sep에 빈 문자열 지정해서 붙일 수도 있다.

Hello

>>> print(3, 6, sep='x')          # sep에 일반 문자열 지정 가능

3x6

 

출력값 각각에 줄바꿈 하기!

>>>print(1, 2, 3, sep='\n')

1

2

3


>>> print('1\n2\n3')

1

2

3

 

7.2.1 end 사용

print() 줄에 출력한다.

print() 여러 사용해서 줄에 출력하고 싶을 end 사용한다.

>>> print(1, end='')

>>> print(2, end='')

>>> print(3)

123

 

기본적으로 print end \n 지정된 상태인데, end='' 강제로 \n 지워준다.

end 현재 print에는 영향을 주지 않고, 다음에 오는 print 영향을 준다.

변수 이름 규칙

  • 영문 문자와 숫자를 사용할 수 있습니다.
  • 대소문자를 구분합니다.
  • 문자부터 시작해야 하며 숫자부터 시작하면 안 됩니다.
  • _(밑줄 문자)로 시작할 수 있습니다.
  • 특수 문자(+, -, *, /, $, @, &, % 등)는 사용할 수 없습니다.
  • 파이썬의 키워드(if, for, while, and, or 등)는 사용할 수 없습니다.

 

변수의 선언과 사용

>>> x=10

>>>x

10
>>> y = 'Hello, world!'

>>> y

'Hello, world!'

 

type(x) 이용해서 변수의 자료형을 알아낼 있다.

 

>>> x, y, z = 10, 20, 30

>>> x

10

>>> y

20

>>> z

30

 

변수이름1, 변수이름2, 변수이름3 = 1, 2, 3

변수 여러 개를 번에 만들 있다.

 

>>> x=y=z=10

>>> x

10

>>> y

10

>>> z

10

 

변수의 바꾸기

>>> x, y = 10, 20

>>> x, y = y, x

>>>x

20

>>>y

10

변수 1, 변수2 = 변수2, 변수1 형식으로 변수의 값을 바꿀 있다.

 

del 변수

변수를 삭제할 있다.

>>> x = None

>>> print(x)

None

>>> x

(아무것도 출력되지않음)

 

다른 언어에서 Null 문자로 표현하는 것을 파이썬에서는 None이라고 표현한다.

 

 

6.3 Input 함수

>>> input()

Hello, world! ( 입력 )

'Hello, world!'

입력한 문자열이 그대로 출력된다.

 

>>> x = input()

(입력)

입력한 내용이 x 저장되고,

>>> print(x)

(입력한 내용 출력)

 

입력을 받는 상태인지, 출력이 없는 상태인지 인지하기 위해서,

>>> x = input('문자열을 입력하세요: ')

문자열을 입력하세요: (입력)

>>> x

'(입력한 내용)'

input()내부에 넣은 문자열은 사용자에게 입력받는 값의 용도를 미리 알려줄 사용한다. 다른 말로 프롬프트라고도 부른다.

 

6.3.3 숫자의 구하기

a= input('첫 번째 숫자를 입력하세요: ')

b= input('두 번째 숫자를 입력하세요: ')

print(a+b)

10 20 입력하면 1020 출력된다.

왜냐하면, input에서 입력받은 값은 항상 문자열 상태이기 때문이다.

우리가 원하는 형태의 결과를 얻기 위해서는 아래와 같이 사용해서,

int 사용하여 입력 값을 정수로 변환해서 변수에 저장해야한다.

a = int(input('첫 번째 숫자를 입력하세요: '))

b = int(input('두 번째 숫자를 입력하세요: '))

print(a+b)

 

 

6.4 입력 값을 변수 개에 저장하기

변수 1, 변수 2 = input().split()                 #입력받은 값을 공백을 기준으로 분리

변수 1, 변수 2 = input()..split('기준 문자열')

변수 1, 변수 2 = input('문자열').split()          # 입력받은 값을 공백을 기준으로 분리

변수 1, 변수 2 = input('문자열').split('기준 문자열')

 

 

6.4.3 map 사용하여 정수로 변환하기

map int input().split() 넣으면 split 결과를 모두 int 변환해준다.

변수1, 변수2 = map(int, input().split())

변수1, 변수2 = map(int, input().split('기준문자열'))

변수1, 변수2 = map(int, input('문자열').split()

변수1, 변수2 = map(int, input('문자열').split('기준문자열')

 

 

+) 큰 숫자 표현하기

>>> x = 100_000_000

100000000

평소에는 ,로 자릿수를 구분하지만, 파이썬에서는 _로 자릿수를 구분한다.

,를 사용하면 튜플 자료형이 된다.

>>> x = 100,000,000

(100, 0, 0)이 저장된다.

5.1 정수 계산하기

파이썬에서는 숫자를 정수(int), 실수(float), 복소수(complex) 구분한다.

>>> 1+1

2

>>> 1-2

-1

>>> 2*2

4

>>> 5/2

2.5

파이썬 2 에서는 5/2 2 나오고, 파이썬 3에서는 5/2 2.5 나온다.

ex) python3에서는 >>> 4/2       => 2.0 결과가 나온다.

 

5.1.2 나눗셈 소수점 이하를 버리는 // 연산자

파이썬 3에서 정수끼리 나눗셈 결과가 정수로 나오도록 만드는 방법.

>>> 4//2

2

>>> 5//2

2

// 버림 나눗셈(floor division)이라고 부른다. 나눗셈의 결과에서 소수점 이하는 버린다.

실수에 // 연산자를 사용하면 결과는 실수가 나오며, 소수점 이하는 버린다. 결과는 .0으로 끝나게 된다.

 

5.1.3 나눗셈 나머지를 구하는 % 연산자

>>> 7%3

1

 

5.1.4 거듭제곱을 구하는 ** 연산자

>>> 3**4

81

 

5.1.5 값을 정수로 만들기

계산 결과가 실수로 나왔을 강제로 정수로 만드는 방법.

int( 숫자 )

>>> int(3.3)

3

int( 계산식 )

>>> int(5/2)

2

int( '문자열' )

>>> int('10')

10

# int() 문자열을 넣어도 정수로 만들 있다. , 정수로 문자열만 가능.

 

5.1.6 객체의 자료형 알아내기

  • type() 연산은 그대로 객체의 타입을 알아내는 함수.
>>> type(10)

<class 'int'>

 

+) 몫과 나머지를 함께 구하는 방법.

>>> divmod(5, 2)             # 5를 2로 나누었을 때 몫, 나머지를 출력.

(2, 1)

 

+) 진수, 8진수, 16진수…

2진수로 표현

>>> 0b110

6

8진수로 표현

>>> 0o10

8

16진수로 표현

>>> 0xF

15

 

 

5.2 실수 계산하기

>>> 3.5 + 2.1

5.6
>>> 4.3 - 2.7

1.599999999996                # 컴퓨터는 실수를 표현할 때 오차가 생기기 때문.
>>> 1.5 * 3.1

4.65
>>> 5.5 / 3.1

1.7741935483870968

실수와 정수를 함께 계산하면 표현 범위가 넓은 실수로 계산된다.

>>> 4.2 + 5

9.2

 

값을 실수로 만들기

float( 숫자 )

float( 계산식 )

float( '문자열' )         실수 또는 정수로 된 문자열만 가능.

 

+) 행렬 곱셈 연산( 파이썬 3.5이상부터, numpy모듈을 설치해서 사용 가능)

pip install numpy

행렬 a, b가 있을 때,

>>>a@b

행렬 a와 b의 곱셈 결과 출력

>>> c = a

>>> c@=b

행렬 a와 b의 곱셈 결과를 c에 저장

>>> import numpy as np    # numpy 모듈을 가져옴
>>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])    # 3x3 행렬 생성
>>> b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])    # 3x3 행렬 생성
>>> a @ b    # 행렬 곱셈
array([[ 30,  36,  42],
       [ 66,  81,  96],
       [102, 126, 150]])

4.1 세미콜론

세미콜론을 붙이지 않아도 괜찮지만,

줄에 여러 구문을 사용할 세미콜론으로 구분해준다.

printf('Hello'); print('world!')

 

4.2 주석

  • 주석

    • 코드 앞에 # 사용하면 주석 처리가 된다.
    • 코드 뒤에 # 처리해서 내에서 부분적으로 주석 처리 가능.
print('hello world!'); #print('12345')

 

  • 블록 주석

    • 줄마다 앞에 # 넣어준다.
# 더하기

# a = 1 + 2

# print('Hello, world!')

 

+) 파이썬3에서는 .py스크립트 파일의 기본 인코딩이 UTF-8이다. 다른 인코딩으로 저장하면 한글 주석이 깨질 있다.

 

 

4.3 들여쓰기

파이썬은 들여쓰기 자체가 문법이다.

if 다음 줄은 항상 들여쓰기를 해야 한다.

if a==10:
    print('10입니다.')

들여쓰기는 공백 2, 공백 4, 문자로 있는데, 표준 스타일은 공백 4칸을 사용하는 것이다.

 

 

4.4 코드 블록

코드 블록 : 특정한 동작을 위해서 코드가 모여 있는 상태.

파이썬은 들여쓰기를 기준으로 코드 블록을 구성한다.

같은 블록은 들여쓰기 수가 같아야 하고, 공백과 문자를 섞어 쓰면 안된다.

+ Recent posts