59doit
[Python] 함수사용 본문
반응형
dataset = list(range(1,7))
print(dataset)
# <출력> [1, 2, 3, 4, 5, 6]
print('len=',len(dataset)) # <출력> len= 6
print('sum=',sum(dataset)) # <출력> sum= 21
print('max=',max(dataset)) # <출력> max= 6
print('min=',min(dataset)) # <출력> min= 1
import 함수 ; 외부 모듈을 포함시켜야 사용 할 수 있는 함수
1) 모듈명.함수()
수학/통계 함수 statistics모듈을 import 해야한다
즉, 평균,중위수는 내장함수가 아니기 때문에 모듈을 import해야한다
dataset = list(range(1,7))
print(dataset)
# <출력> [1, 2, 3, 4, 5, 6]
import statistics
print('평균=',statistics.mean(dataset)) # <출력> 평균= 3.5
print('중위수=',statistics.median(dataset)) # <출력> 중위수= 3.5
2) .함수()
statistics 중에서 variance,stdev 함수만 가져온다는뜻
분산:variance, 표준편차:stdev
dataset = list(range(1,7))
print(dataset)
# <출력> [1, 2, 3, 4, 5, 6]
from statistics import variance, stdev
print('표본 분산=',variance(dataset)) # <출력> 표본 분산= 3.5
print('표본 표준편차', stdev(dataset)) # <출력> 표본 표준편차 1.8708286933869707
builtins 함수 ; builtins 안에 포함되어있는 함수
모듈 내장함수와 내장클래스
dir 내장함수를 통해 builtins 내장함수 목록보기
import builtins
dir(builtins) #dir 내장함수를 통해 builtins 내장함수 목록보기
abs(-36) # 절댓값 함수 36
all() # 모든 요소가 True 일때 True 반환
any() # 하나 이상의 요소가 True 일때 True 반환
dict() # 사전형 자료구조형으로 반환
dir() #변수,내장함수,내장클래스 목록반환
enumerate() # 열거형 자료 -> index 와 값을 같이 반환함 -> for문에서 많이쓰임
eval() # 문자열 수식을 계산 가능한 수식으로 반환
float() # 실수형으로 변환하여 반환
id() #객체의 주소반환
input([]) # 키보드로 입력한 문자열을 반환
int() # 정수형으로 반환
len() # 전체 원소의 길이 반환
list() # 자료형으로 반환
str() #문자형으로 변환
tuple() #튜플형으로 변환
open() # 파일읽기 쓰기
pow(x,y) # x를 y 제곱
range(n) # 0 ~ n-1까지의 정수 반환
sorted() # 반복가능한 원소들을 대상으로 정렬 # .sort : 오름차순 정렬 / .sort(reverse=true) : 내림차순정렬
zip() #원소를 묶어서 반환 > tuple로 반환
bin() # 10진수 -> 2진수
hex() # 10진수 -> 16진수
oct() # 10진수 -> 8진수
round(2.5) # 반올림
def 사용자정의함수
def userfun1() :
print('인수가 없는함수')
print('userfun1')
userfun1()
# <출력>
# 인수가 없는함수
# userfun1
def userfun2(x,y):
print('userfun2')
z = y-x
print('z=',z)
userfun2(49,55)
# <출력> z= 6
return이 있는 함수★★★
def userfun3(x,y) :
print('userfun3')
a = x+y
b = x-y
c = x*y
d = x/y
return a,b,c,d
x=int(input("x 입력 :"))
y=int(input("y 입력 :"))
x 입력 :
>?
from statistics import mean, variance
from math import sqrt
dataset = [2,4,5,6,1,8]
산술평균
def Avg(data) : #dataset의 산술평균(Avg)
return Avg
print("산술평균=",Avg)
#<출력> 산술평균= <function Avg at 0x00000281FFE09160>
분산/표준편차
def Avg(data) :
avg = mean(data) # 표준편차 공식에 쓰이기위해
return avg
print("산술평균=",Avg(dataset)) # 평균=avg
# <출력> 산술평균= 4.333333333333333
def var_sd(data): # sd=표준편차, sqrt=루트, var=분산
avg=Avg(data) # 위에서 구한 평균(산술평균) 가져옴
diff = [(d-avg)**2 for d in data] # 관측값에서 평균을 뺀 값을 제곱
var = sum(diff)/ (len(data)-1) # 분산 = 제곱하고, 그것을 모두 더한(sum(diff)) 후 전체 수로 나눠서 구한다. 분산 = /n-1
sd=sqrt(var) # 표준편차(sd) ; 분산(var)을 제곱근(sqrt)한 것
return var,sd
v,s=var_sd(dataset)
print('분산=',v)
print('표준편차=',s)
# <출력>
# 분산= 6.666666666666666
# 표준편차= 2.581988897471611
피타고라스 불러오기 (a밑변)**2 * (b높이)**2 = c빗변**2
def pytha(s,t) :
a = s**2 - t**2
b = 2*s*t
c = s**2 + t**2
print(" ", a,b,c)
pytha(2,1) # <출력> 3 4 5
난수의 확률 분포 기대확률
방법1 앞 뒤 난수 확률 분포 함수 정의
import random
def coin(n) : # coin(수)
result = [] # result 는 리스트
for i in range(n) : # 난수 n 범위안에 있는수 i에
r = random.randint(0,1) # 0,1를 random으로 뽑는다= r로 정의
if(r==1) :
result.append(1) # r=1 이면 result 에 1 넣어라
else :
result.append(0) # 그게 아니면 0을 result에 담아라
return result
print(coin(10))
# <출력> [1, 0, 0, 1, 1, 0, 1, 1, 0, 0]
방법2 몬테카를로 시뮬레이션 함수 정의
def monCoin(n) : # monCoin 으로 정의
cnt = 0
for i in range(n) :
cnt += coin(1)[0] # 위에서 불렸던 coin 리스트에서 1하나씩 첫번째 수를 cnt변수에 누적
result = cnt /n # 누적결과를 시행횟수 n으로 나눠서 result 변수에 저장
return result
print(monCoin(1000000))
# <출력> 0.500135
반응형
'Programming > Python(파이썬)' 카테고리의 다른 글
[Python] inner_func (0) | 2022.11.02 |
---|---|
[Python] 함수 사용 활용 (0) | 2022.11.02 |
[Python] 자료구조 (0) | 2022.11.01 |
[Python] 리스트내포 (0) | 2022.10.31 |
[Python] 반복문 loop, random, for, range (0) | 2022.10.31 |
Comments