PYTHON

PYTHON ํŠน์ง•

์ƒ์‚ฐ์„ฑ์ด ๋›ฐ์–ด๋‚˜๋‹ค. (์ฝ”๋“œ๊ฐ€ ์งง๋‹ค)

์ดˆ๋ณด์ž์šฉ ์–ธ์–ด – ์ธํ„ฐํ”„๋ฆฌํ„ฐ(๋Œ€ํ™”ํ˜•) ์–ธ์–ด

๋ฌธ๋ฒ•์ด ์‰ฌ์›Œ์„œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์ง๊ด€์ ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋งŽ๋‹ค.

ํŒŒ์ด์ฌ์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ’๋ถ€

์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‚˜ ๊ทธ๋ž˜ํ”ฝ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ

if "์‚ฌ๊ณผ" in ["๋”ธ๊ธฐ", "๋ฐ”๋‚˜๋‚˜", "ํฌ๋„", "์‚ฌ๊ณผ"]: print("์‚ฌ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค")

* T์ด๋ฉด print์ดํ•˜๋ฅผ ์ถœ๋ ฅ, F๋Š” ๋ฏธ์ถœ๋ ฅ

 

 

 

๊ทธ ์™ธ ๋‹ค๋ฅธ ํŠน์ง•๋“ค

์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด - ์ž‘์„ฑํ•œ ๋‹ค์Œ ๋ฐ”๋กœ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋™์ ์ธ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ฒฐ์ • - ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ž๋™ ๊ด€๋ฆฌ - ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹น, ํฌ๊ธฐ ์กฐ์ ˆ๊นŒ์ง€

๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ• - ๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

๋ฌด๋ฃŒ ์–ธ์–ด 

 

 

 

PYTHON ๋ช…๋ น๋ฌธ

ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์€ ์—ฌ๋Ÿฌ ์ค„์˜ ๋ช…๋ น์–ด๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

ํ•œ ์ค„์˜ ๋ช…๋ น์–ด๋ฅผ ๋ฌธ์žฅ (statement) ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ฌธ์žฅ๋“ค์€ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•˜์—ฌ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

 

 

 

 

 

Anaconda ๋‹ค์šด๋กœ๋“œ & ์„ค์น˜

Anaconda ๋‹ค์šด๋กœ๋“œ https://www.anaconda.com/distribution/

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

- PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์•„๋‚˜์ฝ˜๋‹ค ์ถ”๊ฐ€ ์—ฌ๋ถ€ ์„ ํƒ (๋น„ ์„ ํƒ ๊ถŒ์žฅ)

- ์•„๋‚˜์ฝ˜๋‹ค๋ฅผ ๊ธฐ๋ณธ ํŒŒ์ด์ฌ์œผ๋กœ ๋“ฑ๋ก ๊ฐœ๋ฐœ๋„๊ตฌ์—์„œ ์•„๋‚˜์ฝ˜๋‹ค Python3.8 ์ธ์‹

 

Path ์„ค์ •

๋‚ดPC > ์†์„ฑ > ์„ค์ • ๋ณ€๊ฒฝ > ๊ณ ๊ธ‰ > ํ™˜๊ฒฝ ๋ณ€์ˆ˜ > ์‹œ์Šคํ…œ๋ณ€์ˆ˜ ํŽธ์ง‘ > ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํŽธ์ง‘์—์„œ ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ๋งํฌ ์ถ”๊ฐ€

 

Spyder ์‹คํ–‰

Windows ์‹œ์ž‘ ๋‹จ์ถ” > 'Anaconda3 (64-bit)' > 'Spyder' ์•„์ด์ฝ˜ ํด๋ฆญ

 

Spyder ๊ธฐ๋Šฅ

code ์‹คํ–‰ : F5(์ „์ฒด ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰), F9(์ค„ ๋‹จ์œ„ or ๋ธ”๋ก ๋‹จ์œ„ ์‹คํ–‰)

 

packages ๋งŒ๋“ค๊ธฐ

Python์˜ Package๋Š” ๋™์ผํ•œ ๋ชจ๋“ˆ(module)์„ ๋ฌถ์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

*.pyํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

New > Package...

 

 

 

 

 

๋ณ€์ˆ˜์˜ ์†Œ๊ฐœ

๋ณ€์ˆ˜(variable)๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„ ๊ฐ€์žฅ ์ตœ๊ทผ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

 

๋ณ€์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ

๋ณ€์ˆ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ(memory)์— ๋งŒ๋“ค์–ด์ง„๋‹ค.

 

๋ณ€์ˆ˜ ์ƒ์„ฑ

ํ˜•์‹) ๋ณ€์ˆ˜์ด๋ฆ„ = ๊ฐ’

 

 

 

๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ

์ƒ์„ฑ๋œ ๋ณ€์ˆ˜์—๋Š” ์–ผ๋งˆ๋“ ์ง€ ๋‹ค๋ฅธ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณ€์ˆ˜์—๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜์˜ ๊ฐ’๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒŒ์ด์ฌ์˜ ๋ณ€์ˆ˜์—๋Š” ์ •์ˆ˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์ž์—ด๋„ ์ €์žฅํ•œ๋‹ค.

ํŒŒ์ด์ฌ์—์„œ ๋ณ€์ˆ˜๋Š” ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“ ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‹ค์Šต

1. ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•

var1 = "Hello python"
var2 = 'Hello python'


2. ๋ณ€์ˆ˜ ์ถœ๋ ฅ - console ์ฐฝ

print(var1)
print(var2)


3. typeํ•จ์ˆ˜ : ๊ฐ์ฒด ์ถœ์ฒ˜ ํ™•์ธ

print(type(var1)) #<class 'str'> : ๋ฌธ์ž์—ด
print(type(var2))

var1 = 100 #๋ณ€์ˆ˜ ์ˆ˜์ •
print(type(var1)) #<class 'int'> : ์ˆซ์ž(์ •์ˆ˜)ํ˜•

var3 = 123.3536
print(type(var3)) #<class 'float'> : ์ˆซ์ž(์‹ค์ˆ˜)ํ˜•

var4 = True
print(type(var4)) #<class 'bool'> : ๋…ผ๋ฆฌํ˜•

 

 

 

 

 

PYTHON ๋ณ€์ˆ˜ ์ €์žฅ ๋ฐฉ์‹

์ž๋ฃŒ(Data)๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ ์ €์žฅ

์ด ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐ -> ์ฐธ์กฐ๋ณ€์ˆ˜

ex. X๋ณ€์ˆ˜์— ๊ฐ’ 3.14159๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ

 

 

์‹ค์Šต

์ฐธ์กฐ๋ณ€์ˆ˜ : ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅ

x = 150 #x = 150์ด๋ผ๋Š” ๊ฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅ
x2 = x #x2๋„ 150 ์ฃผ์†Œ๋ฅผ ๊ฐ–๊ฒŒ ๋จ
x3 = 150 #๊ฐ์ฒด์ƒ์„ฑ(x) -> ์ฃผ์†Œ ๋ฐ˜ํ™˜

WHY? ์ค‘๋ณต์œผ๋กœ ์ €์žฅํ•˜๋ฉด ํšจ์œจ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—

์ฃผ์†Œ ์ถœ๋ ฅ

print(id(x)) #x์˜ ์ฃผ์†Œ๋Š” 140705152842192
print(id(x2)) #๋™์ผํ•œ ์ฃผ์†Œ 140705152842192
print(id(x3)) #๋™์ผํ•œ ์ฃผ์†Œ 140705152842192


๋‚ด์šฉ ์ถœ๋ ฅ

print(x) #150
print(x2) #150
print(x3) #150

 

 

 

 

 

์‹๋ณ„์ž ์ž‘์„ฑ ๊ทœ์น™

* ์‹๋ณ„์ž : ๋ณ€์ˆ˜๋ช…, ํ•จ์ˆ˜๋ช…, ํด๋ž˜์Šค๋ช…

์†Œ๋ฌธ์ž์™€ ๋Œ€๋ฌธ์ž๋Š” ์„œ๋กœ ๋‹ค๋ฅด๊ฒŒ ์ทจ๊ธ‰๋œ๋‹ค.

์˜๋ฌธ์ž์™€ ์ˆซ์ž, ๋ฐ‘์ค„(_)๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

์ด๋ฆ„ ์ค‘๊ฐ„์— ๊ณต๋ฐฑ์ด ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ ๋œ๋‹ค.

๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ ค๋ฉด ๋ฐ‘์ค„(_)์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํ‚ค์›Œ๋“œ(์˜ˆ์•ฝ์–ด) ์‚ฌ์šฉ๋ถˆ๊ฐ€, ํ•œ๊ธ€ ๋น„๊ถŒ์žฅ

2๊ฐœ ์ด์ƒ ๋‹จ์–ด ์กฐํ•ฉ : ๋‚™ํƒ€์ฒด ๋ฐฉ์‹

<์ž˜๋ชป๋œ ์˜ˆ>
123data
score$$
Data set
member.name

 

 

 

์‹ค์Šต

1. ๋ณ€์ˆ˜๋ช… ์ž‘์„ฑ ๊ทœ์น™

_num10 = 10 #10
_Num10 = 20 #20. ๋Œ€/์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์ด๋‹ค.
print(_num10 * 2)
print(_Num10 * 2)


2. ํ‚ค์›Œ๋“œ ํ™•์ธ

import keyword #๋ชจ๋“ˆ ์ž„ํฌํŠธ
kword = keyword.kwlist #(๊ฐ์ฒด.๋ฉค๋ฒ„) .klist๋Š” ๋ช…๋ น์–ด ๋ชฉ๋ก์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
print(kword)
print('๋ช…๋ น์–ด ๊ฐœ์ˆ˜=', len(kword)) #๋ช…๋ น์–ด ๊ฐœ์ˆ˜= 35. len : ์›์†Œ์˜ ๊ธธ์ด ํ™•์ธ

class = 'rkss' #error. ๋ช…๋ น์–ด๋ฅผ ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค


3. ๋‚™ํƒ€์ฒด ํ‘œ๊ธฐ๋ฒ• : ๋‘๋ฒˆ์งธ ๋‹จ์–ด ์ฒซ๋จธ๋ฆฌ๋ฅผ ๋Œ€๋ฌธ์ž๋กœ

korScore = 89
matScore = 75
engScore = 66

tot = korScore + matScore + engScore
print('tot=', tot) #tot= 230

 

 

 

์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž

์‹, ์ˆ˜์‹(expression)=ํ”ผ์—ฐ์‚ฐ์ž๋“ค๊ณผ ์—ฐ์‚ฐ์ž์˜ ์กฐํ•ฉ

์—ฐ์‚ฐ์ž(operator)๋Š” ์—ฐ์‚ฐ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐํ˜ธ

ํ”ผ์—ฐ์‚ฐ์ž(operand)๋Š” ์—ฐ์‚ฐ์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๊ฒƒ

 

์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜

ํ• ๋‹น ์—ฐ์‚ฐ์ž(=) : ๋ณ€์ˆ˜์— ๊ฐ’ ํ• ๋‹น/๋Œ€์ž…
์ผ๋ฐ˜ ์—ฐ์‚ฐ์ž : ์‚ฐ์ˆ /๊ด€๊ณ„/๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

 

 

[์‹ค์Šต]

1. ํ• ๋‹น ์—ฐ์‚ฐ์ž =
#i = 10
#tot = 10

i = tot = 10 #๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
print(i, tot) #10 10

i += 1 #i = i + 1์™€ ๋™์ผํ•œ ๊ฐ’ ์ถœ๋ ฅ. ์นด์šดํ„ฐ ๋ณ€์ˆ˜
tot += i #tot = tot + i. ๋ˆ„์  ๋ณ€์ˆ˜
print(i, tot) #11 21


์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’ ํ• ๋‹น

v1, v2 = 100, 200
print(v1, v2) #100, 200


๋ณ€์ˆ˜ ๊ฐ’ ๊ต์ฒด

v2, v1 = v1, v2
print(v1, v2) #200 100


ํŒจํ‚น ํ• ๋‹น (*)

lst = [1,2,3,4,5] #vector
print(lst) #[1, 2, 3, 4, 5]

v1, *v2 = lst #1์€ v1์œผ๋กœ, 2~5๋Š” v2๋กœ ํ• ๋‹น
print(v1, v2) #1 [2, 3, 4, 5]

*v1, v2 = lst
print(v1, v2) #[1, 2, 3, 4] 5



2. ์ผ๋ฐ˜์—ฐ์‚ฐ์ž : ์‚ฐ์ˆ /๊ด€๊ณ„/๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

num1 = 100
num2 = 6


1) ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž

add = num1 + num2
print(add) #106

sub = num1 - num2
print(sub) #94

div = num1 / num2
print(div) #16.6666...

div2 = num1 // num2 #// : ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ์ •์ˆ˜ ๋‹จ์œ„ ๊ฐ’ ์ถœ๋ ฅ
print(div2) #16

div3 = num1 % num2 #% : ๋‚˜๋จธ์ง€ ๊ฐ’ ๋ฐ˜ํ™˜
print(div3) #4

mul = num1 * num2
print(mul) #600

square = num1 ** 2 #** : ์ œ๊ณฑ
print(square) #10000


2) ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž
(1) ๋™๋“ฑ๋น„๊ต

result = num1 == num2
print(result) #False : ๊ฐ™์ง€ ์•Š๋‹ค

result = num1 != num2
print(result) #True : ๊ฐ™๋‹ค


(2) ๋Œ€์†Œ๋น„๊ต

result = num1 > num2
result = num1 >= num2
print(result) #True

result = num1 < num2
result = num1 <= num2
print(result) #False


(3) ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž : AND, OR, NOT

result = num1 >= 50 and num2 <= 20
print(result) #True

result = num1 >= 500 or num2 <= 20
print(result) #True

result = not(num1 <= 60)
print(result) #True

+ Recent posts