이 노트북은 처음으로 Python을 시작하는 사람이 실제로 명령어를 실행시키면서 기본 개념을 익히기 위한 문서이다.
In [1]:
print("Hello, world!")
python 2
print 1python 3
print(1)python 2에서 python 3 문법을 사용하려면
from __future__ import print_function
In [2]:
a = 3
b = 2 * a
In [3]:
a
b
Out[3]:
In [4]:
True, False
Out[4]:
In [5]:
test = (3 > 4)
test
Out[5]:
In [6]:
type(test)
Out[6]:
In [7]:
a = 4
In [8]:
type(a)
Out[8]:
In [9]:
c = 2.1
In [10]:
type(c)
Out[10]:
In [11]:
a = 1.5 + 0.5j
a
Out[11]:
In [12]:
a.real
Out[12]:
In [13]:
a.imag
Out[13]:
In [14]:
type(1. + 0j)
Out[14]:
In [15]:
float(1)
Out[15]:
In [16]:
7 * 3.
Out[16]:
In [17]:
from __future__ import division
In [18]:
3 / 2
Out[18]:
In [19]:
# without from __future__ import division
# 3 / 2 => 1
In [20]:
3 // 2
Out[20]:
In [21]:
2**10
Out[21]:
In [22]:
8 % 3
Out[22]:
In [23]:
a = 1
a += 1
a
Out[23]:
In [24]:
a = 1
a -= 1
a
Out[24]:
In [25]:
a = 10
a *= 2
a
Out[25]:
In [26]:
a = 10
a /= 2
a
Out[26]:
In [27]:
2 > 1, 2 >= 1, 2 == 1
Out[27]:
In [28]:
l = ['red', 'blue', 'green', 'black', 'white']
type(l)
Out[28]:
In [29]:
l[0]
Out[29]:
In [30]:
l[1]
Out[30]:
In [31]:
l[-1]
Out[31]:
In [32]:
l[-2]
Out[32]:
In [33]:
l[2:4]
Out[33]:
l[start:stop:step]start<= < stopi = i + step
In [34]:
l[2:]
Out[34]:
In [35]:
l[:2]
Out[35]:
In [36]:
l[::2]
Out[36]:
In [37]:
l
Out[37]:
In [38]:
l[0] = 'yellow'
l
Out[38]:
In [39]:
l[2:4] = ['gray', 'purple']
l
Out[39]:
In [40]:
l = [3.14, -200, 'hello']
In [41]:
l[1], l[2]
Out[41]:
In [42]:
L = ['red', 'blue', 'green', 'black', 'white']
In [43]:
L.append('pink')
In [44]:
L
Out[44]:
In [45]:
L.pop() # removes and returns the last item
Out[45]:
In [46]:
L
Out[46]:
In [47]:
L.extend(['pink', 'purple']) # extend L, in-place
In [48]:
L
Out[48]:
In [49]:
L = L[:-2]
L
Out[49]:
In [50]:
r = L[::-1]
r
Out[50]:
In [51]:
r.reverse()
In [52]:
r
Out[52]:
In [53]:
r2 = list(L)
r2
Out[53]:
In [54]:
r2.reverse() # in-place
r2
Out[54]:
In [55]:
r + L
Out[55]:
In [56]:
r
Out[56]:
In [57]:
r * 2
Out[57]:
In [58]:
sorted(r) # new object
Out[58]:
In [59]:
r
Out[59]:
In [60]:
r.sort() # in-place
In [61]:
r
Out[61]:
r. + press
In [62]:
r.
In [63]:
dir(r)
Out[63]:
In [64]:
s = 'Hello, how are you?'
s
Out[64]:
In [65]:
s = '''Hello,
how are you'''
s
Out[65]:
In [66]:
s = """Hi,
what's up?"""
s
Out[66]:
In [67]:
s = 'Hi, what's up?'
In [68]:
s = "Hi, what's up?"
s
Out[68]:
In [69]:
a = "hello"
In [70]:
a[0]
Out[70]:
In [71]:
a[1]
Out[71]:
In [72]:
a[-1]
Out[72]:
In [73]:
a = "hello, world!"
In [74]:
a[3:6]
Out[74]:
In [75]:
a[2:10:2]
Out[75]:
In [76]:
a[::3]
Out[76]:
In [77]:
a[2] = 'z'
In [ ]:
a.replace('l', 'z')
In [78]:
a
Out[78]:
% argument%d: integer%f: float%s: string
In [79]:
"x=%d" % 1
Out[79]:
In [80]:
"%s=%f" % ("pi", 3.14)
Out[80]:
In [81]:
tel = {'emmanuelle': 5752, 'sebastian': 5578}
tel
Out[81]:
In [82]:
tel['sebastian']
Out[82]:
In [83]:
tel['francis'] = 5915
tel
Out[83]:
In [84]:
tel.keys()
Out[84]:
In [85]:
tel.values()
Out[85]:
In [86]:
'francis' in tel
Out[86]:
In [87]:
u = (0, 2)
u
Out[87]:
In [88]:
t = 12345, 54321, 'hello!'
t
Out[88]:
In [89]:
t[0]
Out[89]:
In [90]:
b[0] = 1
In [91]:
a = [1, 2, 3]
b = a
In [92]:
a
Out[92]:
In [93]:
b
Out[93]:
In [94]:
id(a), id(b)
Out[94]:
In [95]:
a[0] = 11
In [96]:
a
Out[96]:
In [97]:
b
Out[97]:
In [ ]:
In [98]:
b[1] = 'hi!'
In [99]:
b
Out[99]:
In [100]:
a
Out[100]:
In [101]:
a = [1, 'hi!', 3]
In [102]:
b = 1
In [103]:
id(a), id(b)
Out[103]:
In [104]:
a = [1, 2, 3]
b = [10, 20, 30]
In [105]:
c = zip(a, b)
c
Out[105]:
In [106]:
d = dict(c)
d
Out[106]:
In [107]:
zip(*c)
Out[107]:
In [108]:
zip(*zip(*c))
Out[108]:
In [109]:
a = [1, 2, 3,
4, 5, 6]
a
Out[109]:
In [110]:
a = 1 + 3 + 4 +
5 + 6 + 7
In [111]:
a = 1 + 3 + 4 + \
5 + 6 + 7
a
Out[111]:
In [112]:
if 2**2 == 4:
print('Obvious!')
In [113]:
a = 10
if a == 1:
print(1)
elif a == 2:
print(2)
else:
print('A lot')
In [114]:
range(10) # :10
Out[114]:
In [115]:
for i in range(4):
print(i)
In [116]:
i
Out[116]:
In [117]:
range(5, 10) # 5:10
Out[117]:
In [118]:
x = ["a", "b", "c", "d", "e"]
for i in range(1, 4):
print(x[i])
In [119]:
for word in ['cool', 'powerful', 'readable']:
print('Python is %s' % word)
In [120]:
for xi in x[1:4]:
print(xi)
In [121]:
print(x[1:4])
In [122]:
z = 1 + 1j
while abs(z) < 100:
z = z**2 + 1
print(z, abs(z))
z
Out[122]:
In [123]:
z = 1 + 1j
while abs(z) < 100:
if z.imag < 0:
print("break!")
break
z = z**2 + 1
print(z)
z
Out[123]:
In [124]:
a = [1, 0, 2, 4]
for element in a:
if element == 0:
continue
print(1. / element)
In [125]:
words = ('cool', 'powerful', 'readable')
for i in range(len(words)):
print((i, words[i]))
In [126]:
for i, item in enumerate(words):
print((i, item))
In [127]:
d = {'a': 1, 'b':1.2, 'c':1j}
d.items()
Out[127]:
In [128]:
for key, val in sorted(d.items()):
print('Key: %s has value: %s' % (key, val))
In [129]:
for item in sorted(d.items()):
print('item:', str(item))
In [130]:
%%timeit
x = range(10000)
y = []
for i in x:
y.append(i * 2)
In [131]:
%%timeit
y = [i*2 for i in range(10000)]
In [132]:
def test():
print('in test function')
In [133]:
test()
In [134]:
test()
test()
test()
test()
In [135]:
def disk_area(radius):
return 3.14 * radius * radius
In [136]:
disk_area(1.5)
Out[136]:
In [137]:
def double_it(x):
return x * 2
In [138]:
double_it(3)
Out[138]:
In [139]:
double_it()
In [2]:
def double_it(x=2):
return x * 2
In [3]:
double_it(3)
Out[3]:
In [4]:
double_it()
Out[4]:
In [5]:
def slicer(seq, start=None, stop=None, step=None):
return seq[start:stop:step]
In [6]:
rhyme = 'one fish, two fish, red fish, blue fish'.split()
rhyme
Out[6]:
In [7]:
slicer(rhyme) # rhyme[::]
Out[7]:
In [8]:
slicer(rhyme, step=2) # rhyme[::2]
Out[8]:
In [9]:
slicer(rhyme, 1, step=2) # rhyme[1::2]
Out[9]:
In [10]:
slicer(rhyme, start=1, stop=4, step=2) # rhyme[1:4:2]
Out[10]:
In [11]:
def try_to_modify(x, y, z):
x = 23
y.append(42)
z = [99] # new reference
print(x)
print(y)
print(z)
In [12]:
a = 77 # immutable variable
b = [99] # mutable variable
c = [28]
In [13]:
try_to_modify(a, b, c)
In [14]:
print(a)
print(b)
print(c)
In [15]:
x = 5
def addx(y):
return x + y
In [16]:
addx(10)
Out[16]:
In [17]:
def setx(y):
x = y
print('x is %d' % x)
In [18]:
setx(10)
In [19]:
x
Out[19]:
In [20]:
def setx(y):
global x
x = y
print('x is %d' % x)
In [21]:
setx(10)
In [22]:
x
Out[22]:
In [23]:
def variable_args(*args, **kwargs):
print('args is', args)
print('kwargs is', kwargs)
In [24]:
variable_args('one', 'two', x=1, y=2, z=3)
In [25]:
def funcname(params):
"""Concise one-line sentence describing the function.
Extended summary which can contain multiple paragraphs.
"""
pass
In [26]:
funcname??
In [27]:
funcname.__doc__
Out[27]:
In [28]:
def f():
a = 1
In [29]:
x = f()
x
In [30]:
print(x)
In [31]:
a = 3.14 * 2
b = 6.28
In [32]:
a == b
Out[32]:
In [33]:
print(id(a), id(b))
In [34]:
a is b
Out[34]:
In [35]:
a = None
In [36]:
# a == None <--- 사용하지 말것! __eq__ overload 시 위험!
a is None, a is not None
Out[36]:
In [37]:
def f(x, y=None):
if y is None:
return x * x
else:
return x * y
In [38]:
f(10)
Out[38]:
In [39]:
f(10, 20)
Out[39]:
In [40]:
import scipy
In [41]:
scipy.__file__
Out[41]:
import XXX as YY
In [42]:
import numpy as np
import scipy as sp
import pandas as pd
import sklearn as sk
import matplotlib as mpl
import matplotlib.pylab as plt
import seaborn as sns
서브패키지 임포트
자동 임포트
__init__.py 내부에서 하위 패키지를 임포트수동 임포트
In [43]:
sp.stats.norm.rvs(size=10)
Out[43]:
In [44]:
sp.constants.c
In [45]:
import scipy.constants
sp.constants.c
Out[45]: