백엔드 개발 파이썬 튜토리얼 Python의 함수에 대한 자세한 설명

Python의 함수에 대한 자세한 설명

Mar 08, 2017 am 10:17 AM
파이썬 함수

피보나치 수열

>>> fibs
[0, 1]>>> n=input('How many Fibonacci numbers do your what?')
How many Fibonacci numbers do your what?10
>>> for n in range(n-2):
    fibs.append(fibs[-2]+fibs[-1])    
>>> fibs
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
로그인 후 복사

참고: 내장된 호출 가능 함수를 사용하여 함수를 호출할 수 있는지 여부를 결정할 수 있습니다.

def 함수 정의

>>> def hello(name):
    print "Hello"+name

    
>>> hello('world')
Helloworld
로그인 후 복사

함수를 사용하여 피보나치 수열 작성

>>> def fibs(num):
    s=[0,1]
    for i in range(num-2):
        s.append(s[-2]+s[-1])

        
>>> fibs(10)
로그인 후 복사

참고: return 문은 함수

함수 설명 의 값을 반환합니다. 다른 사람이 이해할 수 있도록 함수를 문서화하는 경우 주석을 추가할 수 있습니다. ( #시작). 또 다른 방법은 문자열을 직접 작성하는 것입니다.

>>> def square(x):
    'Calculates the square of the number x.'
    return x*x

>>> square.__doc__
'Calculates the square of the number x.'
로그인 후 복사

내장 도움말 기능은 문서 문자열을 포함하여 함수에 대한 정보를 얻을 수 있습니다

>>> help(square)
Help on function square in module __main__:

square(x)
    Calculates the square of the number x.
로그인 후 복사

함수 내의 매개변수에 새 값을 할당해도 외부 변수의 값은 변경되지 않습니다.

>>> def try_to_change(n):
    n='Mr,Gumby'

    
>>> name='Mrs,Entity'
>>> try_to_change(name)
>>> name
'Mrs,Entity'
로그인 후 복사

문자열(숫자 포함) 및 튜플) 불변입니다. 즉, 수정할 수 없습니다. 변경 가능한 데이터 구조(목록 또는 사전)가 수정되면 매개변수가 수정됩니다

>>> n=['Bob','Alen']
>>> def change(m):
    m[0]='Sandy'

    
>>> change(n[:])
>>> n
['Bob', 'Alen']
>>> change(n)
>>> n
['Sandy', 'Alen']
로그인 후 복사

키워드 매개변수 및 기본값

>>> def hello(name,greeting='Hello',punctuation='!'):
    print '%s,%s%s' % (greeting,name,punctuation)

    
>>> hello(name='Nsds')
Hello,Nsds!
>>> hello(name='Nsds',greeting='Hi')
Hi,Nsds!
로그인 후 복사

매개변수 수집

튜플 반환:

>>> def print_params(*params):
    print params

    
>>> print_params('Testing') #返回元组
('Testing',)
>>> print_params(1,2,3)
(1, 2, 3)
>>> def print_params_2(title,*params):
    print title
    print params

    
>>> print_params_2('Params:',1,2,3)
Params:
(1, 2, 3)
로그인 후 복사

사전 반환

>>> def print_params_3(**params):
    print params

    
>>> print_params_3(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3}
>>> def print_params_4(x,y,z=3,*pospar,**keypar):
    print x,y,z
    print pospar
    print keypar

    
>>> print_params_4(1,2,3,5,6,7,foo=1,bar=2)
2 3
(5, 6, 7)
{'foo': 1, 'bar': 2}
>>> print_params_4(1,2)
2 3
()
{}
로그인 후 복사

튜플 호출, 사전

>>> def add(x,y):return x+y

>>> params=(1,2)
>>> add(*params)
>>> def with_stars(**kwds):
    print kwds['name'],'is',kwds['age'],'years old']
>>> def without_starts(kwds):
    print kwds['name'],'is',kwds['age'],'years old'
>>> args={'name':'Nsds','age':24}
>>> with_stars(**args)
Nsds is 24 years old
>>> without_starts(args)
Nsds is 24 years old
>>> add(2,args['age'])
로그인 후 복사

별표는 함수를 정의(가변 개수의 매개변수 허용)하거나 호출(사전 또는 시퀀스 "분할")할 때만 유용합니다.

>>> def foo(x,y,z,m=0,n=0):
    print x,y,z,m,n

    
>>> def call_foo(*args,**kwds):
    print "Calling foo!"
    foo(*args,**kwds)

>>> d=(1,3,4)
>>> f={'m':'Hi','n':'Hello'}
>>> foo(*d,**f)
3 4 Hi Hello
>>> call_foo(*d,**f)
Calling foo!
3 4 Hi Hello
로그인 후 복사

여러 예

>>> def story(**kwds):
    return 'Once upon a time,there was a' \
           '%(job)s called %(name)s.' % kwds

>>> def power(x,y,*others):
    if others:
        print 'Received redundant parameters:',others
    return pow(x,y)

>>> def interval(start,stop=None,step=1):
    if stop is None:
        start,stop=0,start  #start=0,stop=start
    result=[]
    i=start
    while i<stop:
        result.append(i)
        i+=step
    return result

>>> print story(job=&#39;king&#39;,name=&#39;Gumby&#39;)
Once upon a time,there was aking called Gumby.
>>> print story(name=&#39;Sir Robin&#39;,job=&#39;brave knight&#39;)
Once upon a time,there was abrave knight called Sir Robin.
>>> params={&#39;job&#39;:&#39;language&#39;,&#39;name&#39;:&#39;Python&#39;}
>>> print story(**params)
Once upon a time,there was alanguage called Python.
>>> del params[&#39;job&#39;]
>>> print story(job=&#39;store of genius&#39;,**params)
Once upon a time,there was astore of genius called Python.
>>> power(2,3)
>>> power(y=3,x=2)
>>> params=(5,)*2
>>> power(*params)
>>> power(3,3,&#39;Helld,world&#39;)
Received redundant parameters: (&#39;Helld,world&#39;,)
>>> interval(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> interval(1,5)
[1, 2, 3, 4]
>>> power(*interval(3,7))
Received redundant parameters: (5, 6)
로그인 후 복사

전역 변수 수정

>>> def f():
    global x
    x=x+1

    
>>> f()
>>> x
>>> f()
>>> x
로그인 후 복사

중첩

>>> def multiplier(factor):
    def multiplyByFactor(number):
        return number*factor
    return multiplyByFactor

>>> double=multiplier(2)
>>> double(5)
>>> multiplier(2*5)
<function multiplyByFactor at 0x0000000002F8C6D8>
>>> multiplier(2)(5)
로그인 후 복사

재귀(호출)

팩토리얼 및 거듭제곱

>>> def factorial(n):
    if n==1:
        return 1
    else:
        return n*factorial(n-1)
    
>>> factorial(5)
>>> range(3)
[0, 1, 2]
>>> def power(x,n):
    result=1
    for i in range(n):
        result *= x
    return result
>>> power(5,3)
로그인 후 복사

>>> def power(x,n):
    if n==0:
        return 1
    else:
        return x*power(x,n-1)

    
>>> power(2,3)
로그인 후 복사


바이너리 검색

>>> def search(s,n,min=0,max=0):
    if max==0:
        max=len(s)-1
    if min==max:
        assert n==s[max]
        return max
    else:
        middle=(min+max)/2
        if n>s[middle]:
            return search(s,n,middle+1,max)
        else:
            return search(s,n,min,middle)

        
>>> search(seq,100)
로그인 후 복사

지도 함수

함수와 목록을 받고, 이 함수를 사용하여 목록의 각 요소에 대해 차례로 작업을 수행하여 새 목록을 얻고 <를 반환합니다. 🎜>

>>> map(str,range(10))
[&#39;0&#39;, &#39;1&#39;, &#39;2&#39;, &#39;3&#39;, &#39;4&#39;, &#39;5&#39;, &#39;6&#39;, &#39;7&#39;, &#39;8&#39;, &#39;9&#39;]
>>> def f(x):
    return x*x

>>> print map(f,[1,2,3,4,5,6,7])
[1, 4, 9, 16, 25, 36, 49]
로그인 후 복사

>>> def format_name(s):
    s1=s[0].upper()+s[1:].lower()
    return s1

>>> print map(format_name,[&#39;ASDF&#39;,&#39;jskk&#39;])
[&#39;Asdf&#39;, &#39;Jskk&#39;]
로그인 후 복사

필터 기능

함수를 받아와 list(리스트)는 각 요소를 차례로 판단하여 True 또는 False를 반환하는 함수입니다. filter()는 판단 결과에 따라 조건에 맞지 않는 요소를 자동으로 필터링하고 조건에 맞는 요소로 구성된 새로운 목록을 반환합니다. 🎜>

>>> def is_not_empty(s):
    return s and len(s.strip())>0

>>> filter(is_not_empty,[None,&#39;dshk&#39;,&#39;  &#39;,&#39;sd&#39;])
[&#39;dshk&#39;, &#39;sd&#39;]
>>> def pfg(x):
    s=math.sqrt(x)
    if s%1==0:
        return x

>>> import math
>>> pfg(100)
>>> pfg(5)
>>> filter(pfg,range(100))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> def is_sqr(x):
    return math.sqrt(x)%1==0

>>> is_sqr(100)
True
>>> filter(is_sqr,range(100))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
로그인 후 복사

람다 함수

는 익명 함수라고도 합니다. 즉, 함수에는 특정 이름이 없으며 다음과 같습니다. def로 생성된 메소드는 함수를 수신하는

>>> def foo():return &#39;Begin&#39;

>>> lambda:&#39;begin&#39;
<function <lambda> at 0x0000000002ECC2E8>
>>> s=lambda:&#39;begin&#39;
>>> print s()
begin
>>> s= lambda x,y:x+y
>>> print s(1,2)
>>> def sum(x,y=6):return x+y

>>> sum2=lambda x,y=6:x+y
>>> sum2(4)
로그인 후 복사

>>> filter(lambda x:x*x,range(1,5))
[1, 2, 3, 4]>>> map(lambda x:x*x,range(1,5))
[1, 4, 9, 16]>>> filter(lambda x:x.isalnum(),[&#39;8ui&#39;,&#39;&j&#39;,&#39;lhg&#39;,&#39;)j&#39;])
[&#39;8ui&#39;, &#39;lhg&#39;]
로그인 후 복사

reduce 함수

로 명명됩니다. 및 목록(list)인 경우 이 함수는 목록의 각 요소를 차례로 호출하고 결과 값으로 구성된 새 목록을 반환합니다.

>>> reduce(lambda x,y:x*y,range(1,5))
24
>>> reduce(lambda x,y:x+y,[23,9,5,6],100) #初始值为100,依次相加列表中的值
143
로그인 후 복사

파이썬의 함수에 대한 더 자세한 설명과 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Python 함수 소개: abs 함수의 사용법 및 예 Python 함수 소개: abs 함수의 사용법 및 예 Nov 03, 2023 pm 12:05 PM

Python 함수 소개: abs 함수 사용법 및 예 1. abs 함수 사용법 소개 Python에서 abs 함수는 주어진 값의 절대값을 계산하는 데 사용되는 내장 함수입니다. 숫자 인수를 허용하고 해당 숫자의 절대값을 반환할 수 있습니다. abs 함수의 기본 구문은 다음과 같습니다: abs(x) 여기서 x는 정수 또는 부동 소수점 숫자일 수 있는 절대값을 계산하기 위한 숫자 매개변수입니다. 2. abs 함수의 예 아래에서는 몇 가지 구체적인 예를 통해 abs 함수의 사용법을 보여줍니다. 예 1: 계산

Python 함수에서 하드코딩된 오류를 수정하는 방법은 무엇입니까? Python 함수에서 하드코딩된 오류를 수정하는 방법은 무엇입니까? Jun 25, 2023 pm 08:15 PM

Python 프로그래밍 언어가 널리 사용됨에 따라 개발자는 프로그램 작성 과정에서 "하드 코딩된 오류" 문제에 자주 직면하게 됩니다. 소위 "하드 코딩 오류"는 특정 숫자 값, 문자열 및 기타 데이터를 상수나 변수로 정의하는 대신 코드에 직접 쓰는 것을 말합니다. 이러한 접근 방식은 가독성이 낮고, 유지 관리, 수정 및 테스트의 어려움 등 많은 문제가 있으며 오류 발생 가능성도 높아집니다. 이 문서에서는 Python 함수의 하드 코딩된 오류 문제를 해결하는 방법에 대해 설명합니다. 1. 무엇이 힘든가

Python 함수 소개: isinstance 함수의 사용법 및 예 Python 함수 소개: isinstance 함수의 사용법 및 예 Nov 04, 2023 pm 03:15 PM

Python 함수 소개: isinstance 함수의 사용법 및 예 Python은 프로그래밍을 보다 편리하고 효율적으로 만들기 위해 많은 내장 함수를 제공하는 강력한 프로그래밍 언어입니다. 매우 유용한 내장 함수 중 하나는 isinstance() 함수입니다. 이 기사에서는 isinstance 함수의 사용법과 예를 소개하고 구체적인 코드 예를 제공합니다. isinstance() 함수는 객체가 지정된 클래스나 유형의 인스턴스인지 여부를 확인하는 데 사용됩니다. 이 함수의 구문은 다음과 같습니다

Python 함수 소개: 함수 및 필터 함수의 예 Python 함수 소개: 함수 및 필터 함수의 예 Nov 04, 2023 am 10:13 AM

Python 함수 소개: 필터 함수의 역할과 예 Python은 많은 내장 함수를 제공하는 강력한 프로그래밍 언어이며 그 중 하나가 필터 함수입니다. 필터 함수는 목록의 요소를 필터링하고 지정된 조건을 충족하는 요소로 구성된 새 목록을 반환하는 데 사용됩니다. 이 기사에서는 필터 기능이 수행하는 작업을 소개하고 독자가 필터 기능의 사용법과 잠재력을 이해하는 데 도움이 되는 몇 가지 예를 제공합니다. 필터 함수의 구문은 다음과 같습니다.

Python 함수 소개: dir 함수의 사용법 및 예 Python 함수 소개: dir 함수의 사용법 및 예 Nov 03, 2023 pm 01:28 PM

Python 함수 소개: dir 함수의 사용법 및 예 Python은 오픈 소스, 고급 수준, 해석된 프로그래밍 언어입니다. 웹 애플리케이션, 데스크톱 애플리케이션, 게임 등 다양한 유형의 애플리케이션을 개발하는 데 사용할 수 있습니다. Python은 프로그래머가 효율적인 Python 코드를 빠르게 작성하는 데 도움이 되는 수많은 내장 함수와 모듈을 제공합니다. 그중 dir 함수는 프로그래머가 객체, 모듈 또는 클래스의 속성과 메서드를 보는 데 도움이 되는 매우 유용한 내장 함수입니다.

Python 함수 소개: 범위 함수 소개 및 예 Python 함수 소개: 범위 함수 소개 및 예 Nov 04, 2023 am 10:10 AM

Python 함수 소개: 범위 함수 소개 및 예 Python은 다양한 분야에서 널리 사용되는 고급 프로그래밍 언어이며, 함수 라이브러리가 풍부하게 내장되어 있습니다. 그 중 range 함수는 Python에서 일반적으로 사용되는 내장 함수 중 하나입니다. 이 기사에서는 범위 함수의 기능과 사용법을 자세히 소개하고 예제를 통해 구체적인 응용 프로그램을 보여줍니다. 범위 함수는 정수 시퀀스를 생성하는 데 사용되는 함수입니다. 이 함수는 시작 값(

Python 함수 소개: 전역 함수의 함수 및 사용 예 Python 함수 소개: 전역 함수의 함수 및 사용 예 Nov 04, 2023 pm 02:58 PM

Python 함수 소개: 전역 함수의 함수 및 사용 예 Python은 많은 내장 함수를 제공하는 강력한 프로그래밍 언어이며, 그 중 globals() 함수가 그 중 하나입니다. 이 기사에서는 구체적인 코드 예제와 함께 globals() 함수의 함수 및 사용 예제를 소개합니다. 1. globals 함수의 기능 globals() 함수는 현재 모듈의 전역 변수 사전을 반환하는 내장 함수입니다. 전역 변수가 포함된 사전을 반환합니다.

Python 함수의 안전하지 않은 동시성 오류를 해결하는 방법은 무엇입니까? Python 함수의 안전하지 않은 동시성 오류를 해결하는 방법은 무엇입니까? Jun 24, 2023 pm 12:37 PM

Python은 간단하고 이해하기 쉬운 구문, 풍부한 표준 라이브러리 및 오픈 소스 커뮤니티 지원을 갖춘 인기 있는 고급 프로그래밍 언어입니다. 또한 객체 지향 프로그래밍, 함수형 프로그래밍 등과 같은 여러 프로그래밍 패러다임을 지원합니다. 특히 Python은 데이터 처리, 기계 학습, 과학 컴퓨팅 및 기타 분야에서 널리 사용됩니다. 그러나 Python은 다중 스레드 또는 다중 프로세스 프로그래밍에도 몇 가지 문제가 있습니다. 그 중 하나는 동시성 불안정성입니다. 이 문서에서는 다음 측면에서 Python 함수의 동시성 문제를 해결하는 방법을 소개합니다.

See all articles