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

歡迎訪問 生活随笔!

生活随笔

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

python

Python基础——PyCharm版本——第六章、函数function

發布時間:2024/8/26 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础——PyCharm版本——第六章、函数function 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🤵🤗Python_Base:chapter vi🤗🤵

目錄

函數function

抽象

調用函數

數據類型轉換

定義函數

返回多個值


函數function

我們知道圓的面積計算公式為:

S = πr2

當我們知道半徑r的值時,就可以根據公式計算出面積。假設我們需要計算3個不同大小的圓的面積:

r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3

當代碼出現有規律的重復的時候,你就需要當心了,每次寫3.14 * x * x不僅很麻煩,而且,如果要把3.14改成3.14159265359的時候,得全部替換。

有了函數,我們就不再每次寫s = 3.14 * x * x,而是寫成更有意義的函數調用s = area_of_circle(x),而函數area_of_circle本身只需要寫一次,就可以多次調用。

基本上所有的高級語言都支持函數,Python也不例外。Python不但能非常靈活地定義函數,而且本身內置了很多有用的函數,可以直接調用。

抽象

抽象是數學中非常常見的概念。舉個例子:

計算數列的和,比如:1 + 2 + 3 + ... + 100,寫起來十分不方便,于是數學家發明了求和符號∑,可以把1 + 2 + 3 + ... + 100記作:

100

∑n

n=1

這種抽象記法非常強大,因為我們看到 ∑ 就可以理解成求和,而不是還原成低級的加法運算。

而且,這種抽象記法是可擴展的,比如:

100

∑(n2+1)

n=1

還原成加法運算就變成了:

(1 x 1 + 1) + (2 x 2 + 1) + (3 x 3 + 1) + ... + (100 x 100 + 1)

可見,借助抽象,我們才能不關心底層的具體計算過程,而直接在更高的層次上思考問題。

寫計算機程序也是一樣,函數就是最基本的一種代碼抽象的方式。

調用函數

Python內置了很多有用的函數,我們可以直接調用。

要調用一個函數,需要知道函數的名稱和參數,比如求絕對值的函數abs,只有一個參數。可以直接從Python的官方網站查看文檔,我也準備了一個文檔,可以直接觀看的。

也可以在交互式命令行通過help(abs)查看abs函數的幫助信息。

https://download.csdn.net/download/feng8403000/85039917

調用函數的時候,如果傳入的參數數量不對,會報TypeError的錯誤,并且Python會明確地告訴你:abs()有且僅有1個參數,但給出了兩個:

而max函數max()可以接收任意多個參數,并返回最大的那個:

?

數據類型轉換

Python內置的常用函數還包括數據類型轉換函數,比如int()函數可以把其他數據類型轉換為整數:

定義函數

在Python中,定義一個函數要使用def語句,依次寫出函數名、括號、括號中的參數和冒號:,然后,在縮進塊中編寫函數體,函數的返回值用return語句返回。

我們以自定義一個求絕對值的my_abs函數為例:

def my_abs(x):if x >= 0:return xelse:return -x print(my_abs(-66))

空函數

如果想定義一個什么事也不做的空函數,可以用pass語句:

def nop():pass

pass語句什么都不做,那有什么用?實際上pass可以用來作為占位符,比如現在還沒想好怎么寫函數的代碼,就可以先放一個pass,讓代碼能運行起來。

if age >= 18:pass

?缺少了pass,代碼運行就會有語法錯誤。

返回多個值

函數可以返回多個值嗎?答案是肯定的。

比如在游戲中經常需要從一個點移動到另一個點,給出坐標、位移和角度,就可以計算出新的坐標:

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

?但其實這只是一種假象,Python函數返回的仍然是單一值:

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

?

原來返回值是一個tuple!但是,在語法上,返回一個tuple可以省略括號,而多個變量可以同時接收一個tuple,按位置賦給對應的值,所以,Python的函數返回多值其實就是返回一個tuple,但寫起來更方便。

總結

以上是生活随笔為你收集整理的Python基础——PyCharm版本——第六章、函数function的全部內容,希望文章能夠幫你解決所遇到的問題。

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