반응형

문자열 포맷 코드

동일한 문자열은 그대로 사용하면서 문자열 안에 필요한 부분만을 변경하고자 한다면 문자열 포맷 코드를 사용하면 됩니다.

문자열 안에 정수나 문자 같은 다른 타입의 값을 입력하고자 할 때 다음과 같은 타입에 해당하는 포맷을 사용하여야 합니다.

 

)

현재 온도를 1분마다 현재 온도는 24도입니다.”로 출력한다고 할 때 숫자 24부분만 바뀌고 나머지 문자들은 바뀌지 않습니다. 이와 같이 문자열에서 특정 위치에 문자를 넣고자 할 때 사용합니다.

Input: “현재 온도는 %d도입니다.” % 24

Output: 현재 온도는 24도입니다.

 

코드 설명
%s 문자열
%c 문자 1
%d 정수
%f 부동소수
%o 8진수
%x 16진수
%% Literal %(문자 ‘%’ 자체)

 

 

1.     숫자 바로 대입하기 : 문자열 안에 숫자를 넣고 싶으면 넣고 싶은 자리에 %d 문자를 넣어주고, 삽입할 숫자를 %문자 다음에 써 넣어주면 됩니다.

 

Input: “I eat %d apples.” % 3

Output: I eat 3 apples.

 

2.     문자열 바로 대입하기 : 문자열 안에 문자열을 넣고 싶으면 넣고 싶은 자리에 %s를 사용하면 됩니다.

 

Input: “I eat %s apples.” % “five”

Output: I eat five apples.

 

3.     숫자값을 나타내는 변수로 대입하기 : 숫자 바로 대입하기와 방법은 동일합니다. 단지, 숫자 3부분에 넣고 싶은 정수형 변수를 넣어주면 됩니다.

 

Input: number = 3

      “I eat %d apples.” % number

Output: I eat 3 apples.

 

4.     2개 이상의 값을 넣기

Input: number = 10

      day = “three”

      “I eat %d apples. so I was sick for %s days.” % (number, day)

Output: I eat 10 apples. so I was sick for three days.

 

5.     %d %를 같이 사용할 때 %%를 사용

Input: “Error is %d%%.” % 99

Output: Error is 99%.

 

 

< 포맷 코드의 여러가지 표현들 >

 

1.    정렬과 공백

10개의 문자를 입력할 수 있는 공간에 “python”문자열을 오른쪽으로 정렬하려면 “%10s”를 사용하면 됩니다. “python”문자 앞에 5개의 공백문자가 자동으로 입력됩니다.

 

Input: “%10s” % “python”

Ouput:     python”

 

10개의 문자를 입력할 수 있는 공간에 “python”문자열을 왼쪽으로 정렬하려면 “%-10s”를 사용하면 됩니다. “python”문자 뒤에 5개의 공백이 자동으로 입력됩니다.

 

Input: “%-10s” % “python”

Output: “python    

 

2.    소수점 표현

문자열에 실수를 입력할 때는 “%f”를 사용하면 되는데 정렬방법을 사용하여 출력을 보기좋게 표현할 수 있습니다.

실수에서 정수부분의 표현 길이와 소수점 아래 표현 길이를 정할 수 있습니다. 실수 3.141592를 넣고자 할 때 정수 부분을 10개의 문자길이로 표현하고 소수점 아래는 2개 자리까지만 사용하고자 한다면 “%10.2f”를 사용하면 됩니다.

 

Input: real1 = “%10.2f” % 3.141592

      real2 = “%10.2f” % 1234567890.3838

      print(real1)

      print(real2)

Output:           3.14”

        1234567890.38

 

3.    format() 함수 사용

format함수를 사용해도 문자포맷을 사용한 것처럼 표현할 수 있습니다.

 

숫자 입력

Input: “I eat {0} apples”.format(3)

Output: I eat 3 apples.

 

문자열 입력

Intput: “I eat {0} apples”.format(“five”)

Output: I eat five apples.

 

2개 이상값 입력

Input: “I ate {0} apples. so I was sick for {1} days.”.format(3, “three”)

Output: I ate 3 apples. so I was sick for three.

 

이름으로 넣기

Input: “I ate {number} apples. so I was sick for {days} days.”.format(number=3, days=“three”)

Output: I ate 3 apples. so I was sick for three

 

왼쪽 정렬

Input: “{0:<10}”.format(“python”)

Output: “python    

 

오른쪽 정렬

Input: “{0:>10}”.format(“python”)

Output:     python”

 

가운데 정렬

Input: “{0:^10}”.format(“hi”)

Output:    hi   

 

공백 채우기

Input: “{0:=^10}”.format(“hi”)

Output: “====hi====“

 

소수점 표현하기

Input: “{0:0.2f}”.format(3.141592)

Output: “3.14“

 

 

< 문자열 관련 함수 >

 

문자 개수 세기(count)

문자열에서 지정한 문자열이나 문자의 개수를 카운트합니다. “python”문자열에서 ‘h’문자의 개수를 카운트합니다.

 

str1 = "python"

str1.count('h')

 

Output:

1

 

위치 알려주기(find)

문자열에서 찾고자 하는 특정 문자나 문자열이 존재하면 그 위치를 출력해줍니다. 찾고자 하는 문자열이나 문자가 없으면 -1을 출력합니다.

str1 = "Python is the best programming language"

str1.find('best')

 

Output:

14

 

str1 = "Python is the best programming language"

str1.find('apple')

 

Output:

-1

 

위치 알려주기(index)

문자열에서 찾고자 하는 문자열이나 문자의 위치를 출력해줍니다. 문자열에 찾을 문자나 문자열이 없으면 오류가 발생합니다.

str1 = "Python is the best programming language"

str1.index('best')

 

Output:

14

 

문자열 삽입(join)

문자열 사이에 특정 문자나 문자열을 넣고자 할 때 사용합니다.

",".join('language')

 

Output:

 l,a,n,g,u,a,g,e

 

소문자를 대문자로 바꾸기(upper)

str1 = "python"

str1.upper()

 

Output:

PYTHON

 

대문자를 소문자로 바꾸기(lower)

str1 = "PYTHON"

str1.lower()

 

Output:

python

 

왼쪽 공백 지우기(lstrip)

str1 = "  python"

str1.lstrip()

 

Output:

‘python’

 

오른쪽 공백 지우기(rstrip)

str1 = "  python  "

str1.rstrip()

 

Output:

  python’

 

양쪽 공백 지우기(strip)

str1 = "  python  "

str1.split()

 

Output:

‘python’

 

문자열 바꾸기(replace)

str1 = "Python is the worst programming language"

str1.replace("worst", "best")

 

Output:

Python is the best programming language

 

문자열 나누기(split)

str1 = "Python is the best programming language"

str1.split()

 

Output:

['Python', 'is', 'the', 'best', 'programming', 'language']

반응형
반응형

문자열은 이름, 주소, 신용 카드 번호 및 문자가 포함된 모든 텍스트와 같은 파이썬의 텍스트 데이터를 저장합니다. Python 문자열은 문자 시퀀스로 처리됩니다. 파이썬 문자열을 생성하려면 작은따옴표나 큰따옴표로 텍스트를 감싸기만 하면 됩니다. 다음 스크립트는 문자열 리터럴을 만들어 콘솔에 출력합니다.

print("This is a string literal")

 

Output:

This is a string literal

 

다음 스크립트는 변수에 문자열을 저장하고 출력하는 구문입니다.

str_var = "This is a variable inside a string"

print(str_var)

 

Output:

This is a variable inside a string

 

문자열 안에 작은 따옴표가 포함되어 있는 경우 큰따옴표로 감싸주면 됩니다. 다음 스크립트를 참조하세요.

print("Python's favorite food is perl.")

 

Output:

Python's favorite food is perl.

 

반대로 문자열 안에 큰 따옴표가 포함되어야 하는 경우 작은 따옴표로 감싸주면 됩니다.

double_quote = 'This is a string "double quoted" value'

print(double_quote)

 

Output:

This is a string "double quoted" value

 

작은따옴표(‘)나 큰따옴표(“)를 문자열에 포함시키는 또 다른 방법은 백슬레시(\)를 사용하는 것입니다. 문자열 안에 작은따옴표나 큰따옴표 앞에 백슬래시(\)를 삽입하면 됩니다. 위의 스크립트 결과와 동일합니다.

double_quote = "This is a string \"double quoted\" value"

print(double_quote)

 

Output:

This is a string "double quoted" value

 

참고) 이스케이프 코드

코드 설명
\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\\ 문자 \를 그대로 표현할 때 사용
\ 작은따옴표()를 그대로 표현할 때 사용
\ 큰따옴표()를 그대로 표현할 때 사용
\r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커로 '삑’소리가 난다.)
\b 백스페이스
\000 널 문자

 

 

여러 라인으로 문자열을 생성하기 위해서 큰따옴표 3개를 연속으로 써서 양쪽을 감싸주면 됩니다.

str_mul = """Hell this string

spans on multiple lines

ans this is the last line"""

print(str_mul)

 

Output:

Hell this string

spans on multiple lines

ans this is the last line

 

문자열 연산

1.     문자열 더하기

두 문자열을 합하기 위해서 (+)연산자를 사용합니다.

string1 = "Hello how are you?"

string2 = "This is Mike!"

print(string1 + string2)

 

Output:

Hello how are you?This is Mike!

 

 

2.     문자열 곱하기

문자열에 숫자를 곱하면 곱해지는 숫자만큼 문자열을 반복한다는 의미입니다. 다음 스크립트를 확인해 보시기 바랍니다.

string1 = "python"

print(string1 * 2)

 

Output:

pythonpython

 

3.     문자열 길이 구하기

문자열의 길이는 len() 함수를 사용하면 됩니다.

string1 = "Hello how are you?"

print(len(string1))

 

Output:

18

 

4.     문자열 인덱싱과 슬라이싱

문자열 인덱싱은 문자열 안의 문자의 위치를 나타냅니다. “Hello how are you?” 문자열에서 첫번째 문자 ‘H’는 인덱싱이 0입니다.

H e l l o   h o w   a r e   y o u   ?
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16   17

 

string1 = "Hello how are you?"

print(string1[0])

print(string1[1])

print(string1[-1])

 

Output:

H

e

?

 

첫번째 문자 인덱싱이 0부터 시작해서 순차적으로 증가합니다. 인덱싱에 ‘-1’은 마지막 문자 ‘?’를 의미합니다. ‘-‘를 사용하면 뒤에서부터 앞으로 인덱싱합니다. ‘-0’‘0’과 동일한 인덱싱입니다.

 

문자열 슬라이싱은 문자열에서 범위로 문자를 뽑아낼 수 있습니다. 다음 스크립트를 보면 쉽게 이해될 수 있습니다.

string1 = "Hello how are you?"

print(string1[6:9])

 

Output:

How

 

 

문자열 슬라이싱 : 변수[시작 인덱싱 번호 : 끝 인덱싱 번호]

string1[6 : 9]는 인덱싱 6번부터 8번까지의 문자를 자릅니다. 9번은 포함되지 않습니다.

string1[6 : ]처럼 끝 인덱싱을 생략하면 6번 인덱싱 문자부터 문자열 끝까지 뽑아냅니다. 출력은 “how are you?”입니다.

string1[ : 5]처럼 앞 인덱싱을 생략하면 문자열 처음부터 5번앞 문자까지 뽑아냅니다. 출력은 “Hello”입니다.

string1[6 : -1]처럼 끝 인덱싱 번호에 ‘-‘를 사용하면 문자열의 마지막부터 인덱싱이 시작되므로 string1[6 : 17]과 동일한 결과를 얻습니다.

    string[-1] = string[17]

반응형
반응형

소프트웨어 응용 프로그램은 기본적으로 로직과 데이터로 구성됩니다. 로직은 조건문, 반복문, 예외 처리 등과 같은 다양한 프로그래밍 구성을 통해 구현됩니다. 그리고 데이터는 하드 디스크 또는 시스템 메모리에 저장할 수 있습니다. 하드 디스크 및 데이터베이스는 일반적으로 응용 프로그램 데이터를 저장하는 데 사용됩니다. 응용 프로그램이 실행되면 데이터가 하드 드라이브 또는 ROM에서 로드되고 메모리 내 변수에 로드됩니다. 변수는 메모리 내 데이터를 저장합니다.

 

 

변수란 무엇인가?

 

변수에 값을 할당한다는 것은 특정 이름으로 메모리 위치에 일부 데이터를 저장하는 것을 의미합니다. 메모리 위치의 이름은 변수 이름이라고도 합니다. 변수에 데이터를 저장하기 위해 할당 연산자 =가 사용됩니다. 할당 연산자의 왼쪽에 있는 값은 변수 이름 또는 변수 식별자입니다. 연산자의 오른쪽에 있는 값은 변수에 저장되는 값입니다. 파이썬은 변수 이름으로 데이터 유형을 지정할 필요가 없습니다. 파이썬 인터프리터는 저장되는 값에 따라 런타임에 변수의 데이터 유형을 해석하고 그에 따라 메모리 크기를 할당합니다. 다음 예제를 보면 string, integer, float Boolean 유형의 4가지 변수를 초기화합니다.

 

Name = "Tom" # A string variable

Age = 20 # An integer variable

Weight = 65.2 # A floating type variable

Married = False # A boolean variable

 

변수의 데이터 타입을 확인하기 위해서 “type()”함수를 사용하면 됩니다.

 

print(type(Name))

print(type(Age))

print(type(Weight))

print(type(Married))

 

Output:

<class 'str'>

<class 'int'>

<class 'float'>

<class 'bool'>

 

동일한 타입을 갖는 여러 변수에 하나의 값을 할당하기 위해서 다음 구문처럼 연결하면 됩니다.

 

Name = Age = Weight = Married = True

print(Name)

print(Age)

print(Weight)

print(Married)

 

Output:

True

True

True

True

 

 

파이썬 데이터 타입

Data types
int list
float tuple
complex set
bool frozenset
str dictionary
bytes none
bytearray range

 

숫자 자료형

 

숫자형(numeric types)

숫자형은 integer, floats, complex, binary와 같은 데이터입니다.

항목 파이썬 사용 예
정수 123, -345, 0
실수 133.2, -333.2, 3.1e10
8진수 0o32, 0o12
16진수 0x2B, 0xFF

 

1.     Integers

 

정수형 변수 표현방법

-       10진수 표현: 숫자 0부터 9까지 숫자 사용합니다. (ex. var_decimal = 100)

-       2진수 표현: 01을 사용하고 “0b” 또는 “0B”를 접두사로 붙여줍니다. (ex. var_binary = 0B1010)

-       8진수 표현: 0부터 7까지 숫자 사용하고 “0o” 또는 “0O”를 접두사로 붙여줍니다. (ex. var_octal = 0o100)

-       16진수 표현: 0부터 9까지의 숫자와 a-f문자를 사용하고 “0x” 또는 “0X”를 접두사로 붙여줍니다. (ex. var_hexa = 0X10E)

 

변수 이름에 정수 값을 할당하면 변수는 정수 타입으로 생성됩니다. 변수이 타입을 확인해 보기 위해서 “type()”함수를 사용하면 됩니다.

 

int_num = 25

print(type(int_num))

 

Output:

<class 'int'>

 

객체와 관련된 모든 메서드(methods)와 어트리뷰트(attributes)를 확인하기 위해서 “dir()” 함수를 사용하면 됩니다.

참고) 어트리뷰트란 클래스 내부에 포함되어 있는 메서드(함수)나 변수 등을 의미합니다.

 

dir(int_num)

 

Output:

['__abs__',

 '__add__',

 '__and__',

'from_bytes',

 'imag',

 'numerator',

 'real',

 'to_bytes']

 

2.     Floats

소수점이 포함된 숫자를 말합니다. 다음 예제는 flt_num 변수에 실수 2.6553을 할당하고 flt_num 변수의 타입을 출력하였습니다.

 

flt_num = 2.6553

print(type(flt_num))

 

Output:

<class 'float'>

 

지수 표현 방식으로도 실수형 변수에 할당할 수 있습니다.

 

flt_num = 2.6553e3

print(flt_num)

print(type(flt_num))

 

Output:

2655.3

<class 'float'>

 

3.     Complex Numbers

파이썬은 복소수도 변수에 할당 할 수 있습니다. 복소수는 실수(real number)와 허수(imaginary)로 구성됩니다.

 

cmp_num = -.785+3J

print(type(cmp_num))

 

Output:

 <class 'complex'>

 

c1 = 30 + 2.6j

c2 = 50 + 3.6j

c3 = c1 + c2

print(c3)

 

Output:

(80+6.2j)

 

 

c1 = 30 + 2.6j

print("Real part:", c1.real)

print("Imaginary:", c1.imag)

 

Output:

Real part: 30.0

Imaginary: 2.6

 

4.     타입 변환(Type Casting)

데이터 타입을 다른 데이터 타입으로 변환할 수 있습니다.

정수형 타입으로 변환하기 위해서 int()함수를 사용합니다. 다음 스크립트는 몇가지 예를 보여주고 있습니다.

 

print(int(12.44))

print(int(True))

print(int(False))

print(int("15"))

 

Output:

12

1

0

15

 

다음 스크립트는 정수형 타입으로 변환하는데 잘못된 표현들입니다.

 

print(int(“15.6”))

print(int(“one”))

print(int(“0B1010”))

print(int(15+5j))

 

실수형 타입으로 변환하기 위해서 float()함수를 사용합니다.

 

print(float("15"))

print(float(True))

print(float(False))

print(float("15.6"))

 

Output:

15.0

1.0

0.0

15.6

 

다음 스크립트는 실수형 타입으로 변환하는데 잘못된 표현들입니다.

 

print(float(“one”))

print(float(“0B1010”))

print(float(15+6j))

 

 

 

반응형
반응형

모든 프로그래밍 언어에는 특정 기능을 수행하는 특정 단어 집합이 있으며 변수나 식별자로 사용할 수 없습니다.

 

파이썬 키워드 집합

예약된 키워드
False class finally is return
None continue for lambda try
True def from nonlocal while
And del global not with
As elif if or yield
Assert else import pass  
Break except in raise  

  

#예약어 확인방법

 

파이썬 식별자

식별자는 변수, 클래스, 함수, 모듈, 객체를 인식하는데 사용됩니다.

대소문자를 구분되어 사용되어 집니다.

 

파이썬 구문

파이썬에서 구문은 가장 작은 단위의 실행코드입니다. 식별자에 값을 할당했을 때 구문이 쓰여집니다. 아래 첫번째 문장은 age 식별자에 숫자 10을 할당합니다. 두번째 문장은 age 식별자를 출력합니다.

 

할당할 값의 길이가 너무 길면 아래와 같이 괄호, 중괄호로 묶어서 확장할 수 있습니다.

 

다른 방법으로 첫 문장의 끝에 백스래쉬(\)를 추가해서 멀티라인 문장으로 표현할 수 있습니다.

 

파이썬은 들여쓰기로 코드 블록을 정의합니다. C++, Java, C#과 같은 고급 프로그래밍 언어 같은 경우 중괄호({}를 사용하여 코드 블록을 정의합니다. 조건문과 루프문에서 블록을 정의할 때 사용됩니다. 새로운 블록을 정의하려면 왼쪽에서 한 탭 또는 4개 공백으로 코드를 들여써야 합니다.

 

주석

 

주석은 프로그램에 설명을 추가하기 위해서 사용됩니다. 주석은 실행되지 않으며 명령문 형식으로 선언할 필요가 없습니다. 주석은 코드를 설명하는데 사용되므로 오랜 시간이 지난 후에 코드를 보면 어떤 작업을 수행했는지 이해할 수 있습니다.

 

여러줄에 주석을 추가하기 위해서 #을 추가하거나 큰따옴표 세 개를 연속으로 사용한 “””기호 사이에 주석문을 작성하면 됩니다.

반응형

+ Recent posts