[SK shiedlus Rookies 23]Python(1-1)_24.10.15

๋ฐ•์†Œ๋ฏผยท2024๋…„ 10์›” 20์ผ

Python

๋ชฉ๋ก ๋ณด๊ธฐ
2/23
post-thumbnail

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

ํ• ๋‹น ์—ฐ์‚ฐ์ž

๐Ÿ”ฝ ๋น„ํŠธ ์—ฐ์‚ฐ ํ›„ ํ• ๋‹น

๋น„ํŠธ ์—ฐ์‚ฐ์ž

  • ๊ฐ’์„ ๋น„ํŠธ(bit) ๋‹จ์œ„, ์ด์ง„์ˆ˜๋กœ ๋ฐ”๋€ ์ƒํƒœ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ์‚ฐ๊ธฐํ˜ธ
  • bin() : 2์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜
> a=116
  print(bin(a))     #0b1110100

> x = 60  # 60์˜ ์ด์ง„์ˆ˜: 0011 1100
  y = 13  # 13์˜ ์ด์ง„์ˆ˜: 0000 1101
  
  <<AND ์—ฐ์‚ฐ>>
  print(x & y)     #12

๋ฌธ์ž์—ด(string)

  • ๋ฌธ์„œํ™” ๋ฌธ์ž์—ด(docstring)
    : ํ•จ์ˆ˜ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์„
    โ†ช๏ธEx> ์ฝ”๋“œ + ์ฝ”๋“œ์™€ ๊ด€๋ จ๋œ ์ฃผ์„ โžก ๋ฌธ์„œํ™”
    -์‚ผ์ค‘ ๋”ฐ์˜ดํ‘œ("""/''')๋กœ ๋‘˜๋Ÿฌ์‹ธ์ž„.
def add(a, b):
    """
    ๋‘ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.     =># ํ•จ์ˆ˜์ •์˜- ์ฃผ์„

    ๋งค๊ฐœ๋ณ€์ˆ˜:
    a (int, float): ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž
    b (int, float): ๋‘ ๋ฒˆ์งธ ์ˆซ์ž

    ๋ฐ˜ํ™˜๊ฐ’:
    int, float: ๋‘ ์ˆซ์ž์˜ ํ•ฉ
    """
    return a + b
    
    print(add(3, 5))     #8
๊ฐ€] ๋ฌธ์ž์—ด ์ถœ๋ ฅ
  1. ( .__doc__)
print(add.__doc__)

#๋‘ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜:
a (int, float): ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž
b (int, float): ๋‘ ๋ฒˆ์งธ ์ˆซ์ž

๋ฐ˜ํ™˜๊ฐ’:
int, float: ๋‘ ์ˆซ์ž์˜ ํ•ฉ
  1. help( )
help(add)

#Help on function add in module __main__:
add(a, b)
    ๋‘ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

    ๋งค๊ฐœ๋ณ€์ˆ˜:
    a (int, float): ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž
    b (int, float): ๋‘ ๋ฒˆ์งธ ์ˆซ์ž

    ๋ฐ˜ํ™˜๊ฐ’:
    int, float: ๋‘ ์ˆซ์ž์˜ ํ•ฉ
  • ์ธ๋ฑ์‹ฑ & ์Šฌ๋ผ์ด์‹ฑ โžœโžœ "๐Ÿ’ฌPython(1) ํ™•์ธ "

  • ์—ฐ๊ฒฐ & ๋ฐ˜๋ณต

  1. ์—ฐ๊ฒฐ +
hello = "HELLO"
world = "WORLD"

print(hello + world)    # HELLOWORLD
  1. ๋ฌธ์ž์—ด ํ•ฉ์น˜๊ธฐ "๊ตฌ๋ถ„์ž".join(list)
    -join (): ๊ฒฐํ•ฉํ•  ์š”์†Œ๋“ค ์‚ฌ์ด์— ์‚ฝ์ž…๋  ๊ตฌ๋ถ„์ž ์—ญํ• 
words = ["Hello", "World", "with", "Python"]

<<๊ตฌ๋ถ„์ž: ๊ณต๋ฐฑ>>
result = " ".join(words)
print(result)        #Hello World with Python

<<๊ตฌ๋ถ„์ž: *>>
resutl = "*".join(words)
print(resutl)        #Hello*World*with*Python
  1. ๋ฐ˜๋ณต *
hello = "Hello"
print(hello * 3)     #HelloHelloHello

* ๋ฉ”์„œ๋“œ.method

x = "Hello World"
  1. len() ํ•จ์ˆ˜ : ๋ฌธ์ž์—ด ๊ธธ์ด
print(len(x))             # 11
  1. x.lower() : ๋ฌธ์ž์—ด -> ์†Œ๋ฌธ์ž
print(x.lower())          # hello world
  1. x.upper() : ๋ฌธ์ž์—ด -> ๋Œ€๋ฌธ์ž
print(x.upper())          # HELLO WORLD
  1. x.strip() : ๋ฌธ์ž์—ด ์–‘์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ
x = "    Hello Python    "
print(x.strip())          # Hello Python
  1. x.replace(old, new) : old๋ฅผ new๋กœ ๋ณ€๊ฒฝโŸถ "๊ต์ฒด/์ˆ˜์ •"
x = "Hello Python!"
print(x.replace("Python", "World"))    # Hello World!
  1. x.split(๊ตฌ๋ถ„์ž) : ๊ตฌ๋ถ„์ž(delimiter)๋กœ ๋ถ„๋ฆฌ
<<๊ณต๋ฐฑ๊ธฐ์ค€ ๋ถ„๋ฆฌ>>
> x = "Hello world with Python!"
print(str.split())          # ['Hello', 'world', 'with', 'Python!']

<<๊ตฌ๋ถ„์ž (, ๋˜๋Š” /) ๊ธฐ์ค€ ๋ถ„๋ฆฌ>>
> str2 = "Hello,Python,Bye"
str3 = "Hello/Python, world"

s2 = str2.split(",")
print(s2)     #['Hello','Python','Bye']

s3 = str3.split("/")
print(s3)     #['Hello', 'Python,Bye']

  1. y.count(sub-string) : IN ๋ฌธ์ž์—ด(str) -> sub-string ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
y = "Hello Python!"
print(y.count("l"))       #2
  1. y.find(sub-string) .index(sub-string)
    : IN ๋ฌธ์ž์—ด(str) -> sub-string ์œ„์น˜ ๋ฐ˜ํ™˜
>y = "Hello Python!"
print(y.find("Python"))     #6
print(y.find("Java"))     #-1 (์ฐพ๋Š” ๋ฌธ์ž์—ด์ด ์—†์„ ๊ฒฝ์šฐ)

>print(y.index("Java"))     #ValueError: substring not found

  1. in ์—ฐ์‚ฐ์ž -> ๋ฌธ์ž์—ด ํฌํ•จ ์—ฌ๋ถ€ ํŒ๋‹จ
y = "Hello Python!"
print("Python" in y)      # True
print("Java" in y)        # False

๋ฌธ์ž์—ด ํฌ๋งทํŒ…

: ๊ณ ์ •๋œ ๋ฌธ์ž์—ดX, ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ.
-Ex) str"{์ด์šฉ์ž}๋‹˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!" ๋ผ๋Š” ํฌ๋งท์„ค์ • -> ํ•„์š”์‹œ, (์ด์šฉ์ž) ๊ฐ’๋งŒ ์ง€์ • -> ํฌ๋งท์— ๋งž๋Š” ๋ฌธ์ž์—ด ์ถœ๋ ฅ.

1๏ธโƒฃ ํฌ๋งคํŒ…, %

: ๋ณ€์ˆ˜์˜ ์ž๋ฆฌ์— % ์ž๋ฃŒํ˜•์„ ์ž…๋ ฅํ•˜์—ฌ ์ด๋ฅผ ์น˜ํ™˜
-์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ tuple ํ˜•ํƒœ๋กœ ์ „๋‹ฌ

  • %s: ๋ฌธ์ž์—ด ํฌ๋งท
  • %d: ์ •์ˆ˜ ํฌ๋งท
  • %.1f: ์†Œ์ˆ˜์  ์ดํ•˜ 1์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์  ํฌ๋งท
name = "ํ™๊ธธ๋™"
age = 24
weight = 65.5

<<์œ„ ๋ฐ์ดํ„ฐ(ํ”„๋กœํŒŒ์ผ)๋ฅผ ์•„๋ž˜ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ>>
#์ด๋ฆ„ [ํ™๊ธธ๋™]
#๋‚˜์ด [24]
#์ฒด์ค‘ [65.5]

profile = "์ด๋ฆ„ [%s]\n๋‚˜์ด [%d]\n์ฒด์ค‘ [%.1f]" % (name, age, weight)
  
  โ†ณโœ”๏ธ % (name, age, weight): ๋ฌธ์ž์—ด์•ˆ์— 
   ํฌํ•จ๋œ ํฌ๋งท์ง€์ •์ž(%s, %d, %.1f)์™€ ํ•ด๋‹น๋˜๋Š” ๊ฐ’์„ ์‹ค์ œ ๋ณ€์ˆ˜๋กœ ๋Œ€์ฒด์œ„ํ•จ.
   :ํŠœํ”Œ ํ˜•ํƒœ๋กœ ๊ฐ’๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ์ „๋‹ฌ

print(profile)

<<๋„ˆ๋น„ ์ง€์ •>>
#์ด๋ฆ„ [       ํ™๊ธธ๋™]
#๋‚˜์ด [        24]
#์ฒด์ค‘ [      65.5]

profile = "์ด๋ฆ„ [%10s]\n๋‚˜์ด [%10d]\n์ฒด์ค‘ [%10.1f]" %(name, age, weight)
print(profile)

<<์™ผ์ชฝ ์ •๋ ฌ>> " - "
#์ด๋ฆ„ [ํ™๊ธธ๋™     ]
#๋‚˜์ด [24       ]
#์ฒด์ค‘ [65.5     ]

profile = "์ด๋ฆ„ [%-10s]\n๋‚˜์ด [%-10d]\n์ฒด์ค‘ [%-10.1f]" % (name, age, weight)
print(profile)

<<0์œผ๋กœ ์ฑ„์šฐ๊ธฐ>>
#๋‚˜์ด [0000000024]
#์ฒด์ค‘ [00000065.5]

profile = "๋‚˜์ด [%010d]\n์ฒด์ค‘ [%010.1f]" % (age, weight)
print(profile)

๋ฉ”์„œ๋“œ: str.format()

: ๋ฌธ์ž์—ด(str) ๋‚ด, ์ค‘๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ถœ๋ ฅ๋  ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ์ง€์ •
-์ถœ๋ ฅ์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” format() ๋ฉ”์„œ๋“œ์˜ ์ธ์ž๋กœ ์ „๋‹ฌ

name = "Python"
age = 30

message = "Hello, {}! Your age is {}.".format(name, age)
print(message)      #Hello, Python! Your age is 30.


<<ํ•จ์ˆ˜'s ๋งคํ•‘๊ฐ’ ์œ„์น˜ ๋ฒˆํ˜ธ์ง€์ •>>
message = "Hello, {1}! Your age is {0}.".format(age, name)
print(message)      # Hello, Python! Your age is 30.


<<๋งคํ•‘๊ฐ’ ์œ„์น˜ ์ด๋ฆ„์ง€์ •>>
message = "Hello, {xname}! Your age is {xage}.".format(xname=name, xage=age)
print(message)      # Hello, Python! Your age is 30.

<<๋ถ€๋™์†Œ์ˆ˜์  -> n๋ฒˆ์งธ ์†Œ์ˆ˜์  ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅ>>
pi = 3.1415926535
format_string = "์›์ฃผ์œจ์€ {:.2f}์ž…๋‹ˆ๋‹ค.".format(pi)
print(format_string)    # ์›์ฃผ์œจ์€ 3.14์ž…๋‹ˆ๋‹ค.

<<์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜ ์ง€์ • โž• ์ž๋ฆฟ์ˆ˜ ์„ค์ • & ๊ณต๋ฐฑ 0>>
format_string = "์›์ฃผ์œจ์€ {:010.2f}์ž…๋‹ˆ๋‹ค.".format(pi)
print(format_string)    # ์›์ฃผ์œจ์€ 0000003.14์ž…๋‹ˆ๋‹ค.

<<๋ฌธ์ž์—ด ์ •๋ ฌ ๋ฐ ๋„ˆ๋น„์ง€์ •>>
name = "HONG"
age = 23
address = "Seoul"

align_left = "|{:<10}|{:<10}|{:<10}|".format(name, age, address)
align_right = "|{:>10}|{:>10}|{:>10}|".format(name, age, address)
align_center = "|{:^10}|{:^10}|{:^10}|".format(name, age, address)
print(align_left)       # |HONG      |23        |Seoul     |
print(align_right)      # |      HONG|        23|     Seoul|
print(align_center)     # |   HONG   |    23    |  Seoul   |

f-strings (ํฌ๋งท ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด)

: ๋ฌธ์ž์—ด ์•ž์— f ๋˜๋Š” F๋ฅผ ์‚ฝ์ž… -> ์ค‘๊ด„ํ˜ธ ์•ˆ, ๋ณ€์ˆ˜(๋˜๋Š” ํ‘œํ˜„์‹)๋ฅผ ์ง์ ‘ ์‚ฝ์ž…

                                       *ํŒŒ์ด์ฌ 3.6์—์„œ ๋„์ž…
name = "Python"
age = 30
print(f"Hello, {name}! You are {age} years old.")       # Hello, Python! You are 30 years old.


<<๋ณ€์ˆ˜ ๋ฟ ์•„๋‹ˆ๋ผ ํ‘œํ˜„์‹๋„ ๊ฐ€๋Šฅ>>
print(f"Next year, your will be {age + 1} years old.")
#Next year, your will be 31 years old.


<<๋ถ€๋™์†Œ์ˆ˜์  -> n๋ฒˆ์งธ ์†Œ์ˆ˜์  ์ž๋ฆฌ๊นŒ์ง€ ์ถœ๋ ฅ>>
pi = 3.141592653589793
print(f"์›์ฃผ์œจ = {pi:.2f}")     # ์›์ฃผ์œจ = 3.14

<<์ •๋ ฌ>>
print(f"{'hello':10}python")    # hello     python
print(f"{'hello':<10}python")   # hello     python
print(f"{'hello':>10}python")   #      hellopython
print(f"{'hello':^10}python")   #   hello   python
   ๐Ÿ”ฝ
<<๊ณต๋ฐฑ ์ฑ„์šฐ๊ธฐ>>
print(f"{'hello':*<10}python")  # hello*****python
print(f"{'hello':*>10}python")  # *****hellopython
print(f"{'hello':*^10}python")  # **hello***python

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