04_函數

第4課:函數

課程目標

  • 掌握函數的定義和調用方法
  • 學習參數傳遞和返回值的使用
  • 理解函數的作用域和命名空間

1. 函數的基本概念

函數是一段可重復使用的代碼塊,用于執行特定的任務。

2. 函數的定義和調用

# 定義函數
def greet():print("你好,世界!")# 調用函數
greet()# 帶參數的函數
def greet_person(name):print(f"你好,{name}!")greet_person("張三")# 帶返回值的函數
def add(a, b):return a + bresult = add(5, 3)
print(result)  # 8

3. 參數傳遞

# 位置參數
def describe_person(name, age, city):print(f"姓名:{name},年齡:{age},城市:{city}")describe_person("張三", 25, "北京")# 默認參數
def greet(name, greeting="你好"):print(f"{greeting}{name}!")greet("張三")
greet("李四", "早上好")# 可變參數
def sum_numbers(*args):return sum(args)print(sum_numbers(1, 2, 3, 4, 5))

4. 返回值

def calculate_area(length, width):return length * widtharea = calculate_area(5, 3)
print(f"面積:{area}")def get_grade(score):if score >= 90:return "優秀"elif score >= 80:return "良好"else:return "及格"grade = get_grade(85)
print(f"等級:{grade}")

5. 練習項目

項目:計算器函數庫

def add(a, b):return a + bdef subtract(a, b):return a - bdef multiply(a, b):return a * bdef divide(a, b):if b == 0:return "錯誤:除數不能為0"return a / bdef calculator():print("=== 簡單計算器 ===")while True:try:expression = input("請輸入計算表達式(如:5 + 3,輸入'q'退出):")if expression.lower() == 'q':breakparts = expression.split()if len(parts) != 3:print("格式錯誤!")continuea, operator, b = float(parts[0]), parts[1], float(parts[2])if operator == '+':result = add(a, b)elif operator == '-':result = subtract(a, b)elif operator == '*':result = multiply(a, b)elif operator == '/':result = divide(a, b)else:print("不支持的操作符!")continueprint(f"結果:{a} {operator} {b} = {result}")except ValueError:print("輸入錯誤!")if __name__ == "__main__":calculator()

6. 總結

本節課我們學習了:

  • 函數的定義和調用方法
  • 各種參數傳遞方式
  • 返回值的概念和使用
  • 編寫了計算器程序

7. 下節課預告

下節課我們將學習:

  • 面向對象編程基礎
  • 類和對象的概念
  • 繼承和多態

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

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

相關文章

STM32學習筆記19-FLASH

FLASH簡介STM32F1系列的FLASH包含程序存儲器、系統存儲器和選項字節三個部分,通過閃存存儲器接口(外設)可以對程序存儲器和選項字節進行擦除和編程,讀取指定寄存器直接使用指針讀即可讀寫FLASH的用途:利用程序存儲器的…

電蚊拍的原理及電壓電容參數深度解析:從高頻振蕩到倍壓整流的完整技術剖析

1. 引言在炎炎夏日,蚊蟲成為人們生活中的一大困擾。電蚊拍作為一種高效、環保的物理滅蚊工具,憑借其便攜性和實用性在全球范圍內得到了廣泛應用。然而,許多用戶對這種看似簡單的小家電背后的工作原理知之甚少。電蚊拍是一種新型的滅蚊小家電&…

Mac簡單測試硬盤讀寫速度

一、下載軟件 Blackmagic Disk Speed Test 「達芬奇 磁盤速度測試」二、選中測試位置可以隨便選個文件比如“下載”目錄三、開始測速

? 零 ? ? 安全體系構建內容結構

👍點「贊」📌收「藏」👀關「注」💬評「論」在金融科技深度融合的背景下,信息安全已從單純的技術攻防擴展至架構、合規、流程與創新的系統工程。作為一名從業十多年的老兵,系統闡述數字銀行安全體系的建設路…

XP系統安裝Android Studio 3.5.3并建立Java或Native C++工程,然后在安卓手機上運行

第一節 安裝Android Studio 3.5.3Android Studio 3.5.3下載地址:Android Studio 3.5.3 December 5, 2019 Windows (32-bit): android-studio-ide-191.6010548-windows32.zip (756.1 MB) https://redirector.gvt1.com/edgedl/android/studio/ide-zips/3.5.3.0/androi…

calchash.exe和chckhash.exe計算pe文件hash值的兩個實用小工具

第一部分: C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\NT5.CAT t部分內容B B D 0 2 2 2 1 A A 6 5 5 6 2 8 F 4 9 5 F 6 C D 3 0 3 9 0 8 B B E 0 0 F 9 5 9 5 第二部分: D:\>calchash.exe pidgen.dll BB D0 22 21 AA 65 …

lanczso算法中的額外正交化代碼解釋

額外正交化 定義:在Lanczos算法中,由于浮點誤差,生成的向量可能不完全正交,需要額外正交化步驟。代碼實現:def extra_orthogonalization(v, basis):for u in basis:v - u * (v.dot(u) / u.dot(u))

Rabbit 實戰指南-學習筆記

第 4 章 RabbitMQ 進階 mandatory 參數 Returning | RabbitMQ 當 mandatory 參數設為 true 時,交換器無法根據自身的類型和路由鍵找到一個符合條件的隊列,那么RabbitMQ 會調用 Basic.Return 命令將消息返回給生產者,通過調用channel.addReturnListener …

BEVDet4D

1. BEVDet4D算法動機及開創性思路 1)BEVDet算法概述輸入輸出:輸入為6視角圖像(NuScenes數據集),輸出為3D檢測結果核心模塊: 圖像編碼器:由Backbone網絡和多尺度特征融合網絡組成,處理…

當 AI 學會 “理解” 人類:自然語言處理的進化與倫理邊界

大家可以去我的資源看看,有很多關于AI的免費資源可以下載,不下載也可以看看,真的對你有用引言:從 “對話” 到 “理解”——AI 語言能力的時代躍遷現實錨點:以日常場景切入(如 ChatGPT 流暢回應復雜問題、A…

WPF控件隨窗體大寬度高度改變而改變

前臺控件中:Width"{Binding RelativeSource{RelativeSource AncestorTypeWindow}, PathWidth}"后臺代碼:定義在加載事件里面this.SizeChanged ProductData_SizeChanged;private void ProductData_SizeChanged(object sender, SizeChangedEven…

E10 通過RPC實現賬號批量鎖定與解鎖

需求背景:賬號信息由三方系統管理,包含賬號狀態,所以需要通過提供給三方的 Rest 接口中,實現賬號鎖定與解鎖。參考基線版本:10.0.2506.01,過低的版本可能無法使用。 鎖定分為兩種: (…

什么是AI寵物

什么是AI寵物AI寵物是由AI大腦驅動的生命體AI產品。它能主動產生情緒和意圖,并通過情緒和意圖去驅動自己的動作和行為。它根據自己的意愿和用戶互動,不受用戶控制。從一定意義上講,它擁有了人工生命和自由意志。它有自己的行為邏輯&#xff0…

簡單AI:搜狐公司旗下AI繪畫產品

本文轉載自:簡單AI:搜狐公司旗下AI繪畫產品 - Hello123工具導航 ** 一、平臺定位與技術特性 搜狐簡單 AI 是搜狐推出的多模態 AI 創作平臺,基于自研大模型提供文生圖、文生文等能力。它專注于零門檻內容生成,用戶無需專業技能即…

vue3 3d餅圖

完整3D餅圖項目下載 https://download.csdn.net/download/weixin_54645059/91716476 只有一個vue文件 直接下滑到完整代碼就闊以 本文介紹了如何使用ECharts和ECharts-GL插件實現3D餅圖效果,并提出了數值顯示未解決的問題。主要包含以下內容: 安裝所需…

全球電商業財一體化趨勢加速,巨益科技助力品牌出海精細化運營

行業背景:跨境電商進入品牌化發展新階段隨著國內電商市場競爭日趨激烈,跨境電商已成為中國品牌尋求增長突破的重要賽道,在TikTok、Temu等平臺出海浪潮推動下,越來越多的中國品牌開始布局全球市場。然而,從單一市場的鋪…

【序列晉升】13 Spring Cloud Bus微服務架構中的消息總線

Spring Cloud Bus作為微服務架構中的關鍵組件,通過消息代理實現分布式系統中各節點的事件廣播與狀態同步,解決了傳統微服務架構中配置刷新效率低下、系統級事件傳播復雜等問題。它本質上是一個輕量級的事件總線,將Spring Boot Actuator的端點…

[激光原理與應用-314]:光學設計 - 光學系統設計與電子電路設計的相似或相同點

光學系統設計與電子電路設計雖分屬不同工程領域,但在設計理念、方法論和工程實踐中存在諸多相似或相同點。這些共性源于兩者均需解決復雜系統的優化問題,并遵循工程設計的通用規律。以下是具體分析:一、設計流程的相似性需求分析與規格定義光…

Linux學習:信號的保存

目錄1. 進程的異常終止與core dump標志位1.1 進程終止的方式1.2 core方案的作用與使用方式2. 信號的保存2.1 信號的阻塞2.2 操作系統中的sigset_t信號集類型2.3 進程PCB中修改block表的系統調用接口2.4 信號阻塞的相關問題驗證1. 進程的異常終止與core dump標志位 1.1 進程終止…

數據分析編程第二步: 最簡單的數據分析嘗試

2.1 數據介紹有某公司的銷售數據表 sales.csv 如下:第一行是標題,解釋每一列存了什么東西。第二行開始每一行是一條數據,對應一個訂單。這種數據有個專業的術語,叫結構化數據。這是現代數據處理中最常見的數據類型。整個表格的數據統稱為一個…