【Python】語(yǔ)法學(xué)習(xí)4

一、 函數(shù)

1.從Python中調(diào)用函數(shù)

從Python的官方網(wǎng)站查看文檔:(abs)
http://docs.python.org/2/library/functions.html#abs
或者
在交互命令 help(bas)
abs函數(shù)是求絕對(duì)值

>>>abs(-2)
2

cmp(x,y)比較函數(shù),如果x<y,返回-1,如果x==y,返回0,如果x>y,返回1
int()函數(shù),把其他類型轉(zhuǎn)換為整數(shù)

>>>int('123')
123
>>>int(12,34)
12

str()把其他類型轉(zhuǎn)換成str。

>>>str(123)
'123'
>>>str(1.23)
'1.23'

列:

L=[ ]
x=1
while x<=100:
    L.append(x*x)
    x=x+1
print sum(L)

2.編寫函數(shù)

定義函數(shù)是要同def語(yǔ)句,依次寫出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào)

def  my_abs(x):
       if x>=0:
           return  x
       else:
       return  -x

列:定義一個(gè)square_of_sum 函數(shù),它接受一list,返回list中每個(gè)元素平方的和。

def   square_of_sum(L):
        sum=0
        for   x in L:
            sum=sum+x*x
        return  sum

或者

def  square_of_sum(L):
           M=[ ]
           for x in L:
               M.append(x*x)
           return  sum(M)

3.函數(shù)之返回多值

math包提供了sin()和cos()函數(shù),用import應(yīng)用。

import  math
def  move(x,y,step,angle):
       nx=x+step*math.cos(angle)
       ny=y-step*math.sin(angle)
       return    nx,ny

列:編寫一個(gè)函數(shù),返回一元二次方程的兩個(gè)解。

import math
def  quadratic_equation(a,b,c):
       if b*b-4*a*c<0:
           return
       else:
           x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)
           x2=(-b-math.squt(b*b-4*a*c))/(2*a)
           return  x1,x2

或者簡(jiǎn)單的

def  quadratic_equation(a,b,c):
       t=math.sqrt(b*b-4*a*c)
       return(-b+t)/(2*a) , (-b-t)/(2*a)

4.遞歸函數(shù)

計(jì)算階乘n!=12345...*n用fact(n)表示。
fact(n)用遞歸的方式:

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

5.定義默認(rèn)參數(shù)

定義函數(shù)時(shí),還可以有默認(rèn)參數(shù)。
計(jì)算x的N次方的函數(shù):

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

默認(rèn)參數(shù)只能定義在必需參數(shù)的后面

6. 定義可變參數(shù)

可變參數(shù)的名字前有*號(hào)
列:求平均值

def  average(*args)
       sum=0.0
       if  len(args)==0:
           return  sum
       for x in args:
           sum=sum + x
       return  sum/ln(args)
>>>print average()
0.0
>>>print average(1,2)
1.5
>>>print avetrage(1,2,2,3,4)
2.4
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python 是一種相當(dāng)高級(jí)的語(yǔ)言,通過(guò) Python 解釋器把符合語(yǔ)法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 2,031評(píng)論 0 3
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,787評(píng)論 1 118
  • 什么是函數(shù) 我們知道圓的面積計(jì)算公式為: S = πr2 當(dāng)我們知道半徑r的值時(shí),就可以根據(jù)公式計(jì)算出面積。假設(shè)我...
    _王子_閱讀 618評(píng)論 0 2
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍?、屬性?..
    victorsungo閱讀 1,694評(píng)論 0 6
  • 一轉(zhuǎn)眼,畢業(yè)好幾年了,周圍的同事也都換了好多,添了好多新面孔,從陌生到熟悉,從熟悉又到慢慢各奔天涯,各謀生計(jì),時(shí)間...
    幸運(yùn)有你lucky閱讀 432評(píng)論 1 2

友情鏈接更多精彩內(nèi)容