๐Ÿ’ปPython :: ์ž๋ฃŒํ˜• Number & String

์œผ๋‹ยท2022๋…„ 10์›” 22์ผ
0

Study

๋ชฉ๋ก ๋ณด๊ธฐ
1/14

๐Ÿ“Number(์ˆซ์žํ˜•)

์ˆซ์ž ํ˜•ํƒœ์˜ ์ž๋ฃŒํ˜•

๐Ÿ“Œ์ •์ˆ˜ํ˜•(Integer): ex) 0,123,-4...

๐Ÿ“Œ์‹ค์ˆ˜ํ˜•(Floating-point): ex) -3.5,1.9, 4,24E10=4.24*10์˜ 10์Šน

๐Ÿ“Œ8์ง„์ˆ˜(Octal): 0o ๋˜๋Š” 0O์œผ๋กœ ์‹œ์ž‘(์ˆซ์ž 0+์•ŒํŒŒ๋ฒณ o or O)

๐Ÿ“Œ16์ง„์ˆ˜(Hexadecimal): 0x๋กœ ์‹œ์ž‘

์—ฐ์‚ฐ์ž

์‚ฌ์น™์—ฐ์‚ฐ

์ฃผ์˜) /๊ณผ //๋Š” ์—„์—ฐํžˆ ๋‹ค๋ฆ„. 11/2=5.5, 11/2=5.


๐Ÿ“String(๋ฌธ์ž์—ด)

์•ŒํŒŒ๋ฒณ, ํ•œ๊ธ€, ํ™”ํ•™๊ธฐํ˜ธ, ์ˆซ์ž ๋“ฑ๋“ฑ character์˜ sequence
"๋ฌธ์ž์—ด", '๋ฌธ์ž์—ด', """๋ฌธ์ž์—ด""", '''๋ฌธ์ž์—ด''' ์œผ๋กœ ์ƒ์„ฑ ๊ฐ€๋Šฅ

๐Ÿ“Œ ๋ฌธ์ž์—ด ์•ˆ์— '์™€ "์„ ํฌํ•จ์‹œํ‚ค๊ณ  ์‹ถ์„ ๋•Œ

'์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” "์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ๊ณ , "์„ ๋ฌธ์ž์—ด ์•ˆ์— ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด '์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ๋ฉด ๋จ.
or ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ ์‚ฌ์šฉ

๐Ÿ“Œ์—ฌ๋Ÿฌ ์ค„์ธ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ

''' ๋˜๋Š” """์„ ์‚ฌ์šฉํ•ด์„œ ๋‘˜๋Ÿฌ์‹ธ๊ธฐ or ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ(\n) ์‚ฌ์šฉ

์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ

Empty string

"", '' ๋น„์–ด์žˆ๋Š” ๋ฌธ์ž์—ด๋„ string ์ทจ๊ธ‰ํ•จ.

๐Ÿ“Œ๋ฌธ์ž์—ด ์—ฐ์‚ฐํ•˜๊ธฐ

Python built in functions for string

  • len(): ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๊ตฌํ•˜๊ธฐ
  • +: ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ
  • *: ๋ฌธ์ž์—ด ๋ฐ˜๋ณต print("="* 50)๋“ฑ์œผ๋กœ ์ •๋ฆฌํ•  ๋•Œ ์œ ์šฉ
  • int(): string-> int type์˜ ์ˆซ์ž๋กœ ์ „ํ™˜
    'a'์ด๋Ÿฐ ๋ฌธ์ž์—ด์€ ์ „ํ™˜์ด ๋‹น์—ฐํžˆ ์•ˆ๋จ. ์ˆซ์ž๋กœ ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด.
  • float(): string->float type์˜ ์ˆซ์ž๋กœ ์ „ํ™˜
>>> print(1,2,3)
1 2 3
>>> 
# ,๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๊ฐ’ ์‚ฌ์ด ์ŠคํŽ˜์ด์Šค ๊ฐ„๊ฒฉ์ด ์ƒ๊ธฐ๊ณ , ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ์ถœ๋ ฅํ•œ ์ดํ›„ ๊ฐœํ–‰

>>>print()
# ์ž…๋ ฅ์ด ์—†์œผ๋ฉด default๋กœ ์ค„ ๋ฐ”๊ฟˆ ํ•œ ๋ฒˆ ์‹œํ–‰,can print values of any type

>>>print('a','b','c', sep='-')
a-b-c
# sep: default๊ฐ€ space. ๊ฐ’๋“ค ์‚ฌ์ด์— ์‚ฝ์ž…๋˜๋Š” ๋ฌธ์ž์—ด(๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)

>>>print('a','b','c',sep='-',end='r')
a-b-cr
# end: ๋งˆ์ง€๋ง‰ ์ž…๋ ฅ๊ฐ’ ๋’ค์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ž์—ด. newline(๊ฐœํ–‰)์ด default(๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)
# ์ฐธ๊ณ ) file = sys.stdout ์ธ์ž: ํ‘œ์ค€์ž…์ถœ๋ ฅ๊ณผ ์—ฐ๊ด€. ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŠน๋ณ„ํ•œ ์„ค์ •์ด ์—†๋‹ค๋ฉด print ํ•จ์ˆ˜๋Š” ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด default(๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)
""" flush=False ์ธ์ž: ํ•˜๋“œ์›จ์–ด I/O ๋ฒ„ํผ์™€ ์—ฐ๊ด€. ๋ฒ„ํผ ์žฅ์น˜๋Š” ์ถœ๋ ฅ ์ „ ํ‚ค๋ณด๋“œ์—์„œ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ๋ณด๊ด€. 
flush๋Š” ํ‚ค๋ณด๋“œ์—์„œ ์ž…๋ ฅ๋˜์–ด ๋ฒ„ํผ์— ์ €์žฅ๋œ ๋‚ด์šฉ์„ ์ถœ๋ ฅ๋ฐฉํ–ฅ(์—ฌ๊ธฐ์„œ๋Š” ํ™”๋ฉด)์œผ๋กœ ๋ฐ”๋กœ ๋ฐ€์–ด๋„ฃ๋Š”๋‹ค๋Š” ์˜๋ฏธ. ๋ฐ€์–ด๋„ฃ๋Š” ์ž‘์—…์„ ์ ๊ฒŒ ํ• ์ˆ˜๋ก ํšจ์œจ์ ์ด๋ฏ€๋กœ ์ธ์ž๋ฅผ False๋กœ ํ•ด๋†“์œผ๋ฉด ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ ๋น„์šฉ์ ˆ๊ฐ์„ ์œ„ํ•ด ์ž…๋ ฅ๋œ ๋‚ด์šฉ์ด ๋ฐ”๋กœ ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Œ. """ 

๐Ÿ“ŒString Indexing& Slicing

  • ์ธ๋ฑ์‹ฑ: ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋งˆ๋‹ค ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌ-> ๋ฌธ์ž์—ด a๋ฅผ ์ •์˜ํ–ˆ์„ ๋•Œ a[๋ฒˆํ˜ธ]์˜ ํ˜•ํƒœ๋กœ ๋ฌธ์ž์—ด ์•ˆ์˜ ํŠน์ •ํ•œ ๊ฐ’(ํ•œ ๋ฌธ์ž)์„ ๋ฝ‘์•„๋ƒ„.

๋ฌธ์ž์—ด์—์„œ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘๋จ(์ฃผ์˜).
์–‘์ˆ˜ ์ธ๋ฑ์Šค๋Š” ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋ถ€ํ„ฐ 0์œผ๋กœ ์‹œ์ž‘,
์Œ์ˆ˜ ์ธ๋ฑ์Šค๋Š” ๋งจ ๋’ท ์ž๋ฆฌ์—์„œ๋ถ€ํ„ฐ -1๋กœ ์‹œ์ž‘๋จ. (-0=0์ด๋ฏ€๋กœ ์•ž์—์„œ ์ฒซ๋ฒˆ์งธ ๊ธ€์ž ์˜๋ฏธ)

  • ์Šฌ๋ผ์ด์‹ฑ: ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์„ ๋ฝ‘์•„๋‚ด๊ณ  ์‹ถ์„ ๋•Œ,
    a[์‹œ์ž‘ ๋ฒˆํ˜ธ: ๋๋ฒˆํ˜ธ]์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ. ์‹œ์ž‘๋ฒˆํ˜ธ๋ถ€ํ„ฐ (๋๋ฒˆํ˜ธ-1)์— ํ•ด๋‹น๋˜๋Š” ์ž๋ฆฌ๊นŒ์ง€ ๋ฌธ์ž๋ฅผ ๋ฝ‘์•„๋ƒ„.
    a[์‹œ์ž‘ ๋ฒˆํ˜ธ:] - ์‹œ์ž‘๋ฒˆํ˜ธ๋ถ€ํ„ฐ ๊ทธ ๋ฌธ์ž์—ด์˜ ๋๊นŒ์ง€
    a[:๋ ๋ฒˆํ˜ธ] - ๋ฌธ์ž์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๋ฒˆํ˜ธ-1๊นŒ์ง€
    a[:] - ๋ฌธ์ž์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€
a='you only live once.'
a[9:12]
>>>'liv'
a[12:-2]
>>>'e onc' #๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 12๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ -3์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅ. -2๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Œ.

date='20221022Rainy'
year=date[:4]
month=[4:6]
date=[6:8]
weather=[8:]

์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ-> list์™€ tuple์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

๐Ÿ“ŒString formatting(๋ฌธ์ž์—ด ํฌ๋งคํŒ…)

๋ฌธ์ž์—ด ์•ˆ์˜ ํŠน์ •ํ•œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ

๋ฌธ์ž์—ด ํฌ๋งท ์ฝ”๋“œ

>>>"I have %s apples" %3
'I have 3 apples'
#3์„ ๋ฌธ์ž์—ด ์•ˆ์— ์‚ฝ์ž…ํ•˜๋ ค๋ฉด %d๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ %s๋Š” ์ž๋™์œผ๋กœ %๋’ค์˜ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ํ˜•ํƒœ์˜ ๊ฐ’์ด๋“  ๋ณ€ํ™˜ํ•˜์—ฌ ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ.

์ฃผ์˜) %์•ˆ์— %๋ฅผ ์“ธ ๋•Œ๋Š” %%์„ ์“ด๋‹ค.
ex) >>>"Error is %d%%" %98
'Error is 98%

ํฌ๋งท ์ฝ”๋“œ์™€ ์ˆซ์ž ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

>>> "%10s" % "hi"
# ์ „์ฒด ๊ธธ์ด๊ฐ€ 10๊ฐœ์ธ ๋ฌธ์ž์—ด ๊ณต๊ฐ„์—์„œ ๋Œ€์ž…๋˜๋Š” hi๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ •๋ ฌ(๋‚˜๋จธ์ง€๋Š” ๊ณต๋ฐฑ)
>>> "%-10sjane" % 'hi'
#์ „์ฒด ๊ธธ์ด๊ฐ€ 10์ธ ๋ฌธ์ž์—ด ๊ณต๊ฐ„์—์„œ hi๋Š” ์™ผ์ชฝ ์ •๋ ฌ, ๋‚˜๋จธ์ง€๋Š” ๊ณต๋ฐฑ. ๋’ค์—๋Š” jane์ด ๋ถ™์Œ

format ํ•จ์ˆ˜๋กœ ํฌ๋งคํŒ…ํ•˜๊ธฐ

#์ธ๋ฑ์Šค {} ๋ฐฉ์‹ ex) {0}, {1} 
>>>print('์‹ค์ˆ˜ : {1}, ์ˆซ์ž : {0}, ๋ฌธ์ž์—ด : {2}'.format(5, 0.5, 'ํ™๊ธธ๋™'))
'์‹ค์ˆ˜ : 0.5, ์ˆซ์ž : 5, ๋ฌธ์ž์—ด : ํ™๊ธธ๋™'

format ํ•จ์ˆ˜๋กœ ์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ณ€์ˆ˜ ๋Œ€์ž… ๋‹ค ๊ฐ€๋Šฅ
์ธ๋ฑ์Šค ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ {0}์œผ๋กœ ์‹œ์ž‘ํ•ด์•ผ ๋จ

# ๋ณ€์ˆ˜ ์ง€์ • ๋ฐฉ์‹ {name} ํ˜•ํƒœ
print('์‹ค์ˆ˜ : {a}, ์ˆซ์ž : {b}, ๋ฌธ์ž์—ด : {c}'.format(a=0.1, b=100, c='์‚ผ์„ฑ์ „์ž'))

'์‹ค์ˆ˜ : 0.1, ์ˆซ์ž : 100, ๋ฌธ์ž์—ด : ์‚ผ์„ฑ์ „์ž'

#์ •๋ ฌ
>>>"{0:<10}".format("hi")
10๊ฐœ์˜ ์ž๋ฆฌ์—์„œ ์™ผ์ชฝ ์ •๋ ฌ๋œ hi๋ฅผ ์ถœ๋ ฅ

{0:<10} ์™ผ์ชฝ ์ •๋ ฌ {0:^10} ๊ฐ€์šด๋ฐ ์ •๋ ฌ {0:>10} ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ

#๊ณต๋ฐฑ ์ฑ„์šฐ๊ธฐ
์ •๋ ฌ ํ•  ๋•Œ ๊ณต๋ฐฑ์„ ๋‹ค๋ฅธ ๋ฌธ์ž๊ฐ’์œผ๋กœ ์ฑ„์šฐ๊ธฐ
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
10๊ฐœ์˜ ์ž๋ฆฌ์—์„œ hi๋ฅผ ์™ผ์ชฝ ์ •๋ ฌ, ๊ทธ ๊ณต๋ฐฑ์€ !์œผ๋กœ ์ฑ„์›€.

#f-sting formatting
ํŒŒ์ด์ฌ 3.6๋ฒ„์ „๋ถ€ํ„ฐ ์ƒˆ๋กœ ์ƒ๊ธด ๊ธฐ๋Šฅ
๋ฌธ์ž์—ด ์•ž์— f ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  {} ์•ˆ์— ๋ฐ”๋กœ ๋ณ€์ˆ˜๋ช…์„ ์ ์œผ๋ฉด ๋จ.
>>> name='์ •์šฐ'
>>> age=22
>>>f'๋‚ด ์ด๋ฆ„์€ {name}์ด๊ณ  ๋‚˜์ด๋Š” {age}์ด๋‹ค.'
'๋‚ด ์ด๋ฆ„์€ ์ •์šฐ์ด๊ณ  ๋‚˜์ด๋Š” 22์ด๋‹ค.'
๋ณ€์ˆ˜ ๊ฐ’์„ ์ƒ์„ฑํ•œ ํ›„์— ๊ทธ ๊ฐ’์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹์ž„. ๋ฌธ์ž์—ด ์•ˆ์—์„œ +-๊ฐ™์€ ์ˆ˜์‹๋„ ํ•จ๊ป˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
๋”•์…”๋„ˆ๋ฆฌ ํฌ๋งท๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๐Ÿ“ŒString methods(๋ฌธ์ž์—ด ๋‚ด์žฅ ํ•จ์ˆ˜)

  • count() : ๋ฌธ์ž ๊ฐœ์ˆ˜ ์„ธ๊ธฐ
  • find(): ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋‚˜์˜จ ์œ„์น˜ ๋ฐ˜ํ™˜, ์ฐพ๋Š” ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1๋ฐ˜ํ™˜
  • index(): ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋‚˜์˜จ ์œ„์น˜ ๋ฐ˜ํ™˜, ์ฐพ๋Š” ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ.
  • join(): ๋ฌธ์ž์—ด์˜ ๊ฐ๊ฐ์˜ ๋ฌธ์ž ์‚ฌ์ด์— ์‚ฝ์ž… ๊ฐ€๋Šฅ.
    ex) ",".join('abcd')-> 'a,b,c,d'
  • lstrip-> ์™ผ์ชฝ ๊ณต๋ฐฑ ์ง€์šฐ๊ธฐ rstrip->์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ง€์šฐ๊ธฐ strip->์–‘์ชฝ ๊ณต๋ฐฑ ์ง€์šฐ๊ธฐ
  • replace(): replace(๋ฐ”๋€Œ๊ฒŒ ๋  ๋ฌธ์ž์—ด, ๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด) ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ
  • split: split() ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ” split(',') ,์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ”
    ๋‚˜๋ˆˆ ๊ฐ’์€ '๋ฆฌ์ŠคํŠธ'์— ๋“ค์–ด๊ฐ€์„œ ๋ฐ˜ํ™˜๋จ.
profile
์•„์ด์ฟ 

0๊ฐœ์˜ ๋Œ“๊ธ€