KeiStory

Python 정리

2024. 2. 16. 18:51
728x90
반응형

Python 정리

점프 투 파이썬 책을 보면서 정리한 내용입니다.

포맷(공백체우기)
"0:=^10".format("hi")
결과
====hi====
10글자를체우도록 양옆에 = 표시

문자열 정렬
"{0:>10}".format("hi")
결과
'hi        '

슬라이싱
a[4:9] 면 4번째 인덱스에서 8번째(9-1) 인덱스 까지를 의미함

del
리스트의 해당 인덱스 요소 제거


append 
리스트에 요소를 추가하는 것으로 한 요소를 추가함
append([5,6]) => [1,2,3,[4,4]]
extend 처럼 여러 요소를 리스트에 추가는 불가능

index
리스트내 해당 요소의 인덱스 반환 

insert
리스트에서 지정한 인덱스에 요소 삽입

remove
해당 요소 제거

pop
리스트에서 요소를 꺼내고 제거

count
리스트에 해당 요소가 몇개인재 세는것으로
count(1) 이면 1이 몇개인지 반환

extend 
리스트 뒤에 리스트를 add 할때 사용

튜플
튜플은 삭제와 변경이 불가하다.

튜플더하기
t1 = {1,2,3)
t2 = (4,5)
t1+ t2
=> (1,2,3,4,5)

딕셔너리
a = {1 : 'a'}
a[2] = 'b' => {2:'b',1:'a'}
del a[1] => 키가 1인 것을 지운다. 결과 {2:'b'}
키중복시 하나는 제외된다.
a.items() Key, Value 쌍 얻기
a.keys() a.values()
list(a.keys()) 리스트변환
a.get('key','디펄트값') get 은 키가 없는 경우 None 반환됨
'name' in a a딕셔너리에 name 키가 있는지 확인

집합자료형 set
교집합 & , interswection
합집합 | , union
차집합 - , difference
하나씩 추가 add
여러개 추가 update


참조 개수 알려주는 sys.getrefcount(3)

a.b = b,a 값을 바꿈

메모리 변수 없애기 
a=3
del(a)

a=[1,2,3]
b = a[:] 이렇게 해야 다른 객체로 인식되면서 복사 됨
b=copy(a)

아무것도 하지마라 pass
if
  pass 
else
  ..

range(1,10) => 0~9

function
def sum(a,b)
 return a+b, a*b
=> a = def(3,4)  결과 (7,12) 튜플값  // (a+b,a*b) 
=> a,b = sum(3,4) 결과 a=7 b=12

global a 는 함수안에서도 전역 변수를 변경할수 있도록 해줌

input("질문") 사용자 입력 받기

* print
"" "" 문자열 연결
, , 문자열 띄어쓰기
print(i.end=' ') 한줄 출력하기


* file
with open("a.txt","w") as f
  f.write("")

type(a) != type(b) => 서로 타입이 다른지 확인

* class
class Calculator:
    def __init__(self):
        self.result = 0

    def adder(self,num):
        self.result += num
        return self.result
        
cal1 = Calculator()
cal2 = Calculator()

print(cal1.adder(3))
print(cal1.adder(4))
print(cal2.adder(3))
print(cal2.adder(7))

* type(a) 타입을 알아내는 함수

연산자오버로딩 
def __add__(self,other) => 사용법 pey+julite 


import mod1 => mod1.py 사용한다는 뜻
mid1.sum(3,4)

if __name__=="__main__":
이렇게 써야만 import 시 실행하는걸 막을수 있고
위처럼 쓰면 직접수행시면 실행된다.

import sys
sys.path =>라이브러리설치폴더
sys.path.append("경로") 
해당 경로는 impot 에서 파일이름으로만 접근이 가능

패키지
from 폴더위치 import 패키지명
__init__.py 파일이 있어야 패키지로 인식됨

 __all__ = ['echo'] => 이렇게 하면 from 폴더경로 import * 이렇게 하면 echo 만 import 됨

..sound.echo .. 는 부모폴더를 의미

try
try:
  로직
except:
  오류처리

try:
  4/0
except ZeroDivisionError as e:
  print(e)

try:
  로직1
except:
  오류처리
else
  로직2
=> 로직1이 오류없으면 로직2수행

pass 를 이용하면 오류 무시

raise 강제오류 발생

all() 모두 참이면 True

any() 하나라도 참이면 True

chr(97) => 'a' 아스키코드값입력 받아 문자출력ㄱ

dir 객체가 가지고 있는 변수나 함수 보여줌

divmod(a,b)  a,b 를 나눈몫과 나머지를 튜플형으로 반환 

enumerate 열거형 정의

evel 문자열실행 evel("1+2") =>3 함수 동적실행

list(filter(positive, [1,-3,4])) => 1,4  positive 는 양수 걸러내는 함수를 정의한것

b = Person()
isinstance(b,Person) =>Ture,  b 에 Person 이 있는지 확인


lamda a,b:a+b

len('python') => 6

map(함수, 반복자료형)

oct 8진수 문자열

open 파일열기 w(쓰기),r(읽기),a(추가)  b(바이너리)

ord 문자의 아스키값 코드 반환

pow 제곱

zip => list(zip([1,2,3],[4,5,6])) => [(1,4),(2,5),(3,6)]


* pickle ?


os.environ  =>시스템의 환경변후
os.chdir => 현재 폴더 위치 변경
os.getcwd() => 현대폴더위치 리턴
os.popen("dir") => 시스템 명령어 결과값 리턴

shutil.copy("a.txt","b.txt") 파일 복사
glob(pathname) 특정 문자로 시작하는 파일을 모두 찾아서 리턴


import tempfile
f = tempfile.TemporaryFile()
f.close()

import time
time.time() => UTC 표준시 실수 형태로 리턴
time.localtime(time.time()) => 연도,월,일,시,분초
time.asctime(time.time()) => 날짜와 시간을 알아보기 쉬운형태로 (Sat Apr 28 20L50:20 2004)
time.ctime() => 현지시간을 알아보기 쉬운형태로
time.strftime => 포맷코드 기준 반환
time.sleep(1) => 1초간 쉬기

import calendar
print(calendar.calendar(2024)) => 해당 년도 달력표시
calendar.prcal(2024) => 해당 년도 달력표시 위에것과 동일
calendar.prmonth(2024, 12) => 해당 년도 해당 달표시
calendar.weekday(2024, 12, 31) => 요일 숫자로 표시


import random
random.random() => 0~1 사이 난수값 반환
random.randint(1,10)
random.suffle(data) => 무작위섞기

import webbrowser
webbrowser.open("http://google.com")

* 정규식
* xml 파일 처리

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band