国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python學(xué)習(xí) - 基本函數(shù)

zsy888 / 769人閱讀

摘要:有點(diǎn)出入,一個(gè)文件,從上往下執(zhí)行語句,函數(shù)就是開始語句。當(dāng)然還能增加另外的函數(shù)和執(zhí)行語句。如果這個(gè)函數(shù)主要是為了計(jì)算平方,可以寫成調(diào)用,也能得到。計(jì)算次方,默認(rèn)參數(shù)可以節(jié)省輸入,預(yù)防一些錯(cuò)誤。可變參數(shù)中函數(shù)的參數(shù)個(gè)數(shù)是可變的。

原文閱讀

語句的執(zhí)行順序

學(xué)C的時(shí)候,寫函數(shù)常會(huì)先去找main函數(shù),一級(jí)一級(jí)的調(diào)用看下來,再在適當(dāng)?shù)囊粋€(gè)函數(shù)里,調(diào)用需要的函數(shù),傳入?yún)?shù),獲得數(shù)據(jù)。Python有點(diǎn)出入,一個(gè).py文件,從上往下執(zhí)行語句,main函數(shù)就是開始語句。比如一個(gè)遞歸的函數(shù)

def fact(n):
    if n == 1:
        return 1;
    return n * n + fact(n - 1)

print fact(4)

這個(gè)是計(jì)算1 * 1 + 2 * 2 + 3 * 3 + ... + n * n(markDown怎么寫平方 - -#),遞歸調(diào)用,假設(shè)文件名為a.py,在Terminal下運(yùn)行python a.py,就輸出數(shù)據(jù)了。當(dāng)然還能增加另外的函數(shù)和執(zhí)行語句。

也能給函數(shù)指定別名(可以理解為函數(shù)指針):

def fact(n):
    if n == 1:
        return 1;
    return n * n + fact(n - 1)
z = fact
print z(4)
函數(shù)返回值

看一個(gè)函數(shù),輸出一個(gè)數(shù)的絕對(duì)值,如果輸入的不是數(shù)字,則報(bào)錯(cuò):

def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError("bad operand type")
    if x > 0:
        return x
    elif x == 0:
        pass
    else:
        return -x
print my_abs(5)
print my_abs(0)
print my_abs(-5)
print my_abs("a")

輸出:

一個(gè)函數(shù)也能返回多個(gè)值:

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny
a,b = move(100, 100, 60, math.pi / 6)
print a, b

輸出:

函數(shù)的參數(shù) 默認(rèn)參數(shù)

定義一個(gè)函數(shù),計(jì)算x的n次方:

def power(x, n):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

調(diào)用power(5,2),就能得到25。如果這個(gè)函數(shù)主要是為了計(jì)算平方,可以寫成:

def power(x, n = 2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s

調(diào)用power(5),也能得到25。計(jì)算3次方power(5, 3),默認(rèn)參數(shù)可以節(jié)省輸入,預(yù)防一些錯(cuò)誤。

可變參數(shù)

Python中函數(shù)的參數(shù)個(gè)數(shù)是可變的。具體是怎么樣呢?比如我們要計(jì)算a * a, b * b, c * c
一、def func(a, b ,c):,函數(shù)參數(shù)是3個(gè)整數(shù),調(diào)用時(shí)func(a, b, c)

二、def func(numbers):,參數(shù)是一個(gè)list或者tuple,調(diào)用時(shí)func([a,b,c])func((a, b ,c))

而可變參數(shù)的函數(shù)是def func(*numbers):,調(diào)用時(shí)候func(a, b, c),可以寫成:

def func(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
關(guān)鍵字參數(shù)

可變參數(shù)是傳入?yún)?shù)到函數(shù)后,函數(shù)自動(dòng)將參數(shù)組裝成一個(gè)tuple,關(guān)鍵字參數(shù)則是將參數(shù)組裝成key-value鍵值對(duì)。比如:

def person(name, age, **kw):
    print "name:", name, "age:", age, "other:", kw

調(diào)用函數(shù):

>>> person("Michael", 30)
name: Michael age: 30 other: {}
>>> person("Adam", 45, gender="M", job="Engineer")
name: Adam age: 45 other: {"gender": "M", "job": "Engineer"}

這樣,函數(shù)參數(shù)就有了list類型的參數(shù)。還可以這么調(diào)用

>>> kw = {"city": "Beijing", "job": "Engineer"}
>>> person("Jack", 24, **kw)
name: Jack age: 24 other: {"city": "Beijing", "job": "Engineer"}
參數(shù)組合

可以將各種參數(shù)組合用,順序必須是:必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)和關(guān)鍵字參數(shù)。比如:

def func(a, b, c=0, *args, **kw):
    print "a =", a, "b =", b, "c =", c, "args =", args, "kw =", kw

*args為可變參數(shù),接受的是tuple,**kw是關(guān)鍵字參數(shù),接受的是一個(gè)dict。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/37309.html

相關(guān)文章

  • Python爬蟲學(xué)習(xí)路線

    摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識(shí),比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...

    liaoyg8023 評(píng)論0 收藏0
  • 第7期 Datawhale 組隊(duì)學(xué)習(xí)計(jì)劃

    馬上就要開始啦這次共組織15個(gè)組隊(duì)學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識(shí)到動(dòng)手實(shí)踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 評(píng)論0 收藏0
  • Python

    摘要:最近看前端都展開了幾場(chǎng)而我大知乎最熱語言還沒有相關(guān)。有關(guān)書籍的介紹,大部分截取自是官方介紹。但從開始,標(biāo)準(zhǔn)庫(kù)為我們提供了模塊,它提供了和兩個(gè)類,實(shí)現(xiàn)了對(duì)和的進(jìn)一步抽象,對(duì)編寫線程池進(jìn)程池提供了直接的支持。 《流暢的python》閱讀筆記 《流暢的python》是一本適合python進(jìn)階的書, 里面介紹的基本都是高級(jí)的python用法. 對(duì)于初學(xué)python的人來說, 基礎(chǔ)大概也就夠用了...

    dailybird 評(píng)論0 收藏0
  • 我是如何入門機(jī)器學(xué)習(xí)的呢

    摘要:在這里我分享下我個(gè)人入門機(jī)器學(xué)習(xí)的經(jīng)歷,希望能對(duì)大家能有所幫助。相關(guān)學(xué)習(xí)鏈接,,入門后的體驗(yàn)在入門了機(jī)器學(xué)習(xí)之后,在實(shí)際工作中,絕大多數(shù)的情況下你并不需要去創(chuàng)造一個(gè)新的算法。 機(jī)器學(xué)習(xí)在很多眼里就是香餑餑,因?yàn)闄C(jī)器學(xué)習(xí)相關(guān)的崗位在當(dāng)前市場(chǎng)待遇不錯(cuò),但同時(shí)機(jī)器學(xué)習(xí)在很多人面前又是一座大山,因?yàn)榘l(fā)現(xiàn)它太難學(xué)了。在這里我分享下我個(gè)人入門機(jī)器學(xué)習(xí)的經(jīng)歷,希望能對(duì)大家能有所幫助。 PS:這篇文章...

    ShowerSun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<