201001
====================
- 클래스
class FourCal: # 첫 대문자.
def setdata(self, first, second):
self.first = first
self.second = second
a = FourCal()
a.setdata(1,2)
print(a) # <main.FourCal object at 0x02B08178>
print(type(a)) # <class 'main.FourCal'>
a = self
1 = first
2 = second
사용법 ??
print(a.first)
print(a.second)
====================
- 사용예제2
class FourCal:
def setdata(self, first, second):
self.first = first
self.second = second
def add(self): # self = ()
result = self.first + self.second
return result
a = FourCal()
a.setdata(4,2) # a = self / first = 4 / second = 2
print(a.add())
=======
- init
class FourCal:
def init(self, first, second):
self.first = first
self.second = second
def setdata(self, first, second):
self.first = first
self.second = second
def add(self): # self = ()
result = self.first + self.second
return result
a = FourCal() # 이건 안됨 init() missing 2 required positional arguments: 'first' and 'second'
a = FourCal(4,2)
a.setdata(4,2) # a = self / first = 4 / second = 2
print(a.add())
=======
- 상속
class MoreFourCal(FourCal):
pass
a = MoreFourCal(4,2)
print(a.add())
======================
- 상속 추가 예제
class MoreFourCal(FourCal):
def pow(self):
result = self.first ** self.second # 제곱
return result
a = MoreFourCal(4,2)
print(a.pow())
- 메서드 오버라이딩
상속 후 덮어쓰기 가능.
=================
- 클래스변수
class Family:
lastname = "김"
Family.lastname = "박" # 따로 빼서 변경 가능
print(Family.lastname)
a = Family()
b = Family()
print(a.lastname)
print(b.lastname)
=================
- 모듈?
미리 만들어놓은 파이썬(.py) 파일
#mod1.py
def add(a,b):
return a + b
import mod1 # 같은 경로에 있으면 됨.
print(mod1.add(1,2))
- 많은 것중에 하나 가져올때?
from mod1 import add
==========
- 다른파일 가져올 때 print안찍히게
name
#mod1.py
def add(a,b):
return a + b
def sub(a,b):
return a - b
if name == "main" # main 이냐?
print(add(1,4))
print(add(4,2))
print(name) # mod1
==========
- 하위폴더에 있는 파일 가져오기
import sys
sys.path.append("C:\python_study\subfolder")
import mod1
print(mod1.add(3,4))
==========
- 패키지란?
모듈을 여러개 모아둔것
init.py 각 폴더마다 있음. 처음 머리통은 설정용
==========
- 패키지 불러오기
import game.sound.echo
game.sound.echo.echo_test()
from game.sound import echo
echo.echo_test()
from game.sound import echo as e
e.echo_test()
- 밖에 있는 모듈 불러오기
from ..sound.echo imort echo_test()
============
- 예외처리
try:
# 오류가 발생할 수 있는 구문
except Exception as e:
# 오류 발생
else:
# 오류 발생하지 않음
finally
# 무조건 마지막에 실행
============
- 예외처리 예시
f = open('없는 파일','r')
없으면 에러남
======
try:
4/0
except ZeroDivisionError as e:
print(e) # division by zero
print("테스트입니다.")
======
- 예외처리 예시
try:
f = open('파일','r')
except FileNotFoundError as e:
print(str(e))
else: # 에러 안나면 실행 하라는 뜻 <<<<<<<<<<<<<
data = f.read()
print(data)
f.close()
except Exception as e : # 어떤에러든 잡을 수 있음
print(e)
==============================
상속 중 <변형해서 써라>
class Bird:
def fly(self):
raise NotImplementedError
class Eagle(Bird):
def fly(self):
print
==============================
==============================
- 내장함수
all([1,2,3])
true
all([1,2,3,0]) # 0이 false
false
any 하나라도 참이 있는가
chr ASCII 코드를 입력받아 문자 출력
0~127 사이의 문자 대응
=====================
-
print(dir([1,2,3])) # 리스트에 어떤걸 쓸 수 있는지?
-
divmod : 몫과 나머지를 튜플형태로 돌려줌
divmod(7,3)
(2,1)
- enumerate : 열거하다 // 인덱스 , 밸류 값으로 나오게함
for i, name in enumerate(['body', 'foo', 'bar']):
print(i, name)
#결과값
0 body
1 foo
2 bar
- eval : 실행 후 결과값을 돌려줌
eval('1+2')
3
eval("'hi' + 'a'")
hia
============================
############################
- filter > 함수를 통과하여 참인것만 돌려줌
def positive(x):
return x > 0
a = list(filter(positive, [1, -3, 2, 0, -5, 6])) # 인자 : 함수이름, 리스트 값.
print(a)
a = list(filter(lambda x: x> 0, [1, -3, 2, 0, -5 , 6]
print(a)
============================
*** 내장함수
- list 리스트로 변환
############################
- map > 각 요소가 수행한 결과를 돌려줌
def two_times(x) : return x*2
a = list(map(two_times, [1,2,3,4])) # 인자 : 함수이름, 리스트 값.
print(a)
- max min
print( max([1,2,3]) )
print( min([1,2,3]) )
- zip : 자료형을 묶어주는 역할
list(zip([1,2,3], [4,5,6] ))
print( list(zip([1,2,3], [4,5,6] )) )
[(1, 4), (2, 5), (3, 6)]
======================
======================
외장함수
import pickle
f = open("test.txt", 'wb')
data = {1:'python', 2:'you need'}
pickle.dump(data, f)
f.close()
import time
print(time.time())
1970 1월 1일 부터 초
============
#sleep1.py
import time
for i in range(5): # 0에서 4까지임.
print(i)
time.sleep(1) # 1초
import random
print(random.random())
0~1 사이의 난수
로또 1~
import random
lotto = sorted(random.sample(range(1,46), 6)) # 1~45 . 6개
print(lotto)
=========
int 형 리스트 join 하기 ( int list to string)
https://hyesun03.github.io/2017/04/08/python_int_join/
print(" ".join(map(str, num_list)))
=========
리스트와 range 활용
print(list(range(1,5))) # 1
5? 1
4까지임.
webbrowser
import webbrowser
webbrowser.open("http://google.com")
================
- 정규표현식
import re
======
- 그룹핑
import re
p = re.compile('(ABC)+')
m = p.search('ABCABC OK?')
print(m)
print(m.group()) # >>>>> 이게 매치되는거 데이터 볼 수 있음.
'Python' 카테고리의 다른 글
W292 no newline at end of file (0) | 2023.10.07 |
---|---|
파이썬 코드 들여쓰기 (0) | 2023.10.07 |
파이썬 공부 정리 - 파일 만들기 (0) | 2020.10.03 |
파이썬 공부 정리 - 제어문 (0) | 2020.10.03 |
파이썬 공부 정리 - 자료구조 (0) | 2020.10.03 |