코드네임 :

Python 기초 6 기본 함수들 본문

프로그래밍/Python

Python 기초 6 기본 함수들

비엔 Vien 2024. 3. 12. 20:08

Iterable : 반복가능한 객체들 (set, list, tuple, dict...)

 

내장함수 Built-in

enumerate, filter, map은 아주 중요 / zip 도 알아두면 좋음

# dir : 사용할 수 있는 메소드 및 함수들 
print(dir(list))


# abs 절대값
print(abs(-3))


# all : iterable 요소 전부 검사(참, 거짓)
print(all([1,2,''])) #and 역할
#>>> False (비어있는게 있기 때문에)

print(any([1,2,''])) #or 역할
#>>> True


# chr : 아스키 -> 문자, ord : 문자 -> 아스키
print(chr(67))
print(ord('C'))


# enumerate : 인덱스 + Iterable 객체 생성
# 즉 반복가능한.. list, set, dict, tuple 객체에 index를 붙여줌
for i, name in enumerate(['abc', 'bcd', 'efg']):
    print(i+1, name)


# filter : 반복가능한 객체 요소를 지정한 함수 조건에 맞는값 추출
def conv_pos(x):
    return abs(x) > 2 # 절대값을 씌웠을 때 2보다 큰 값만 리턴
print(list(filter(conv_pos, [1,-3,2,0,-5,6])))
#>>>[-3,-5,6]

#또는 람다식으로 표현
print(list(filter(lambda x: abs(x) > 2, [1, -3, 2, 0, -5, 6])))


# map : 반복가능한 객체 요소를 지정한 함수 실행 후 추출
def conv_abs(x):
    return abs(x)

print(list(map(conv_abs,[1,-3,2,0,-5,6])))
# >>> [1, 3, 2, 0, 5, 6]

# 또는 람다식으로 표현
print(list(map(lambda x: abs(x), [1,-3,2,0,-5,6])))


# max, min : 최대값, 최솟값
print(max([1,2,3]))
print(max('pythonstudy'))
print(min('pythonstudy')) #여기에 공백(띄어쓰기)이 있으면 걔가 가장 작아서 공백이 출력됨!!


# pow 제곱값
print(pow(2,10)) #2의 10제곱


# range : 반복가능한 객체 (Iterable) 반환
print(range(1,10,2)) #>>> range(1, 10, 2)
print(list(range(1,10,2))) #>>> [1, 3, 5, 7, 9]


# round : 반올림
print(round(3.54))
print(round(6.2453,2))


# sorted : 반복가능한 겍체 (Iterable) 오름차순 정렬 후 반환
print([4,1,2,3])
a = sorted([4,2,3,1])
print(a)
print(sorted(['c','a','b']))


# sum : Iterable의 합 반환
print(sum([1,2,3,4]))
print(sum(range(1,101))) # 1~100 의 합


# zip : Iterable의 요소를 짝끼리 묶어서 반환, 짝이 없는 것들은 반환되지 않음 
print(list(zip([10,20,30],[40,50,60])))
#>>> [(10, 40), (20, 50), (30, 60)]
print(list(zip([10,20,30],[40,50]))) #이 경우 30은 짝이 없기에 반환되지 X

 


 

외장함수

 

pickle, os, time(sleep) 기억

#외장 함수
#종류 : sys, pickle, shutill, temfile, time, random 등

print()

# 예제 1
import sys
print(sys.argv)

#예제2(강제 종료)
#sys.exit()

print()

#예제3(파이썬 패키지 위치)
print(sys.path)

print()



#pickle : 객체 파일 쓰기
import pickle

#예제4(쓰기)
f= open("test.obj", 'wb') #write / binary
obj={1:'python', 2:'study', 3:'basic'}
pickle.dump(obj, f)
f.close() #열고나서는 반드시 닫아야함

#예제5(읽기)
f = open('test.obj', 'rb') #read binary
data = pickle.load(f)
print(data, type(data))
f.close()

print()



# os : 환경변수, 디렉토리(파일) 처리 관련, 운영체제 작업 관현
#mkdir, rmdir(비어있으면 삭제), rename

# 예제6
import os
print(os.environ)
#print(os.environ["USERNAME"]) #나 왜 안되뇽

print()

# 예제 7(현재경로)
print(os.getcwd())

print()




# time : 시간관련 처리
import time

# 예제 8
print(time.time())

# 예제 9(형태 변환)
print(time.localtime(time.time()))

# 예제10 (간단표현)
print(time.ctime)

# 예제 11 (형식 표현) - 내가 원하는 대로 출력
print(time.strftime('%Y-%m-%d %H:%Y:%S', time.localtime(time.time())))

# 예제12 (시간 간격 발생)
for i in range(5):
    print(i)
    time.sleep(1) #1초동안 멈춰있다가 실행 - 아 얘가 막 타이머 같은 기능에 쓰이겠네 또는 속도 변환?? 그런거

print()




# random : 난수 관련
import random

# 예제13
print(random.random()) # 0 ~ 1 사이의 실수를 랜덤으로 

# 예제14
print(random.randint(1,45)) # 1~45 사이의 정수를 랜덤으로
print(random.randrange(1,45)) # 1~44 사이의 정수를 랜덤으로 

print()


# 예제15(섞기)
d = [1,2,3,4,5]
random.shuffle(d)
print(d)

#예제16(무작위 선택)
c = random.choice(d)
print(c)

print()




# webbrowser : 본인 os의 웹브라우저 실행

import webbrowser

webbrowser.open("http://google.com")
#webbrowser.open_new("http://google.com") 똑같음

 

 

'프로그래밍 > Python' 카테고리의 다른 글

🌀백준 파이썬🌀 2일차  (0) 2024.03.19
🌀백준 파이썬🌀 1일차  (0) 2024.03.17
Python 기초 5 - 예외처리  (0) 2024.03.11
Python 기초3 (함수 및 입력)  (0) 2024.03.07
파이썬 기초 2 (if, for while)  (1) 2024.03.05