【python入門篇】函數(6)

? ? ? 這一節將詳細介紹Python中函數的用法,包括函數的定義、調用、參數、返回值、作用域等。

函數的概述:

? ? ? Python函數是一種封裝了特定任務的可重用代碼塊。通過將程序分解為更小、更具體的任務,函數提供了一種有效的方式來組織和管理代碼,具有很大的靈活性和定制性,可以接受任意數量的參數,并可以有默認值。通過使用函數可以提高代碼的可讀性、可維護性和可測試性,同時還提供了代碼重用的能力。

一、環境配置

我這邊python的環境是3.7.8版本的,官方下載路徑如下:

1.python 3.7.8??

可直接進入官網下載安裝:Download Python | Python.org

2.編譯器選擇的是spyder,可以通過pip接口進行安裝:

 
pip install wheelpip install PyQt5pip install spyder

二、函數的定義及調用

1.在Python中,我們可以使用關鍵字“def”來定義一個函數,通過函數名和參數列表來唯一標識一個函數:

語法:

def 函數名(參數):函數體

實例1:

def hello():print('hello python!')print('hello friend!')

上面實例的括號內沒有添加參數,是可以的,不過在大型的項目中都會用包含一些參數。

想要調用函數,只需使用函數名和相應的參數調用即可,我們來嘗試下調用上述函數實例:

通過hello()直接運行該函數,輸出如下

實例2:

def sum(a,b):print(a+b)

上面的實例括號內有a、b兩個參數,我們嘗試傳參調用函數輸出。

使用sum(3,4),傳入參數運行如下

三、函數的返回值

函數的返回值是函數執行完成后,系統根據函數的具體定義返回給外部調用者的值,在Python語言中,當函數運行到return語句時即執行完畢,同時將結果返回。因此,可以在函數內部通過條件判斷和循環設置實現較復雜的邏輯,并返回預期的結果。如果沒有return語句,函數體內所有語句執行完畢后默認返回None。

實例:

def sum(a,b):print(a+b)return a+b

輸出:

如上所述,傳入參數后,(return a+b)返回a+b的值。

四、內置函數

Python語言中自帶的函數叫做內建函數,這些內建函數對大部分常用操作進行有效封裝,可以直接調用,為開發提供了極大便利。由于內建函數是Python語言內置的函數,因此不需要導入任何函數庫即可直接調用,常用的內建函數如圖所示:

我們通過實例來看一下:

1.abs():返回一個數的絕對值

abs(100)abs(-100)abs('100')

輸出:

如上所述,我們通過給abs()傳入參數,返回這個數的絕對值,要注意abs() 必傳且只能傳入一個參數,這個參數必須是一個數字。

2.max():取傳入的多個參數中的最大值

max(1,2,3,4,5)max('123456')max([12,56,98,102])

輸出:

在后面的項目中會用到很多內置函數,內建函數功能強大,理解并熟練掌握能較大提升開發效率。

五、匿名函數

所謂匿名函數,即不再使用def語句這樣標準形式定義的函數。Python語言經常使用lambda來創建匿名函數。lambda 只是一個表達式,函數體比def定義的函數體要簡捷。lambda函數的語法如下所示:

語法:

lambda [arg1[,arg2],....argn]]:expression

實例:

print((lambda x, y, z: x + y + z)(1, 2, 3))

輸出:

六、總結

本節知識就到這里啦,大家多動手去試一試吧,謝謝!

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

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

相關文章

保姆級連接FusionInsight MRS kerberos Hive

數新網絡,讓每個人享受數據的價值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文將介紹在華為云 FusionInsight MRS(Managed Relational Service)的Kerberos環境中,如何使用Java和DBeaver實現遠…

threejs創建一個旋轉的正方體【完整代碼】

效果: 中文網three.js docs 1.搭建環境 安裝three 首先我們需要新建一個項目 vue/react都可 這里以vue為演示 npm i three 找到一個新的頁面 在頁面script的地方導入three import * as THREE from "three" 或者自己逐個導入 import {PerspectiveC…

京東采銷面對面,洞悉行業新趨勢 京東3C數碼生態大會在武漢圓滿舉行

為促進湖北省3C數碼產業發展,本地企業降本增效、促進行業交流、充分發揮京東集團全鏈路生態服務能力,支持地方3C特色產業提質增量。2023年11月23日,由京東零售、京東物流主辦,湖北省電子商務行業協會聯合協辦的“聚力共贏、攜手共…

【Kotlin精簡】第9章 Kotlin Flow

1 前言 上一章節我們學習了Kotlin的協程【Kotlin精簡】第8章 協程,我們知道 協程實質是對線程切換的封裝,能更加安全實現異步代碼同步化,本質上協程、線程都是服務于并發場景下,其中協程是協作式任務,線程是搶占式任務…

保姆級 ARM64 CPU架構下安裝部署Docker + rancher + K8S 說明文檔

1 K8S 簡介 K8S是Kubernetes的簡稱,是一個開源的容器編排平臺,用于自動部署、擴展和管理“容器化(containerized)應用程序”的系統。它可以跨多個主機聚集在一起,控制和自動化應用的部署與更新。 K8S 架構 Kubernete…

從Redis反序列化UserDetails對象異常后中發現FastJson序列化的一些問題

最近在使用SpringSecurityJWT實現認證授權的時候,出現Redis在反序列化userDetails的異常。通過實踐發現,使用不同的序列化方法和不同的fastJson版本,異常信息各不相同。所以特地記錄了下來。 一、項目代碼 先來看看我項目中redis相關配置信息…

視頻號小店常見問題分享,讓你少走彎路,少花冤枉錢!

我是電商珠珠 視頻號團隊自22年7月,就開始發展起了自己的電商平臺-視頻號小店。 關于視頻號小店有很多人可能還不太了解,尤其是對于新手來說,并不知道是干什么的。 我踏足電商這個領域也已經五六年了,視頻號小店也做了一年多了…

SpringBoot集成MapStruct

引入mapstruct依賴 <dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId><version>${org.mapstruct.version}</version> </dependency>配置maven-compiler-plugin <build><plugins>&…

VMware Workstation 17 虛擬機自啟動失效 解決腳本

VMware Workstation17新增加了虛擬機自啟配置 但是很奇怪在我的一臺計算機上能夠自啟&#xff0c;在另一臺計算機上就失效 編寫腳本 以命令方式完成虛擬機開機自啟 #虛擬機自啟.batif "%1""hide" goto CmdBegin start mshta vbscript:createobject("w…

緩存組件狀態,提升用戶體驗:探索 keep-alive 的神奇世界

&#x1f90d; 前端開發工程師&#xff08;主業&#xff09;、技術博主&#xff08;副業&#xff09;、已過CET6 &#x1f368; 阿珊和她的貓_CSDN個人主頁 &#x1f560; 牛客高級專題作者、在牛客打造高質量專欄《前端面試必備》 &#x1f35a; 藍橋云課簽約作者、已在藍橋云…

Day31| Leetcode 455. 分發餅干 Leetcode 376. 擺動序列 Leetcode 53. 最大子數組和

進入貪心了&#xff0c;我覺得本專題是最燒腦的專題 Leetcode 455. 分發餅干 題目鏈接 455 分發餅干 讓大的餅干去滿足需求量大的孩子即是本題的思路&#xff1a; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {…

仿ChatGPT對話前端頁面(內含源碼)

仿ChatGPT對話前端頁面&#xff08;內含源碼&#xff09; 前言布局樣式和Js部分關鍵點全部源碼 前言 本文主要講解如何做出類似ChatGPT的前端頁面。具體我們的效果圖是長這樣&#xff0c;其中除了時間是動態的之外&#xff0c;其他都是假數據。接下來讓我們從布局和樣式的角度…

Android Tombstone 與Debuggerd 原理淺談

一、前言 Android系統類問題主要有stability、performance、power、security。Android集成一個守護進程tombstoned是android平臺的一個守護進程&#xff0c;它注冊成3個socket服務端&#xff0c;客戶端封裝在crash_dump和debuggerd_client。 crash_dump用于跟蹤定位C crash&am…

前端入門(三)Vue生命周期、組件技術、事件總線、

文章目錄 Vue生命周期Vue 組件化編程 - .vue文件非單文件組件組件的注意點組件嵌套Vue實例對象和VueComponent實例對象Js對象原型與原型鏈Vue與VueComponent的重要內置關系 應用單文件組件構建 Vue腳手架 - vue.cli項目文件結構refpropsmixin插件scoped樣式 Vue生命周期 1、bef…

MBA-論證有效性分析

論證有效性分析∶分析下述論證中存在的缺陷和漏洞&#xff0c;選擇若干要點&#xff0c;寫一篇 600 字左石的文章.對該論證的有效性進行分析和評論。&#xff08;論證有效性分析的一般要點是∶概念特別是核心概念的界定和使用是否準確并前后一致&#xff0c;有無各種明顯的邏輯…

cineSync 3.3新功能: 深入iconik集成、激光工具、OTIOZ支持等

cineSync 3.3為大家帶來了靈活性和精準度&#xff0c;使連接審閱會話與iconik中的媒體管理和存儲更加容易&#xff0c;并且引入了顏色配置文件以快速測試顏色配置&#xff0c;還有通過激光指針等新工具帶來新的可能性。 在ftrack&#xff0c;我們意識到當今的遠程創意工作流比以…

vue3 導出數據為 excel 文件

文章目錄 安裝插件封裝組件 -- Export2Excel.js多表封裝界面使用 -- 數據處理成二維數組更多 菜鳥最近做了一個需求&#xff0c;就是需要上傳表單并識別&#xff0c;然后識別出來的內容要可以修改&#xff0c;然后想的就是識別內容變成 form 表單&#xff0c;所以并沒有使用 Sp…

反爬蟲機制與反爬蟲技術(二)

反爬蟲機制與反爬蟲技術二 1、動態頁面處理與驗證碼識別概述2、反爬蟲案例:頁面登錄與滑塊驗證碼處理2.1、用例簡介2.2、庫(模塊)簡介2.3、網頁分析2.4、Selenium準備操作2.5、頁面登錄2.6、模糊移動滑塊測試3、滑塊驗證碼處理:精確移動滑塊3.1、精確移動滑塊的原理3.2、滑…

【模塊補充】importlib

importlib 【一】介紹 importlib 模塊是 Python 中用于動態加載和導入模塊的內置模塊。它提供了一組函數和類&#xff0c;使得我們可以在運行時根據需要加載模塊&#xff0c;并且可以對已導入的模塊進行操作和管理。 【二】詳解及示例&#xff1a; 【1】動態加載模塊&#…

PyQt6簡介

鋒哥原創的PyQt6視頻教程&#xff1a; 2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~共計12條視頻&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面開發 視頻教程(無廢話版…