Rumah pembangunan bahagian belakang Tutorial Python python中函数的详细说明

python中函数的详细说明

Mar 08, 2017 am 10:17 AM
fungsi python

斐波拉希数列

>>> 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]
Salin selepas log masuk

注意:内建的callable函数可以用来判断函数是否可以调用

def 定义函数

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

    
>>> hello('world')
Helloworld
Salin selepas log masuk

用函数写斐波拉希数列

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

        
>>> fibs(10)
Salin selepas log masuk

注意:return语句从函数中返回值

函数说明:如果给函数写文档,让其他人能理解的话,可以加入注释(#开头)。另外一种方法就是直接写上字符串。

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

>>> square.__doc__
'Calculates the square of the number x.'
Salin selepas log masuk

内建的help函数,可以得到关于函数,包括它的文档字符串信息

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

square(x)
    Calculates the square of the number x.
Salin selepas log masuk

在函数内为参数赋予新值不会改变外部变量的值:

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

    
>>> name='Mrs,Entity'
>>> try_to_change(name)
>>> name
'Mrs,Entity'
Salin selepas log masuk

字符串(以及数字和元组)是不可改变的,即无法修改。若将可改变的数据结构(列表或字典)修改,参数会被修改

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

    
>>> change(n[:])
>>> n
['Bob', 'Alen']
>>> change(n)
>>> n
['Sandy', 'Alen']
Salin selepas log masuk

关键字参数和默认值

>>> 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!
Salin selepas log masuk

收集参数

返回元组:

>>> 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)
Salin selepas log masuk

返回字典

>>> 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
()
{}
Salin selepas log masuk

调用元组、字典

>>> 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'])
Salin selepas log masuk

星号只在定义函数(允许使用不定数目的参数)或者调用("分割"字典或者序列)时才有用

>>> 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
Salin selepas log masuk

几个例子

>>> 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)
Salin selepas log masuk

修改全局变量

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

    
>>> f()
>>> x
>>> f()
>>> x
Salin selepas log masuk

嵌套

>>> 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)
Salin selepas log masuk

递归(调用)

阶乘和幂

>>> 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)
Salin selepas log masuk

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

    
>>> power(2,3)
Salin selepas log masuk


二元查找

>>> 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)
Salin selepas log masuk

map函数

它接收一个函数和一个列表,并通过函数依次作用在list的每个元素上,得到一个新的list并返回

>>> 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]
Salin selepas log masuk

>>> 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;]
Salin selepas log masuk

filter函数

它接收一个函数和一个列表(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]
Salin selepas log masuk

lambda函数

也叫匿名函数,即,函数没有具体的名称,而用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)
Salin selepas log masuk

>>> 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;]
Salin selepas log masuk

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
Salin selepas log masuk

 更多python中函数的详细说明相关文章请关注PHP中文网!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi abs Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi abs Nov 03, 2023 pm 12:05 PM

Pengenalan kepada fungsi Python: penggunaan dan contoh fungsi abs 1. Pengenalan kepada penggunaan fungsi abs Dalam Python, fungsi abs ialah fungsi terbina dalam yang digunakan untuk mengira nilai mutlak nilai tertentu. Ia boleh menerima hujah berangka dan mengembalikan nilai mutlak nombor itu. Sintaks asas fungsi abs adalah seperti berikut: abs(x) dengan x ialah parameter berangka untuk mengira nilai mutlak, yang boleh menjadi integer atau nombor titik terapung. 2. Contoh fungsi abs Di bawah kami akan menunjukkan penggunaan fungsi abs melalui beberapa contoh khusus: Contoh 1: Pengiraan

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi isinstance Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi isinstance Nov 04, 2023 pm 03:15 PM

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi isinstance Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam untuk menjadikan pengaturcaraan lebih mudah dan cekap. Salah satu fungsi terbina dalam yang sangat berguna ialah fungsi isinstance(). Artikel ini akan memperkenalkan penggunaan dan contoh fungsi isinstance dan memberikan contoh kod khusus. Fungsi isinstance() digunakan untuk menentukan sama ada objek ialah contoh kelas atau jenis tertentu. Sintaks fungsi ini adalah seperti berikut

Bagaimana untuk membetulkan ralat kod keras dalam fungsi Python? Bagaimana untuk membetulkan ralat kod keras dalam fungsi Python? Jun 25, 2023 pm 08:15 PM

Dengan penggunaan bahasa pengaturcaraan Python yang meluas, pembangun sering menghadapi masalah "ralat kod keras" dalam proses menulis program. Apa yang dipanggil "ralat pengekodan keras" merujuk kepada menulis nilai berangka tertentu, rentetan dan data lain terus ke dalam kod dan bukannya mentakrifkannya sebagai pemalar atau pembolehubah. Pendekatan ini mempunyai banyak masalah, seperti kebolehbacaan yang rendah, kesukaran untuk mengekalkan, mengubah suai dan menguji, dan ia juga meningkatkan kemungkinan ralat. Artikel ini membincangkan cara menyelesaikan masalah ralat berkod keras dalam fungsi Python. 1. Apa yang susah

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi penapis Pengenalan kepada fungsi Python: fungsi dan contoh fungsi penapis Nov 04, 2023 am 10:13 AM

Pengenalan kepada fungsi Python: Peranan dan contoh fungsi penapis Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam, salah satunya ialah fungsi penapis. Fungsi penapis digunakan untuk menapis elemen dalam senarai dan mengembalikan senarai baharu yang terdiri daripada elemen yang memenuhi syarat yang ditetapkan. Dalam artikel ini, kami akan memperkenalkan fungsi penapis dan memberikan beberapa contoh untuk membantu pembaca memahami penggunaan dan potensinya. Sintaks fungsi penapis adalah seperti berikut: penapis(fungsi

Pengenalan kepada fungsi Python: penggunaan dan contoh fungsi dir Pengenalan kepada fungsi Python: penggunaan dan contoh fungsi dir Nov 03, 2023 pm 01:28 PM

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi dir Python ialah bahasa pengaturcaraan sumber terbuka, peringkat tinggi dan ditafsirkan. Ia boleh digunakan untuk membangunkan pelbagai jenis aplikasi, termasuk aplikasi web, aplikasi desktop, permainan, dll. Python menyediakan sejumlah besar fungsi dan modul terbina dalam yang boleh membantu pengaturcara dengan cepat menulis kod Python yang cekap. Antaranya, fungsi dir ialah fungsi terbina dalam yang sangat berguna, yang boleh membantu pengaturcara melihat sifat dan kaedah dalam objek, modul atau kelas.

Pengenalan kepada fungsi Python: fungsi dan contoh penggunaan fungsi globals Pengenalan kepada fungsi Python: fungsi dan contoh penggunaan fungsi globals Nov 04, 2023 pm 02:58 PM

Pengenalan kepada fungsi Python: Fungsi dan contoh penggunaan fungsi globals Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam, antaranya fungsi globals() adalah salah satu daripadanya. Artikel ini akan memperkenalkan fungsi dan contoh penggunaan fungsi globals(), dengan contoh kod khusus. 1. Fungsi fungsi globals Fungsi globals() ialah fungsi terbina dalam yang mengembalikan kamus pembolehubah global modul semasa. Ia mengembalikan kamus yang mengandungi pembolehubah global, di mana

Pengenalan kepada fungsi Python: pengenalan dan contoh fungsi julat Pengenalan kepada fungsi Python: pengenalan dan contoh fungsi julat Nov 04, 2023 am 10:10 AM

Pengenalan kepada fungsi Python: Pengenalan dan contoh fungsi julat Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pelbagai bidang Ia mudah dipelajari dan mempunyai perpustakaan fungsi terbina dalam yang kaya. Antaranya, fungsi julat adalah salah satu fungsi terbina dalam yang biasa digunakan dalam Python. Artikel ini akan memperkenalkan fungsi dan penggunaan fungsi julat secara terperinci, dan menunjukkan aplikasi khususnya melalui contoh. Fungsi julat ialah fungsi yang digunakan untuk menjana jujukan integer Ia menerima tiga parameter, iaitu nilai permulaan (.

Bagaimana untuk menyelesaikan ralat konkurensi yang tidak selamat dalam fungsi Python? Bagaimana untuk menyelesaikan ralat konkurensi yang tidak selamat dalam fungsi Python? Jun 24, 2023 pm 12:37 PM

Python ialah bahasa pengaturcaraan peringkat tinggi yang popular dengan sintaks yang ringkas dan mudah difahami, perpustakaan standard yang kaya dan sokongan komuniti sumber terbuka Ia juga menyokong pelbagai paradigma pengaturcaraan, seperti pengaturcaraan berorientasikan objek, pengaturcaraan berfungsi, dsb. Khususnya, Python digunakan secara meluas dalam pemprosesan data, pembelajaran mesin, pengkomputeran saintifik dan bidang lain. Walau bagaimanapun, Python juga mempunyai beberapa masalah dalam pengaturcaraan berbilang benang atau berbilang proses. Salah satunya ialah ketidakamanan bersama. Artikel ini akan memperkenalkan cara menyelesaikan kebimbangan konkurensi dalam fungsi Python dari aspek berikut:

See all articles