30분 요약 강좌 시즌2 : Python 활용편 - 섹션 2. Python-1
2021. 9. 5. 13:04ㆍ빅데이터 스터디
In [4]:
x = 3
y = 10
print(x + y)
Out[4]:
13
In [6]:
#hello_world
'''
hello world
'''
Out[6]:
'\nhello world\n'
In [10]:
a = 10 #int(정수)
b = 10.1 #float(실수)
c = 'hello world' #str(문자열)
d = -1
e = 'jung'
f = 'sungwook'
g = 10 + 2j
h = 0b1001 #int
i = 0o1001 #int
j = 0x1001 #int
print(a + b)
print(e + f)
print(type(a))
# print(dir(a)) class의 method들
20.1 jungsungwook <class 'int'>
In [15]:
s = 'paullab CEO LeeHoJun'
print(type(s))
print(s[0])
print(s[0:7])
print(s[0:15:2])
print(s[10:0:-1])
print(s[:10:2])
print(s[::-1])
print(s[-1])
<class 'str'> p paullab pulbCOLe OEC ballua pulbC nuJoHeeL OEC balluap n
In [23]:
s = 'paullab CEO LeeHoJun'
print(type(s))
print(dir(s))
print(s.upper())
print(s.lower())
print(s.count('l'))
ss = " hello world "
print(ss.strip())
a = s.split()
print('!'.join(a))
print('제 이름은 {} 입니다. 제 나이는 {} 입니다.'.format('이호준',33))
<class 'str'> ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] PAULLAB CEO LEEHOJUN paullab ceo leehojun 2 hello world paullab!CEO!LeeHoJun 제 이름은 이호준 입니다. 제 나이는 33 입니다.
In [25]:
a = 2019
b = 9
c = 24
# 2019/9/24
print(a,b,c,sep = '/',end = ' ')
print(a,b,c)
2019/9/24 2019 9 24
In [27]:
#형변환
a = 10
b = '10'
print(str(a)+b)
1010
In [29]:
#bool형
a = True
b = False
print(type(a))
<class 'bool'>
In [31]:
print(bool(' ')) #안에 공백이 있음 True
print(bool('')) #안에 아무것도 없음 False
print(bool(0)) #0을 제외한 나머지 숫자들은 True
print(bool(1))
print(bool(-1))
print(bool(None)) #아무것도 없음
True False False True True False
In [33]:
a = 3
b = 10
print(a + b)
print(a - b)
print(b / a) #반환형 float
print(b // a) #반환형 int
print(b * a)
print(b ** a) #제곱
print(b % a) #나머지 b는 a의 배수이다
13 -7 3.3333333333333335 3 30 1000 1
In [36]:
#비교연산
a = 10
b = 3
print(a >= b) #반환형 bool
print(a > b)
print(a < b)
print(a <= b)
print(a == b)
print(a != b)
True True False False False True
In [38]:
#논리 연산
a = True #1
b = False #0
print(a and b) #*
print(a or b) #+
print(not b) #반대
False True True
In [42]:
#할당연산
a = 10
a = a+10
a += 10
print(a)
30
In [49]:
#bit 연산
a = 40
b = 14
print(a & b)
# & == and,| == or,~ == not
print(bin(a)[2:].zfill(6))
print(bin(b)[2:].zfill(6))
# 101000
# 001110
# ======== and 연산
# 001000
8 101000 001110
In [52]:
#함수
def f(x,y):
z = x+y
return z
print(f(3,5))
8
In [53]:
#실행순서 주의
def ff():
print('1')
print('2')
print('3')
print(4)
ff()
print(ff()) #함수에 return None이 생략되어있음
4 1 2 3 1 2 3 None
In [56]:
# 원의 넓이를 구하는 함수
def circle(r):
width = r*r*3.14
return width
print(circle(10))
314.0
In [58]:
#함수의 scope
a = 10
def aplus():
global a #전역변수 선언 다른함수에 영향을 끼치므로 주의
a+=10
return a
print(aplus())
20
In [60]:
#리스트, 튜플, 딕셔너리, 셋
l = [100,200,300,400]
print(l)
print(type(l))
#print(dir(l))
#변경이 가능한 자료형
#순서가 있는 자료형
print(l[1])
l[1] = 1000 #리스트의 요소의 값 변경
print(l)
[100, 200, 300, 400] <class 'list'> 200 [100, 1000, 300, 400]
In [64]:
#class 리스트의 method들
l = [100,200,300,400]
print(dir(l))
print(l)
#l.clear() 비우기
#l.copy()
print(l.count(300)) #300의 개수
l.extend([100,200,300]) #여러값 추가
print(l)
print(l.index(400)) #400의 인덱스
l.insert(3,1000) #인덱스 3의 자리에 1000 삽입
print(l)
l.pop() #마지막 자리 의 값을 가져오고 리스트에서 제거
print(l)
l.remove(300) #처음 만나는 요소의 값 제거
print(l)
l.sort()
print(l)
#retun 값만 변경하는 function, 원본 변경 x
#print(sorted(l)) #오름차순 정렬
#print(list(reversed(l))) #내림차순 정렬
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] [100, 200, 300, 400] 1 [100, 200, 300, 400, 100, 200, 300] 3 [100, 200, 300, 1000, 400, 100, 200, 300] [100, 200, 300, 1000, 400, 100, 200] [100, 200, 1000, 400, 100, 200] [100, 100, 200, 200, 400, 1000] [1000, 400, 200, 200, 100, 100]
In [69]:
l = [10,20]
tt = (l,200,300)
t = (100,200,300)
print(t)
print(type(t))
print(dir(t))
#순서가 있고
#변경이 불가능한 자료형
#t[0] = 1000 error -> 값 변경 불가능
l[0] = 1_000
print(tt) #참조된 값의 변경은 가능
(100, 200, 300) <class 'tuple'> ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] ([1000, 20], 200, 300)
In [72]:
s = {100,200,300,300,300}
ss = {1,2,3}
print(s)
print(type(s))
print(dir(s))
# 순서가 없고
#값의 중복을 허락하지 않음
s.add(500)
print(s)
print(set('aaabbcccdddefggg')) #문자열의 중복도 제거 가능
print(s.union(ss)) #합집합
{200, 100, 300} <class 'set'> ['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update'] {200, 100, 500, 300} {'f', 'g', 'c', 'b', 'd', 'e', 'a'} {1, 2, 3, 100, 500, 200, 300}
In [74]:
#d = {key:value}
d = {'one':10,'two':20}
#순서가 없고
#키의 중복을 허락하지 않음
print(d['one'])
print(dir(d))
print(d.values()) #value
print(d.keys()) #key
print(d.items()) #key,value 쌍
l = list(d.items())
print(l[0][1])
10 ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] dict_values([10, 20]) dict_keys(['one', 'two']) dict_items([('one', 10), ('two', 20)]) 10
In [75]:
jeju = {'banana':5000,'orange':2000}
seoul = jeju.copy()
jeju['orange'] = 100_000
print(seoul)
print(jeju)
#얕은복사
{'banana': 5000, 'orange': 2000} {'banana': 5000, 'orange': 100000}
'빅데이터 스터디' 카테고리의 다른 글
30분 요약 강좌 시즌2 : Python 활용편 섹션4-웹크롤링 연습문제-1 (0) | 2021.09.17 |
---|---|
30분 요약 강좌 시즌2 : Python 활용편 섹션4-웹크롤링 (0) | 2021.09.17 |
30분 요약 강좌 시즌2 : Python 활용편-섹션3. Visualization (0) | 2021.09.05 |
30분 요약 강좌 시즌2 : Python 활용편 - 섹션3. Numpy와 Pandas (0) | 2021.09.05 |
30분 요약 강좌 시즌2 : Python 활용편 - 섹션 2. Python-2 (0) | 2021.09.05 |