Python에 관한 기초 지식을 보기 좋은 사이트
https://wikidocs.net/16041
오늘 배운것
- 코드 컨벤션
각 언어에 맞는 코드 컨벤션이 있다.
변수 / 함수 : snake : 단어를 언더바로 구분
class : pascal : 단어를 대문자로 구분
2.Global
지역변수를 전역변수로 사용가능
- split,join,replace
split : 문자열 쪼개기
join : 문자열 추가
stirng ="!!".join(arr)
replace : 문자열 바꾸기
stirng.replace("!","~")
- pprint
출력되는 데이터를 사용자가 보기 좋개 가공(개행)
헤더 : form pprint import pprint
- random
random.shuffle(arr)
리스트의 요소를 무작위로 조합
number = random.randint(1,10)
1~10의 무작의 번호 생성
헤더 : import random
- time
var = time.time()
현재시간을 저장
time.slee(1)
1초 대기
헤더 : import time
- not
if not false > True
응용.비어있는 스트링,리스트는 false를 반환
if not arr > True
all
if all([True,True])
모든 조건이 참이면 참을 반환
any
if any([False,False,True])
True가 하나 이상이면 참
- sort
arr.sort() : 정렬
arr.sort(revers True) : 내림차순 정렬
temp = sorted(arr) : 정렬된 리스트를 반환
- 예외처리
try: ....
except:...
오류에 관한 정의를 내린다.
except ValueError:
type
except Exception as e:
예외처리, else
- 패킹,언패킹
패킹
def add (args):
매개변수 앞에 을 붙여, 무한히 값을 받음
언패킹
print(add(*numbers))
리스트의 요소를 하나씩 반환한다.
- class의 생성자
def init(self,name="default")
default를 제거하면 매개 값이 없을시 오류,
default가 있다면 매개 값이 있을때 default대입.
- 상속
자식 클래스가 부모 클래스의 메소드를 받아,
함수의 재 사용성을 증가시킨다.
1.오버로딩 : 상속받은 메소드를 재 정의하여 사용
2.super
super().__init__(hp)
상속받은 멤버를 그대로 사용가능하다.만약,라이브러리나 모듈을 수정하고 싶을땐,
직접 수정하면 심각한 오류가 발생할 수 있으니 상속을 받은 클래스를 오버라이딩 해야한다.
- 정규식 (regex)
문자열이 특정 패턴과 일치하는지 판단
email,pw,등등..정규 표현식 참고 사이트
https://regexr.com/
- 파일,디렉토리 수정
f = open("file.txt", "w", encoding="utf-8")
f.close()파일 쓰기모드 "w"
파일 읽기모드 "r"
파일 추가쓰기모드 "a"
- itertools
효율적인 루핑을 도와주는 라이브러리
enumerate : 행과 열
permutations : 순열
combinations : 조합
combinations_with_replacement : 중복을 포함한 조합
- requests
http 통신을 가능하게 해주는 모듈
beutifulsoup과 함께 사용하요 웹 크롤링 가능
GET : 데이터 정보 요청
POST : 데이터 생성 요청https://jsonplaceholder.typicode.com/
http 요청을 간편히 테스트 할 수 있는 사이트
- Json
json format으로 이루어진 string을 dictionary 형태로 변경
response 데이터를 json 형태로 주는 사이트만 가능
18.csv
텍스트에 쉼표(,)를 사용해 필드를 구분하며
.csv 확장자를 사용
읽기와 쓰기 가능
- decorator
python의 함수를 장식
@double_number
def double_number_add(a, b):
return a + b