πŸ’»μ ν”„ 투 파이썬 정리 2μž₯ (μˆ«μžν˜•,λ¬Έμžμ—΄ μžλ£Œν˜•)

νŒ”λ¦¬λ™Β·2021λ…„ 3μ›” 7일
post-thumbnail

πŸ“š2μž₯.파이썬 ν”„λ‘œκ·Έλž˜λ°μ˜ 기초, μžλ£Œν˜•

02-1 μˆ«μžν˜•

μ •μˆ˜ν˜•

μ •μˆ˜ν˜•(Integer)μ΄λž€ 말 κ·ΈλŒ€λ‘œ μ •μˆ˜λ₯Ό λœ»ν•˜λŠ” μžλ£Œν˜•μ„ λ§ν•œλ‹€.

>>> a = 123
>>> a = -178
>>> a =0 

μ‹€μˆ˜ν˜•

νŒŒμ΄μ¬μ—μ„œ μ‹€μˆ˜ν˜•(Froating-point)은 μ†Œμˆ˜μ μ΄ ν¬ν•¨λœ 숫자λ₯Ό λ§ν•œλ‹€. λ‹€μŒμ€ μ‹€μˆ˜λ₯Ό λ³€μˆ˜a에 λŒ€μž…ν•˜λŠ” μ˜ˆμ΄λ‹€.

>>> a = 1.2
>>> a = 3.45

μœ„ 방식은 μš°λ¦¬κ°€ 일반적으둜 λ³Ό 수 μžˆλŠ” μ‹€μˆ˜ν˜•μ˜ μ†Œμˆ˜μ  ν‘œν˜„λ°©μ‹μ΄λ‹€.

8μ§„μˆ˜μ™€ 16μ§„μˆ˜

8μ§„μˆ˜(OCtal)λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” μˆ«μžκ°€ 0o λ˜λŠ” 0O(숫자 0 + μ•ŒνŒŒλ²³ μ†Œλ¬Έμž o λ˜λŠ” λŒ€λ¬ΈμžO둜 μ‹œμž‘ν•˜λ©΄ λœλ‹€.

>>>> a = 0o177

16μ§„μˆ˜(Hexadecimal)λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” Ox둜 μ‹œμž‘ν•˜λ©΄ λœλ‹€.

>>> a = 0x8ff
>>> b = 0xABC

8μ§„μˆ˜λ‚˜ 16μ§„μˆ˜λŠ” νŒŒμ΄μ¬μ—μ„œ 잘 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” ν˜•νƒœμ˜ 숫자 μžλ£Œν˜•μ΄λ‹ˆ κ°„λ‹¨νžˆ 눈으둜 읡히고 λ„˜μ–΄κ°€μž.

μ œκ³±μ„ λ‚˜νƒ€λ‚΄λŠ” **μ—°μ‚°μž

μ—°μ‚°μžλŠ” x**y처럼 μ‚¬μš©ν–ˆμ„ λ•Œ x의 y제곱(x^y)값을 λŒλ €μ€€λ‹€. λ‹€μŒ 예λ₯Ό 톡해 μ•Œμ•„λ³΄μž.

>>> a = 3
>>> b = 4
>>> a ** b
81

λ‚˜λˆ—μ…ˆ ν›„ λ‚˜λ¨Έμ§€λ₯Ό λ°˜ν™˜ν•˜λŠ” %μ—°μ‚°μž

>>> 7 % 3
1  // λ‚˜λ¨Έμ§€ 
>>> 3 % 7 
3  // λ‚˜λ¨Έμ§€

λ‚˜λˆ—μ…ˆ ν›„ λͺ«μ„ λ°˜ν™˜ν•˜λŠ” // μ—°μ‚°μž

>>> 7 // 4
1   #λͺ«

1.75μ—μ†Œ λͺ«μ— ν•΄λ‹Ήλ˜λŠ” μ •μˆ˜κ°’ 1만 λŒλ €μ£ΌλŠ” 것을 확인할 수 μžˆλ‹€.

02-2 λ¬Έμžμ—΄ μžλ£Œν˜•

νŒŒμ΄μ¬μ—μ„œ λ¬Έμžμ—΄ ν‘œν˜„ 방법은 총 4κ°€μ§€

    1. ν°λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈκΈ°
"Hello World"
    1. μž‘μ€ λ”°μ˜΄ν‘œλ‘œ λ‘˜λŸ¬μ‹ΈκΈ°
'Hello World'
    1. ν°λ”°μ˜¨ν‘œ 3개λ₯Ό μ—°μ†μœΌλ‘œ μ¨μ„œ λ‘˜λŸ¬μ‹ΈκΈ°
"""Hello World"""
    1. μž‘μ€λ”°μ˜΄ν‘œ 3개λ₯Ό μ—°μ†μœΌλ‘œ μ¨μ„œ λ‘˜λŸ¬μ‹ΈκΈ°
'''Hello World'''

λ¬Έμžμ—΄ μ•ˆμ— μž‘μ€ λ”°μ˜΄ν‘œλ‚˜ ν°λ”°μ˜΄ν‘œλ₯Ό ν¬ν•¨μ‹œν‚€κ³  싢을 λ•Œ

  • 1 . λ¬Έμžμ—΄μ— μž‘μ€ λ”°μ˜΄ν‘œ 포함 μ‹œν‚€κΈ°
>>> food = "Python's favorite food is perl"

μž‘μ€ λ”°μ˜΄ν‘œκ°€ λ“€μ–΄κ°€λŠ” λ¬Έμž₯은 큰 λ”°μ˜΄ν‘œλ‘œ 감싸면 였λ₯˜μ—†μ΄ ν‘œν˜„λœλ‹€.

  • 2. λ¬Έμžμ—΄μ— ν°λ”°μ˜΄ν‘œ ν¬ν•¨μ‹œν‚€κΈ°
>>> say= '"Python is very easy." he says.'

μ΄λ ‡κ²Œ μž‘μ€ λ”°μ˜΄ν‘œ(') μ•ˆμ— μ‚¬μš©λœ ν°λ”°μ˜΄ν‘œ(")λŠ” λ¬Έμžμ—΄μ„ λ§Œλ“œλŠ” 기호둜 μΈμ‹λ˜μ§€ μ•ŠλŠ”λ‹€.

  • 3. λ°±μŠ¬λž˜μ‹œλ₯Ό μ‚¬μš©ν—€μ„œ μž‘μ€ λ”°μ˜΄ν‘œμ™€ 큰 λ”°μ˜΄ν‘œλ₯Ό λ¬Έμžμ—΄μ— ν¬ν•¨μ‹œν‚€κΈ°
>>> food = 'Python\'s favorite food is perl'
>>> say = "\"Python is very easy.\" he says."

λ°±μŠ¬λž˜μ‹œλ₯Ό μž‘μ€λ”°μ˜΄ν‘œλ‚˜ ν°λ”°μ˜΄ν‘œ μ•žμ— μ‚½μž…ν•˜λ©΄ λ°±μŠ¬λ ˆμ‹œ λ’€μ˜ μž‘μ€ λ”°μ˜΄ν‘œλ‚˜ ν°λ”°μ˜΄ν‘œλŠ” λ¬Έμžμ—΄μ„ λ‘˜λŸ¬μ‹ΈλŠ” 기호의 μ˜λ―Έκ°€ μ•„λ‹ˆλΌ 문자 ('),(")κ·Έ 자체λ₯Ό λœ»ν•˜κ²Œ λœλ‹€.

μ—¬λŸ¬ 쀄인 λ¬Έμžμ—΄μ„ λ³€μˆ˜μ— λŒ€μž…ν•˜κ³  싢을 λ•Œ

  • 1. 쀄을 λ°”κΎΈλŠ” μ΄μŠ€μΌ€μ΄ν”„ μ½”λ“œ'\n' μ‚½μž…ν•˜κΈ°
>>> muitiline = "Life is roo short/n You need python"

>>>print(multiline)
Life is too short
You need python

μœ„μ˜ 예처럼 μ€„λ°”κΏˆ 문자 '\n'을 μ‚½μž…ν•˜λŠ” 방법이 μžˆμ§€λ§Œ 읽기에 λΆˆνŽΈν•˜κ³  쀄이 κΈΈμ–΄μ§€λŠ” 단점이 μžˆλ‹€.

  • 2. μ—°μ†λœ μž‘μ€λ”°μ˜΄ν‘œ 3개(''') λ˜λŠ” ν°λ”°μ˜΄ν‘œ(""")3개 μ‚¬μš©ν•˜κΈ°
>>> multiline = '''
... Life is too short 
... You need python
... '''

μž‘μ€λ”°μ˜΄ν‘œλ₯Ό 3개 μ‚¬μš©ν•˜λŠ” 경우

>>> multiline = """
... Life is too short 
... You need python
... """

ν°λ”°μ˜΄ν‘œ 3개λ₯Ό μ‚¬μš©ν•˜λŠ” 경우

>>> print(multiline)
Life is too short
You need python

print(multiline)을 μž…λ ₯ν•œ 경우

    1. μžμ£Όμ‚¬μš©ν•˜λŠ” μ΄μŠ€μΌ€μ΄ν”„ μ½”λ“œ

      \n: λ¬Έμžμ—΄μ•ˆμ—μ„œ 쀄을 λ°”κΏ€ λ•Œ μ‚¬μš© 
      \t: λ¬Έμžμ—΄ 사이에 νƒ­ 간격을 쀄 λ•Œ μ‚¬μš© 
      \\: 문자\λ₯Ό κ·ΈλŒ€λ‘œ ν‘œν˜„ν•  λ•Œ μ‚¬μš© 
      \': μž‘μ€ λ”°μ˜΄ν‘œλ₯Ό κ·ΈλŒ€λ‘œ ν‘œν˜„ν•  λ•Œ μ‚¬μš© 
      \": ν°λ”°μ˜΄ν‘œλ₯Ό κ·ΈλŒ€λ‘œ ν‘œν˜„ν•  λ•Œ μ‚¬μš© 

λ¬Έμžμ—΄ μ—°μ‚°ν•˜κΈ°

  • 1. λ¬Έμžμ—΄ λ”ν•΄μ„œ μ—°κ²°ν•˜κΈ°
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail 
'pythons is fun' 
  • 2. λ¬Έμžμ—΄ κ³±ν•˜κΈ°
>>> a = "Python"
>>> a * 2 
'pythonpython'

μœ„ μ†ŒμŠ€ μ½”λ“œμ—μ„œ a * 2 λŠ” aλ₯Ό λ‘λ²ˆ λ°˜λ³΅ν•˜λΌλŠ” λœ»μ΄λ‹€.

  • 3. λ¬Έμžμ—΄ 길이 κ΅¬ν•˜κΈ°
>>> a = "Life is too short"
>>> len(a)
17 

λ¬Έμžμ—΄μ˜ κΈΈμ΄λŠ” λ‹€μŒκ³Ό 같이 lenν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ ꡬ할 수 μžˆλ‹€.

λ¬Έμžμ—΄ 인덱싱과 μŠ¬λΌμ΄μ‹±

>>> a = "Life is too short, You need Python"
>>> a[3]
'e'

a[3]이 λœ»ν•˜λŠ” 것은 aλΌλŠ” λ¬Έμžμ—΄μ˜ λ„€λ²ˆμ§Έ 문자eλ₯Ό λ§ν•œλ‹€.

λ¬Έμžμ—΄ 인덱싱 ν™œμš©ν•˜κΈ°

>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's' 
>>> a[-1]
'n'

a[-1]은 λ’€μ—μ„œλΆ€ν„° μ„Έμ–΄ 첫 λ²ˆμ§Έκ°€ λ˜λŠ” 문자λ₯Ό λ§ν•œλ‹€.

λ¬Έμžμ—΄ μŠ¬λΌμ΄μ‹±

>>> a = "Life is too short, You need Python"
>>> a[0:4]
'Life'

a[0:4]κ°€ λœ»ν•˜λŠ” 것은 aλ¬Έμžμ—΄ λ¬Έμž₯μ—μ„œ 자리번호 0λΆ€ν„°4κΉŒμ§€μ˜ 문자λ₯Ό λ½‘μ•„λ‚Έλ‹€λŠ” λœ»μ΄λ‹€.
μ—¬κΈ°μ„œa[0:4]μ—μ„œ 4λŠ” ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€.
a[0:4]λ₯Ό μˆ˜μ‹μœΌλ‘œ λ°”κΎΈλ©΄
0 <= a < 4
즉 4λŠ” ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€.
λ¬Έμžμ—΄μ—°μ‚°μ—μ„œ κ°€μž₯ ν˜Όλ™λ˜λŠ” λΆ€λΆ„μ΄λ‹ˆ μ£Όμ˜ν•˜μž₯

λ¬Έμžμ—΄ μŠ¬λΌμ΄μ‹± μ‘μš©

>>> a = "20210308Rainy"
>>>year = a[:4]    #μ²˜μŒλΆ€ν„°a[3]κΉŒμ§€
>>>day = a[4:8]    #a[4]뢀타 a[7]κΉŒμ§€ 
>>>weather = a[8:] #a[8]λΆ€ν„° λ§ˆμ§€λ§‰κΉŒμ§€ 
>>> 'year'
'2021'
>>> day 
'0308'
>>> weather
'Rainy' 

μ΄λŸ°μ‹μœΌλ‘œ 날씨 apiλ₯Ό λ°›μ•„μ˜€λŠ”κ΅¬λ‚˜ μ•Œκ²Œ 됐닀.

λ¬Έμžμ—΄ ν¬λ§€νŒ…

  • 숫자 λ°”λ‘œ λŒ€μž…
>>> "I eat %d apples." %3 
'I eat 3 apples'

λ¬Έμžμ—΄ μ•ˆμ—μ„œ 숫자λ₯Ό λ„£κ³  싢은 μžλ¦¬μ— %d문자λ₯Ό λ„£μ–΄μ£Όκ³  μ‚½μž…ν•  숫자 3은 κ°€μž₯ 뒀에 μžˆλŠ” % 문자 λ‹€μŒμ— 써 λ„£μ—ˆλ‹€. μ—¬κΈ°μ„œ %dλŠ” λ¬Έμžμ—΄ 포맷 μ½”λ“œλΌκ³  λΆ€λ₯Έλ‹€.

λ¬Έμžμ—΄ 포맷 μ½”λ“œ

%s: λ¬Έμžμ—΄(string)
%c: 문자 1개 (Character)
%d: μ •μˆ˜(Integer)
%f: λΆ€λ™μ†Œμˆ˜(Floating-point)
%o: 8μ§„μˆ˜
%x: 16μ§„μˆ˜
%%: Literal % (문자 '%' 자체)

포맷 μ½”λ“œμ™€ 숫자 ν•¨κ»˜ μ‚¬μš©ν•˜κΈ°

>>> "10s" "hi" 
'          hi'     < hiκ°€ 였λ₯Έμͺ½ 정렬됨 

μœ„μ˜ μ˜ˆλ¬Έμ—μ„œ %10sλŠ” 전체 길이가 10개인 λ¬Έμžμ—΄ κ³΅κ°„μ—μ„œ λŒ€μž…λ˜λŠ” 값을 였λ₯Έμͺ½μœΌλ‘œ μ •λ ¬ν•˜κ³  κ·Έ μ•žμ˜ λ‚˜λ¨Έμ§€λŠ” 곡백으둜 남겨 λ‘λΌλŠ” μ˜λ―Έμ΄λ‹€.

fomatν•¨μˆ˜

b = 'I eat {0} apples' .format("three")

print(b)

I eat three apples

ν¬λ§·ν•¨μˆ˜λ₯Ό 뒀에 λΆ™μ—¬μ„œ λŒ€μž…ν•  수 μžˆλ‹€.

λ¬Έμžμ—΄ κ΄€λ ¨ ν•¨μˆ˜

  • 1.문자 개수 μ„ΈκΈ°
>>> a = "hobby"
>>> a.count('b')
2 

λ¬Έμžμ—΄ 쀑 b의 개수λ₯Ό λŒλ €μ€€λ‹€.

    1. μœ„μΉ˜ μ•Œλ €μ£ΌκΈ°(1)
>>> a = "python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1

λ¬Έμžμ—΄ 쀑 문자bκ°€ 처음 λ‚˜μ˜¨ μœ„μΉ˜λ₯Ό λ°˜ν™˜ν•œλ‹€. λ§Œμ•½ μ°ΎλŠ” λ¬Έμžλ‚˜ λ¬Έμžμ—΄μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ -1을 λ°˜ν™˜ν•œλ‹€.

  • μœ„μΉ˜ μ•Œλ €μ£ΌκΈ°(2)
>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
였λ₯˜

.findμ™€μ˜ 차이점은 λ¬Έμžμ—΄μ•ˆμ— μ—†λŠ” 문자λ₯Ό 찾으면 였λ₯˜κ°€ λ‚œλ‹€.

    1. λ¬Έμžμ—΄ μ‚½μž…
>>> ",".join('abcd')
'a,b,c,d' 

abcdλ¬Έμžμ—΄ 사이에 ','λ₯Ό μ‚½μž…ν•œλ‹€.

    1. μ†Œλ¬Έμžλ₯Ό λŒ€λ¬Έμžλ‘œ λ°”κΎΈκΈ°
>>> a = 'hi'
>>> a .upper()
'HI'

upperν•¨μˆ˜λŠ” μ†Œλ¬Έμžλ₯Ό λŒ€λ¬Έμžλ‘œ λ°”κΎΈμ–΄ μ€€λ‹€.

    1. λŒ€λ¬Έμžλ₯Ό μ†Œλ¬Έμžλ‘œ λ°”κΎΈκΈ°(lower)
>>> a = 'HI' 
>>> a.lower()
'hi'

lowerν•¨μˆ˜λŠ” λŒ€λ¬Έμžλ₯Ό μ†Œλ¬Έμžλ‘œ λ°”κΎΈμ–΄ μ€€λ‹€.

profile
λ°°μ›€μ˜ 기둝

0개의 λŒ“κΈ€