日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python数学建模入门【3】

發布時間:2023/12/31 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python数学建模入门【3】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.4 函數

1.Python中定義函數的語法

#自定義函數的語法形式 def factorial(n):r = 1while n > 1:r *= nn -= 1return r print(factorial(5))

運行結果:

120

這里使用了python中有關函數的定義,形式如上,python中的:是格式要求,如果缺少的話會報錯,除此之外,python用四個空格的縮進來表示代碼塊之間的縮進,例如define和while之間間隔四個空格,while和循環中的語句間隔同樣為四個空格,python對于格式的要求很嚴格,在編碼過程中要養成良好的習慣。

#求數字的p次方的和 def square_sum(n,p = 2):result = sum([i**p for i in range(1,n+1)])return (n,p,result) print("1到%d的%d次方和為%d" %square_sum(10))

運行結果:

1到10的2次方和為385

2.可變參數的python函數

#可變參數的python函數 def add(*args):print (args ,end=' ')s = sum(args)return s print("的和為%d"%add(10,12,6,8))

運行結果:

(10, 12, 6, 8) 的和為36

python中設置了可變參數的函數,例如我們想計算多個數的和的時候,想要輸入多個數據,我們就可以采用上面的形式,用*名稱來錄入多個數據,可變參數函數會把輸入的數據封裝成一個元組,進行函數的運算。

3.關鍵字參數

#關鍵字參數 def person(name,age,**kw):print('name:',name,'age:',age,'others:',kw) person('Michael',30) person('Bob',35,city = 'Beijing')

運行結果:

name: Michael age: 30 others: {} name: Bob age: 35 others: {'city': 'Beijing'}

這種方式避免了可變參數接受多個實參后捆綁成一個元組,通過關鍵字參數可以構造字典來實現對行參的單獨訪問,如圖在所示的程序中,name 和 age是位置參數,兩個必須要傳入到對應的值,其他關鍵字參數則是會不斷出現 。

4.參數傳遞

(1)

#參數傳遞def fun(a,b):a,b = b,a print('函數內交換后的值是:%d %d\n'%(a,b))return a = 10;b = 5 print('調用函數前變量的值:%d %d\n' % (a,b)) fun(a,b) print('調用函數后變量的值:%d %d\n' % (a,b)) #我們可以看到兩個數值確實進行了交換,但是外部實參的值并沒有改變

運行結果:

調用函數前變量的值:10 5函數內交換后的值是:5 10調用函數后變量的值:10 5

參數的傳遞方式有傳值和傳址兩種。
傳值的意思是說在函數中對變量進行的任何改變不會影響實際變量的值,類似于C語言中的形參和實參。
傳址的意思則是說,會對地址中的內容直接改變使用同一個地址。

(2)

#參數傳遞的復合數據包 def fun(a,b,c):print("三個數的和為:",a+b+c) seq = [1,2,3]; fun(*seq) tup = (1,2,3); fun(*tup) dic = {1:'a',2:'b',3:'c'};fun(*dic) seta = {1,2,3}; fun(*seta)

運行結果:

三個數的和為: 6 三個數的和為: 6 三個數的和為: 6 三個數的和為: 6

運用*可以對不同數據類型中的每個元素進行相應的訪問。

5.lambda函數使用

#lambda函數的使用示例 f = lambda n,m:sum([k**m for k in range (1,n+1)]) s = f(100,1)+f(50,2)+f(10,-1) print("s=%10.4f"%(s))

運行結果:

s=47977.9290

6.遞歸python函數

#在python中編寫遞歸函數 x,n = eval(input("請輸入x和n的值:")) def p(x,n):if n == 1: return xelse: return x*(1-p(x,n-1)) v = p(x,n) print("p(%d,%d)=%d"%(x,n,v))

運行結果:

請輸入x和n的值:2,4 p(2,4)=-10

7.python中查看文檔的方式

#python中導入模塊的方式 import numpy help(numpy.random)

補充習題:

x = [1,2,3] y = [-1,-2,-3] list(zip(*zip(x,y)))

運行結果:

[(1, 2, 3), (-1, -2, -3)]

可以先自行推斷結果,忘了的小伙伴可以去看看Python數學建模入門【2】中的解析。

Python數學建模入門【2】

總結

以上是生活随笔為你收集整理的Python数学建模入门【3】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。