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

歡迎訪問 生活随笔!

生活随笔

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

python

Python入门4

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

函數

函數其實在日常的編碼過程中,你都在使用,比如print()、input()、len()等函數,只不過這些都是python給你寫好的內置函數,供你是用,內置的函數數量有限,想讓python為我們做更多的事情,就需要自己設計符合的函數

1、減少重復代碼

2、使程序變的可擴展

3、使程序變得易維護

開始創建函數:

創建函數之前,我們先對創建函數的語法進行了解,見下圖

1、def 是關鍵字,不可缺少

2、函數名可以自己定義,不可缺少

3、參數:可選

4、retrun:可選

示例:

def hello():print('hello world')

函數的調用

函數在定義完成后,自身無法進行允許,必須進行調用,比如我們把上邊的函數進行執行

hello()# 輸出 hello world

函數的參數

在調用函數的時候,我們會往里面傳入一些值,放在函數的括號內,這個就叫參數,比如書寫如下函數:

def hello(name):print('hello ' + name)hello('Tom') hello('Jerry')# 輸出 hello Tom hello Jerry

1、位置參數:

位置參數就是在調用函數的時候,形參和實參一一對應,不多也不少,這就是位置參數

def calc(x, y):print(x * y)calc(2, 3)

2、關鍵參數

在有的時候,我們希望在調用的時候明確,我要把實參的值賦予給誰的時候,就需要是用關鍵參數,這個時候,你的參數順序可以隨意更換。

def calc(x, y):print(x * y)calc(x=2, y=3)

3、非固定參數--*args

若你的函數在定義時不確定用戶想傳入多少個參數,就可以使用非固定參數

def test(*args):print(args)test('arg1', 'arg2', 'arg3')# 輸出 ('arg1', 'arg2', 'arg3')

4、非固定參數--**kwargs

def test(**kwargs):print(kwargs)test(name='tom', age=18)# 輸出 {'age': 18, 'name': 'tom'}

局部變量和全局變量

在被調用的函數內部使用的變量,屬于局部變量,處于該函數的"局部作用域",這個時候的變量,不能被外部是用,例如:

def test():count = 1print(count)# 輸出 NameError: name 'count' is not defined

調用全局變量

count = 1def test():print(count)test()

遞歸

遞歸(recursion):通俗的說,程序調用自身的編程技巧。函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。

遞歸特性:

1. 必須有一個明確的結束條件

2. 每次進入更深一層遞歸時,問題規模相比上次遞歸都應有所減少

3. 遞歸效率不高,遞歸層次過多會導致棧溢出(在計算機中,函數調用是通過棧(stack)這種數據結構實現的,每當進入一個函數調用,棧就會加一層棧幀,每當函數返回,棧就會減一層棧幀。由于棧的大小不是無限的,所以,遞歸調用的次數過多,會導致棧溢出)

def func(num):if num == 1:return 1return num * func(num - 1)x = func(7) print(x)

?

轉載于:https://www.cnblogs.com/chen1930/p/6029386.html

總結

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

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