Python 程序設計講義(54):Python 的函數——函數概述

Python 程序設計講義(54):Python 的函數——函數概述

目錄

  • Python 程序設計講義(54):Python 的函數——函數概述
    • 一、函數的類型
        • 1、內置函數
        • 2、自定義函數
    • 二、調用函數

Python 提供了函數機制,把實現某一功能的代碼定義為一個函數,然后再需要使用時,直接調用即可。

函數是一段具有特定功能的、可重用的語句塊。本質是一個實現特定功能的多行代碼。

一、函數的類型

前面使用過的輸出函數print()、輸入函數input()等,是Python 的內置函數,可以直接調用。

除了可以直接調用的內置函數外,Python 還支持用戶自定義函數,將一段能夠完成特定功能的代碼定義為函數。用戶自定義函數的函數名是由用戶自己定義的。

自定義函數可以實現一次編寫,多次調用執行代碼的目的,從而提高代碼的利用率。

1、內置函數

Python 中,有大量可以直接調用的內置函數,被集成在解釋器中。

常用的內置函數如下表所示:

內置函數名稱含義
abs(x)獲取x的絕對值。x可以為整數、浮點數。
all(x)x為組合數據類型。函數用來判斷組合類型數據中所有元素是否都為真。如果都為真,則返回True,否則,返回False
any(x)x為組合數據類型。函數用來判斷組合類型數據中任意一個元素是否為真。如果有一個為真,則返回True,否則,返回False
bin(x)將整數x轉換為對應的二進制字符。
bool(x)x轉換為布爾值TrueFalse
chr(x)返回Unicode編碼整數x對應的字符。x可以是十進制、八進制、二進制或十六進制整數。
dict()創建一個字典。
dir(object)返回object對象的屬性列表。
divmod(a,b)把除數和余數運算結果起來,返回一個包含商和余數的元組。
enumerate()將一個可遍歷的數據對象組合為一個索引序列,同時列出數據和數據下標。
eval(x)執行一個字符串表達式,并返回表達式的值。
fileter(func,iterable)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件的元素組成的新列表。
float(x)x轉換為浮點數。
hash(object)返回object對應的哈希值。
help(object)查看函數或模塊的詳細說明。
hex(x)返回整數x對應的十六進制字符串。
id(object)返回object對應的內存地址。
input()獲取用戶輸入信息,返回字符串類型。
int()將一個字符串或浮點型轉換成整數類型。
isinstance(object,classinfo)判斷object是否為一個已知的classinfo類型,如果是,則返回True,否則,返回False
issubclass(class,classinfo)判斷參數class是否為參數classinfo的子類,如果是,返回True,否則,返回False
iter()生成迭代器。
len(x)計算x的長度。x可以為字符、列表、元組等。
list()將一個可迭代對象轉換為列表。
map(func,iterable,...)根據提供的函數對指定序列做映射。
max()返回指定參數的最大值。
min()返回指定參數的最小值。
next()返回迭代器的下一個項目。
oct(x)將一個整數轉換成八進制字符串。
open()打開一個文件。
ord(x)返回一個字符對應的Unicode編碼。
pow(x,y)返回xy次方。
print()打印輸出。
range()創建一個整數列表。
round(x,d)x進行四舍五入。
set()創建集合數據。
sorted()對組合類型數據進行重新排序。
str(x)x轉換為字符串。
sum(x)對組合類型x計算求和結果。
tuple()將一個可迭代對象轉換為元組。
type(x)返回x的數據類型。
xrange()range()類似,不同的是生成的不是一個數組,而是一個生成器。
zip(iterable1,iterable2,...)將可迭代對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象。
2、自定義函數

Python中,使用保留字def定義函數。

定義自定義函數的語法格式如下:

def 函數名(參數列表):語句塊說明:
(1)函數名可以是任意有效的標識符。調用函數時使用。
(2)參數列表:定義函數的參數。參數可以有0-n個。
(3)語句塊:又稱為函數體。

例如:定義一個函數print_hello(),在屏幕上打印兩行字符。

代碼如下:

def print_hello():print("Hello World")print("Hello Python")

二、調用函數

調用函數是指使用函數完成特定的功能。調用函數是通過函數名實現的。

語法格式如下:

函數名(實參列表)

例如:調用上面定義的函數print_hello()

代碼如下:

def print_hello():print("Hello World")print("Hello Python")print_hello()程序的運行結果為:
Hello World
Hello Python

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917324.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917324.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917324.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習Python中Selenium模塊的基本用法(3:下載瀏覽器驅動續)

前一篇文章主要介紹下載針對火狐瀏覽器的WebDriver,寫那篇文章時才找到能夠下最新版本Chrome的WebDriver地址(參考文獻6),本文繼續學習并驗證針對Chrome瀏覽器的WebDriver下載和使用方法。Chrome的WebDriver版本與操作系統相關&am…

AIDL當Parcelable序列化的數據類通信時報“Class not found when unmarshalling“找不到該類時的解決方案

1. 報錯棧 :cusText這個類找不到 2 16:01:29.796 1044 5718 E Parcel : Class not found when unmarshalling: com.cus.sdk.cusText 08-02 16:01:29.796 1044 5718 E Parcel : java.lang.ClassNotFoundException: com.cus.sdk.cusText 08-02 16:01:29.796 1…

Django模型查詢與性能調優:告別N+1問題

文章目錄一、查詢基礎QuerySet 詳解一對多關聯查詢多對多關聯查詢二、N1查詢問題問題分析檢測方法解決方案三、高級查詢優化values()values_list()values()和values_list()對比Q() 對象復雜查詢查看生成的 SQL四、項目實戰場景實戰一、查詢基礎 QuerySet 詳解 Django 中通過模…

PyTorch 中 Tensor 統計學函數及相關概念

文章目錄PyTorch 中 Tensor 統計學函數及相關概念一、引言二、基礎統計學函數(一)torch.mean()——均值計算(二)torch.sum()——總和計算(三)torch.prod()——元素積計算(四)torch.m…

淺拷貝與深拷貝的區別

淺拷貝和深拷貝是兩種不同的對象復制方式,主要區別在于它們如何處理對象內部的引用類型字段。淺拷貝 (Shallow Copy)特點:只復制對象本身(基本類型字段)和對象中的引用(地址)不復制引用指向的實際對象原始對…

腳本統計MongoDB集合表數據量

腳本&#xff1a; #!/bin/bashipxxx.xx.xx.xx portxxxx dbxxxdb #user #passwmongo -host ${ip}:${port} <<EOF 2>/dev/null|grep -vE version|not match|session|compressors||Warning|delivers|upcoming|installation|https|switched|bye >collec use ${db}; sho…

圖漾AGV行業常用相機使用文檔

文章目錄1.圖漾相機設置IP1.1 前期準備2.FM851-E2相機2.1 FM851-E2適用場景2.2 FM851-E2 IO線和數據線定義2.2.1 IO接口定義2.2.2 數據接口線2.2.3 相機正面安裝方向2.2.4 相機IO指示燈2.3 FM851-E2/FM855-E2-7相機RGB顏色異常【解決措施1】&#xff1a;【解決措施2】&#xff…

電力系統分析學習筆記(二)- 標幺值計算與變壓器建模

電力系統分析學習筆記&#xff08;二&#xff09;- 標幺值計算與變壓器建模 1. 電力系統參數計算的基本原理 1.1 基本級的概念與選擇 基本級定義&#xff1a; 在多電壓等級的電力系統中&#xff0c;需要將所有參數歸算到同一個電壓等級這個統一的電壓等級稱為基本級 基本級選擇…

防火墻相關技術內容

防火墻的狀態檢測和會話技術一、防火墻的檢測機制早期包過濾防火墻采用逐包檢測機制&#xff0c;對每個報文獨立檢測其源地址、目的地址、端口等信息&#xff0c;根據預設規則決定轉發或丟棄。安全隱患&#xff1a;僅基于單包信息判斷&#xff0c;無法識別連接狀態。例如&#…

在 Mac 上用 Vagrant 安裝 K8s

文章目錄&#x1f4cb; 1. 環境準備1.1 系統要求1.2 軟件清單&#x1f680; 2. 安裝步驟2.1 安裝Parallels Desktop2.2 配置網絡代理&#xff08;可選&#xff09;2.3 安裝Homebrew2,4 準備項目目錄2.5 安裝Vagrant及插件2.6 配置Python環境2.6.1 安裝Python管理工具2.6.2 配置…

【AI學習】RadioDiff:代碼學習

之前學習了RadioDiff這篇論文&#xff0c;最近在復刻相關代碼。 這段代碼實現了一個基于潛在擴散模型&#xff08;Latent Diffusion Model, LDM&#xff09;的訓練框架。借助DeepSeek總體學習一下&#xff1a; 1. 整體結構 代碼主要分為以下幾個部分&#xff1a; 參數解析和…

【專題十七】多源 BFS

&#x1f4dd;前言說明&#xff1a; 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄&#xff0c;按專題劃分每題主要記錄&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代碼&#xff1b;&#xff08;2&#xff09;優質解法 優質代碼&#xff1b;&#xff…

京東零售在智能供應鏈領域的前沿探索與技術實踐

近日&#xff0c;“智匯運河 智算未來”2025人工智能創新創業大會在杭州召開。香港工程科學院院士、香港大學副校長、研究生院院長、講座教授、京東零售供應鏈首席科學家申作軍教授與供應鏈算法團隊技術總監戚永志博士受邀出席并擔任《AI智慧物流與供應鏈分享會》聯席主席&…

MyBatisPlus之CRUD接口(IService與BaseMapper)

MyBatisPlus之CRUD接口—IService與BaseMapper一、BaseMapper與IService的關系二、BaseMapper核心方法詳解2.1 新增操作&#xff08;Insert&#xff09;2.2 查詢操作&#xff08;Select&#xff09;2.3 更新操作&#xff08;Update&#xff09;2.4 刪除操作&#xff08;Delete&…

axios請求的取消

axios請求的取消解決&#xff1a;axios請求的取消解決&#xff1a;axios請求的取消 在使用 Axios 發起請求時&#xff0c;有時候你可能需要取消這些請求&#xff0c;比如當組件銷毀時或者用戶操作導致不再需要獲取之前發起的請求結果。Axios 支持通過 Cancel Token 取消請求。 …

深入理解C++中的Lazy Evaluation:延遲計算的藝術

在編程世界里&#xff0c;“最好的運算就是從未執行的運算” —— 這句話深刻揭示了性能優化的核心思路。如果一個計算過程最終不會被使用&#xff0c;那么提前執行它就是純粹的資源浪費。這種思想衍生出了 Lazy Evaluation&#xff08;緩式評估&#xff09; 技術&#xff1a;延…

php完整處理word中表單數據的方法

使用php基礎方式實現word中表單處理<?php/*** zipFile 類用于處理 .docx 文件的解壓、修改和重新打包*/ class zipFile {/** var ZipArchive ZIP 文件對象 */private $zipFile;/** var string 臨時目錄路徑 */private $tempDir;/** var string 嵌入的 Excel 文件臨時目錄路…

Node.js 操作 MongoDB

目錄 Node.js 操作 MongoDB 一、什么是 MongoDB&#xff1f; 二、MongoDB 的功能概覽 三、MongoDB 的安裝與啟動 安裝 MongoDB&#xff08;以本地安裝為例&#xff09; 啟動 MongoDB 四、Node.js 如何連接 MongoDB&#xff1f; 使用 Mongoose ODM 工具 建立連接 五、…

先學Python還是c++?

選擇先學Python還是C&#xff0c;取決于你的學習目標、應用場景和職業規劃。以下是兩者的對比分析和建議&#xff0c;幫助你做出更適合自己的選擇&#xff1a;一、核心差異對比維度PythonC學習曲線簡單易上手&#xff08;語法接近自然語言&#xff09;復雜&#xff08;需理解指…

Trae + Notion MCP:將你的Notion數據庫升級為智能對話機器人

前言 Notion作為一款功能強大的信息管理工具&#xff0c;被廣泛用于項目跟蹤、知識庫構建和數據整理。然而&#xff0c;隨著數據量的增長&#xff0c;我們常常會發現自己陷入了重復和繁瑣的操作中。比如&#xff0c;為了找到符合特定條件的幾條數據&#xff0c;需要在龐大的數…