파 이 썬 함수
4.567917.함 수 는 가장 기본 적 인 코드 추상 적 인 방식 이다
4.567917.Python 에 유용 한 함수 가 많이 내장 되 어 있 습 니 다.우 리 는 직접 호출 할 수 있 습 니 다
4.567917.함수 의 장점 은 프로 그래 밍 을 간소화 하 는 것 입 니 다.우 리 는 공공 코드 논 리 를 함수 에 설명 합 니 다.예:사용자 가 Cosole 대 에서 사용자 정 보 를 입력 하도록 요구 할 때 input()함수 의 특징:특정한 조작 을 완성 할 수 있다4.567917.함 수 를 호출 하려 면 함수 의 이름과 파 라 메 터 를 알 아야 합 니 다.예 를 들 어 절대 값 을 구 하 는 함수 ads()는 하나의 매개 변수 만 있 습 니 다.python 의 공식 문서 에서 직접 볼 수 있 습 니 다:http://docs.python.org/3/library/functions.html#abs
4.567917.또한 대화 식 명령 행 은 help(abs)를 통 해 abs 함수 의 도움말 정 보 를 볼 수 있 습 니 다
\#abs 함수 호출:
>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
\#함 수 를 호출 할 때 들 어 오 는 매개 변수 수가 틀 리 면 TypeError 의 오 류 를 보고 하고 Python 은 abs()가 있 고 1 개의 매개 변수 만 있 지만 두 개 를 제시 합 니 다.
>>> abs(1, 2)
Traceback (most recent call last):
File "", line 1, in
TypeError: abs() takes exactly one argument (2 given)
\#들 어 오 는 매개 변수 수량 이 맞 지만 매개 변수 유형 이 함수 에 의 해 받 아들 여지 지 않 으 면 TypeError 의 오 류 를 보고 하고 오류 정 보 를 제공 합 니 다:str 는 잘못된 매개 변수 유형 입 니 다.
>>> abs('a')
Traceback (most recent call last):
File "", line 1, in
TypeError: bad operand type for abs(): 'str'
\#max 함수 max()는 여러 개의 인 자 를 받 고 가장 큰 것 을 되 돌려 줍 니 다.
>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3
데이터 형식 변환
\#Python 에 내 장 된 상용 함 수 는 데이터 형식 변환 함수 도 포함 합 니 다.예 를 들 어 int()함 수 는 다른 데이터 형식 을 정수 로 변환 할 수 있 습 니 다.
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
\#함수 명 은 사실 함수 대상 을 가리 키 는 인용 입 니 다.함수 명 을 하나의 변수 에 부여 할 수 있 습 니 다.이 함수 에'별명'을 붙 인 것 과 같 습 니 다.
>>> a = abs # a abs
>>> a(-1) # a abs
1
\#Python 에서 함수 가 def 문 구 를 사용 할 것 을 정의 합 니 다.함수 이름,괄호,괄호 에 있 는 인자 와 콜론 을 순서대로 작성 합 니 다.그리고 들 여 쓰기 블록 에서 함수 체 를 만 듭 니 다.함수 의 반환 값 은 return 문 구 를 사용 하여 되 돌려 줍 니 다.
\#함 수 를 어떻게 정의 합 니까?
# -*- coding: utf-8 -*-
def my_abs(n):
if n >= 0:
return n;
else:
return -n;
\#호출 함수 실행
a=int(input(' :'))
print(my_abs(a))
\#함수 의 특징 2:함수 가 반환 값 을 가지 고 있 습 니 다.반환 값:함 수 를 실행 한 후에 받 아들 일 수 있 는 값\#return 자구 뒤의 python 코드 는 틀 리 지 않 지만 실행 되 지 않 습 니 다.
def my_abs(n):
if n >= 0:
return n;
print('hiahia')
else:
return -n;
print('hiahia')
빈 함수
\#아무것도 하지 않 는 빈 함 수 를 정의 하려 면 pass 문 구 를 사용 할 수 있 습 니 다:
def nop():
pass
\#pass 문 구 는 아무것도 하지 않 는데 무슨 소 용이 있 습 니까?실제로 pass 는 자리 차지 문자 로 사용 할 수 있 습 니 다.예 를 들 어 함수 의 코드 를 어떻게 쓰 는 지 아직 생각 하지 못 했 으 면 먼저 pass 를 놓 아서 코드 가 실 행 될 수 있 도록 할 수 있 습 니 다.
\#pass 는 다른 문장 에 도 사용 할 수 있 습 니 다.예 를 들 어:
if age >= 18:
pass
\#pass 가 없 으 면 코드 가 실행 되면 문법 오류 가 발생 합 니 다.
매개 변수 검사
\#함 수 를 호출 할 때 인자 개수 가 맞지 않 으 면 Python 해석 기 가 자동 으로 검사 되 고 TypeError 를 던 집 니 다.
>>> my_abs(1, 2)
Traceback (most recent call last):
File "", line 1, in
TypeError: my_abs() takes 1 positional argument but 2 were given
\#하지만 매개 변수 형식 이 틀 리 면 Python 해석 기 가 검사 해 줄 수 없습니다.해 봐 myabs 와 내장 함수 abs 의 차이:
>>> my_abs('A')
Traceback (most recent call last):
File "", line 1, in
File "", line 2, in my_abs
TypeError: unorderable types: str() >= int()
>>> abs('A')
Traceback (most recent call last):
File "", line 1, in
TypeError: bad operand type for abs(): 'str'
\#부적 절 한 인자 가 들 어 왔 을 때 내 장 된 함수 abs 는 인자 오 류 를 검사 하고 우리 가 정의 하 는 myabs 에 매개 변수 검사 가 없 으 면 if 문장 에 오류 가 발생 할 수 있 습 니 다.오류 정 보 는 abs 와 다 릅 니 다.그래서 이 함수 의 정 의 는 완벽 하지 않다.
\#my 를 수정 합 시다.abs 의 정 의 는 매개 변수 유형 을 검사 하고 정수 와 부동 소수점 형식의 매개 변수 만 허용 합 니 다.데이터 형식 검 사 는 내 장 된 함수 isinstance()로 이 루어 집 니 다.
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
\#매개 변수 검 사 를 추가 한 후 잘못된 매개 변수 형식 을 입력 하면 함수 에서 오 류 를 던 질 수 있 습 니 다.
>>> my_abs('A')
Traceback (most recent call last):
File "", line 1, in
File "", line 3, in my_abs
TypeError: bad operand type
。
여러 값 되 돌리 기
\#함 수 는 여러 값 을 되 돌려 줄 수 있 습 니까?답 은 긍정 적 이다.반환 값 은 하나의 tuple(원 그룹)으로 포장 되 지만 문법 적 으로 하나의 tuple 을 되 돌려 주면 괄호 를 생략 할 수 있 고 여러 변 수 는 하나의 tuple 을 동시에 받 아들 여 위치 에 따라 대응 하 는 값 을 부여 할 수 있 기 때문에 Python 의 함수 가 다 중 값 을 되 돌려 주 는 것 은 사실은 하나의 tuple 을 되 돌려 주 는 것 이지 만 쓰기 가 더욱 편리 합 니 다.
def hiahia():
return 1,2,3,4,5,6
print(hiahia())
작은 매듭
4.567917.필요 하 다 면 먼저 매개 변수의 데이터 유형 을 검사 할 수 있다
4.567917.함 수 는 여러 값 을 동시에 되 돌 릴 수 있 지만 사실은 하나의 tuple 입 니 다
함수 고급
\#교체 함수:한 함수 가 다른 함 수 를 매개 변수 로 호출 할 수 있 음 을 설명 할 수 있 습 니 다\#함수 와 함수 간 에 서로 호출 할 수 있 습 니 다.
def a(number):
print(' number:%s'%number)
def b(a):
a(8);
b(a);
\#재 귀 함수 함수 가 스스로 자신 을 호출 할 수 있 습 니까?일종 의 순환 방식 을 형성 하지만 피해 야 할 무한 귀속
\#재 귀 함수 의 첫 번 째 예:단계 곱 하기 12345 는 단계 곱 하기 적 이다.
sum=1;
for i in range(1,6):
sum*=i;
print(sum)
\#재 귀 를 통 해 단 계 를 실현 합 니 다.
def clac(n):# 5 1*2*3*4*5
#
if n==1:
return 1;
return n*clac(n-1)
print(clac(5))
\#컴퓨터 밑바닥 의 알고리즘:황금 분할법 은 매우 흔히 볼 수 있 는\#피 보 나치 수열 의 합 을 계산한다
he=0
def fb(b):
if b<=1:
return b;
else:
return fb(b-1)+fb(b-2);
a=int(input(' :'))
for i in range(a):
he=he+fb(i)
print(he)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.