EP04:【Python 第一彈】函數編程

一、定義

??函數指將一組語句的集合通過一個變量名封裝起來,調用這個函數變量名,就可以執行函數。

二、特點

  • 減少重復邏輯代碼的編寫
  • 將程序中的邏輯可以進行擴展
  • 維護項目程序的代碼更簡單

三、創建

def 函數名():邏輯代碼1邏輯代碼2return 結果
函數名()

代碼實操——求和函數

def sum(a, b):res = a + breturn res
print(sum(1, 2))
print(sum(3, 4))
  • 運行結果:
3
7

四、參數

4.1 形參

4.1.1 定義

  • 在函數定義時聲明的參數,用于接收調用時傳遞的值
  • 形參是函數內部的變量名,描述了函數需要的輸入類型和數量

4.1.2 代碼實操——求積函數

def oblong_area(l, w):area = l * wreturn areaprint(oblong_area(10, 20))

lw是形參

  • 運行結果:
200

4.2 實參

4.2.1 定義

函數調用時傳遞給形參的實際值,可以是常量、變量、表達式或其他函數的返回值。

4.2.2 代碼實操——求長方形的面積

def oblong_area(l, w):area = l * wreturn areawidth = 5
length = 10
print(oblong_area(width, length))
print(oblong_area(3 + 2, length))

widthlength3 + 2是實參

  • 運行結果:
50
50

4.3 默認參數

4.3.1 定義

在函數定義時為參數指定默認值,調用時可以省略該參數。

4.3.2 規則

默認參數必須放在普通參數之后。

4.3.3 特點

默認參數使函數調用更加靈活,可以減少重復傳值。

4.3.4 代碼實操——求積函數(2)

def oblong_area(w, l=10):area = l * wreturn areaprint(oblong_area(20))
print(oblong_area(20, 5))

l=10是默認參數

  • 運行結果:
200
100

4.4 關鍵參數

4.4.1 定義

通過參數名指定傳遞的值,允許不按形參順序傳參。

4.4.2 規則

關鍵參數必須放在位置參數(按順序傳遞的參數)之后。

4.4.3 特點

關鍵參數提高了代碼可讀性,尤其適用于參數較多的函數。

4.4.4 代碼實操——計算長方體的體積

def cuboid_volume(w, h, l=10):volume = l * w * hreturn volumeprint(cuboid_volume(10, h=3, l=20))
print(cuboid_volume(h=3, w=10, l=20))
print(cuboid_volume(l=20, 10, 3))

h=3l=20w=10是關鍵參數

  • 運行結果:
  File "D:\Desktop\Python-learning\【Python 第一彈】\EP04:【Python 第一彈】函數編程\函數編程\02_參數.py", line 37print(cuboid_volume(l=20, 10, 3))^
SyntaxError: positional argument follows keyword argument
600
600

4.5 可變參數

4.5.1 *args——接收任意數量的位置參數

  1. 定義:收集所有未匹配的位置參數,組成一個元組。
  2. 特點:通常用于處理不確定數量的額外參數。
代碼實操——學生信息
def get_info(name, age, *args):print(f"姓名: {name}, 年齡: {age}, 其他信息: {args}")get_info('老王', 48, '洗腳', '按摩')
get_info('老李', 30)
  • 運行結果:
姓名: 老王, 年齡: 48, 其他信息: ('洗腳', '按摩')
姓名: 老李, 年齡: 30, 其他信息: ()

4.5.2 **kwargs——接收任意數量的關鍵字參數

  1. 定義:收集所有未匹配的關鍵字參數,組成一個字典。
  2. 特點:通常用于處理不確定數量的鍵值對參數。
代碼實操——學生信息(2)
def get_info(name, age, **kwargs):print(f"姓名: {name}, 年齡: {age}, 愛好: {kwargs}")get_info('老王', 48, hobby1='洗腳', hobby2='按摩')
get_info('老李', 30, job='工程師', city='北京')
  • 運行結果:
姓名: 老王, 年齡: 48, 愛好: {'hobby1': '洗腳', 'hobby2': '按摩'}
姓名: 老李, 年齡: 30, 愛好: {'job': '工程師', 'city': '北京'}

4.6 代碼實操——混合使用

def func(a, b, *args, c=10, **kwargs):print(f"a: {a}, b: {b}, args: {args}, c: {c}, kwargs: {kwargs}")func(1, 2, 3, 4, c=20, d=5, e=6)

規則:普通參數 → *args → 默認參數 → **kwargs

  • 運行結果:
a: 1, b: 2, args: (3, 4), c: 20, kwargs: {'d': 5, 'e': 6}

五、變量

5.1 全局變量

5.1.1 定義

在函數外部定義的變量,作用域覆蓋整個程序(除函數內部的同名局部變量作用域外),在程序運行期間始終存在。

5.1.2 特點

  • 可以被程序中的任何函數、代碼塊訪問(除非被局部變量遮蔽)
  • 函數內部操作全局變量:
    • 僅訪問全局變量:無需聲明,直接使用即可
    • 修改全局變量:必須用global關鍵字聲明,否則 Python 會將其視為局部變量

5.1.3 代碼實操

global_var = "全局的變量"def print_global_var():print(global_var)print_global_var()
print(global_var)
  • 運行結果:
全局的變量
全局的變量

5.2 局部變量

5.2.1 定義

在函數內部定義的變量,作用域僅限于該函數內部,函數調用時創建,函數執行結束后自動銷毀。

5.2.2 特點

  • 僅在定義它的函數內部有效,外部無法直接訪問
  • 如果函數內部的局部變量與全局變量同名,函數會優先使用局部變量(局部變量遮蔽全局變量)

5.2.3 代碼實操

def print_local_var():local_var = '局部變量'print(local_var)print_local_var()
print(local_var)
  • 運行結果:
局部變量
Traceback (most recent call last):File "D:\Desktop\Python-learning\【Python 第一彈】\EP04:【Python 第一彈】函數編程\函數編程\03_變量.py", line 16, in <module>print(local_var)^^^^^^^^^
NameError: name 'local_var' is not defined. Did you mean: 'global_var'?

六、內置函數

Built-in Functions

6.1 數學運算類

6.1.1 abs(x)

  1. 功能:返回數字的絕對值。
  2. 示例:
print(abs(-5))       # 輸出: 5
print(abs(3.14))     # 輸出: 3.14
print(abs(-3+4j))    # 輸出: 5.0(復數的模)

6.1.2 divmod(a, b)

  1. 功能:返回 (a // b, a % b) 的元組(商和余數)。
  2. 示例:
print(divmod(10, 3))  # 輸出: (3, 1)
print(divmod(5, 2.5)) # 輸出: (2.0, 0.0)

6.1.3 pow(x, y[, z])

  1. 功能:返回 x**y,若提供z則計算(x**y) % z(更高效)
  2. 示例:
print(pow(2, 3))      # 輸出: 8(23)
print(pow(2, 3, 5))   # 輸出: 3(8 % 5)

6.1.4 round(number[, ndigits])

  1. 功能:對浮點數四舍五入,ndigits指定保留小數位數(默認為0)。
  2. 示例:
print(round(3.14159))     # 輸出: 3
print(round(3.14159, 2))  # 輸出: 3.14
print(round(2.5))         # 輸出: 2(銀行家舍入:取最接近的偶數)

6.2 類型轉換類

6.2.1 int(x[, base])

  1. 功能:將數值或字符串轉換為整數,base指定進制(默認為10)。
  2. 示例:
print(int(3.9))          # 輸出: 3(直接截斷小數部分)
print(int('101', 2))     # 輸出: 5(二進制轉十進制)
print(int('FF', 16))     # 輸出: 255(十六進制轉十進制)

6.2.2 float(x)

  1. 功能:將數值或字符串轉換為浮點數。
  2. 示例:
print(float(5))          # 輸出: 5.0
print(float('3.14'))     # 輸出: 3.14

6.2.3 str(object='')

  1. 功能:將對象轉換為字符串。
  2. 示例:
print(str(123))          # 輸出: '123'
print(str([1, 2, 3]))    # 輸出: '[1, 2, 3]'

6.2.4 bool(x)

  1. 功能:將對象轉換為布爾值(遵循Python的真值測試規則)。
  2. 示例:
print(bool(0))           # 輸出: False
print(bool(''))          # 輸出: False
print(bool([]))          # 輸出: False
print(bool(None))        # 輸出: False
print(bool(42))          # 輸出: True

6.2.5 list([iterable])

  1. 功能:將可迭代對象轉換為列表。
  2. 示例:
print(list('abc'))       # 輸出: ['a', 'b', 'c']
print(list((1, 2, 3)))   # 輸出: [1, 2, 3]

6.2.6 tuple([iterable])

  1. 功能:將可迭代對象轉換為元組。
  2. 示例:
print(tuple([1, 2, 3]))  # 輸出: (1, 2, 3)
print(tuple('xyz'))      # 輸出: ('x', 'y', 'z')

6.2.7 dict(**kwarg) / dict(mapping, **kwarg) / dict(iterable, **kwarg)

  1. 功能:創建字典。
  2. 示例:
print(dict(a=1, b=2))    # 輸出: {'a': 1, 'b': 2}
print(dict([('x', 1), ('y', 2)]))  # 輸出: {'x': 1, 'y': 2}

6.3 序列操作類

6.3.1 len(s)

  1. 功能:返回對象的長度(元素個數)。
  2. 示例:
print(len('hello'))      # 輸出: 5
print(len([1, 2, 3, 4])) # 輸出: 4

6.3.2 max(iterable[, key]) / max(arg1, arg2, *args[, key])

  1. 功能:返回可迭代對象中的最大值,或多個參數中的最大值。key為可選的比較函數。
  2. 示例:
print(max([3, 1, 4]))    # 輸出: 4
print(max(5, 2, 9))      # 輸出: 9
# 按字符串長度比較
print(max(['apple', 'banana', 'cherry'], key=len))  # 輸出: 'banana'

6.3.3 min(iterable[, key]) / min(arg1, arg2, *args[, key])

  1. 功能:返回最小值(用法同max)。
  2. 示例:
print(min([3, 1, 4]))    # 輸出: 1
print(min('apple', 'banana', 'cherry', key=lambda x: x[1]))  # 輸出: 'apple'(比較第二個字符)

6.3.4 sum(iterable[, start])

  1. 功能:返回可迭代對象中所有元素的和,start為初始值(默認為0)。
  2. 示例:
print(sum([1, 2, 3]))    # 輸出: 6
print(sum([1, 2, 3], 10)) # 輸出: 16(10+1+2+3)

6.3.5 sorted(iterable[, key][, reverse])

  1. 功能:返回一個新的已排序列表,原對象不變。
  2. 示例:
print(sorted([3, 1, 4]))    # 輸出: [1, 3, 4]
print(sorted('hello', reverse=True))  # 輸出: ['o', 'l', 'l', 'e', 'h']
# 按絕對值排序
print(sorted([-3, 1, -2], key=abs))   # 輸出: [1, -2, -3]

6.3.6 reversed(seq)

  1. 功能:返回一個反向迭代器。
  2. 示例:
print(list(reversed([1, 2, 3])))  # 輸出: [3, 2, 1]
print(''.join(reversed('hello'))) # 輸出: 'olleh'

6.4 類型檢查類

6.4.1 type(object)

  1. 功能:返回對象的類型。
  2. 示例:
print(type(42))          # 輸出: <class 'int'>
print(type([1, 2]))      # 輸出: <class 'list'>

6.4.2 isinstance(object, classinfo)

  1. 功能:判斷對象是否是某個類或子類的實例。
  2. 示例:
print(isinstance(5, int))        # 輸出: True
print(isinstance([], (list, tuple)))  # 輸出: True(判斷是否屬于元組中任意一個類型)

6.4.3 issubclass(class, classinfo)

  1. 功能:判斷類是否是另一個類或子類的子類。
  2. 示例:
class A: pass
class B(A): passprint(issubclass(B, A))  # 輸出: True
print(issubclass(int, object))  # 輸出: True(所有類都繼承自object)

6.5 輸入輸出類

6.5.1 print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  1. 功能:將對象打印到標準輸出。
  2. 示例:
print('Hello', 'World', sep='-')  # 輸出: Hello-World
print('Data', end='; ')           # 輸出: Data; (不換行)

6.5.2 input([prompt])

  1. 功能:從標準輸入讀取一行文本(返回字符串)。
  2. 示例:
name = input("請輸入你的名字:")
print(f"你好,{name}!")

6.6 文件操作類

6.6.1 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  1. 功能:打開文件并返回文件對象。
  2. 示例:
# 寫入文件
with open('test.txt', 'w', encoding='utf-8') as f:f.write('Hello\nWorld')# 讀取文件
with open('test.txt', 'r', encoding='utf-8') as f:content = f.read()print(content)

6.7 迭代器與生成器類

6.7.1 range(start, stop[, step])

  1. 功能:返回一個不可變的整數序列(常用于循環)。
  2. 示例:
print(list(range(5)))       # 輸出: [0, 1, 2, 3, 4]
print(list(range(1, 10, 2))) # 輸出: [1, 3, 5, 7, 9]

6.7.2 enumerate(iterable, start=0)

  1. 功能:返回一個枚舉對象(包含索引和值的元組)。
  2. 示例:
for i, char in enumerate('abc'):print(f"索引 {i}: {char}")
# 輸出:
# 索引 0: a
# 索引 1: b
# 索引 2: c

6.7.3 zip(*iterables)

  1. 功能:將多個可迭代對象的元素打包成元組。
  2. 示例:
names = ['Alice', 'Bob']
ages = [25, 30]
print(list(zip(names, ages)))  # 輸出: [('Alice', 25), ('Bob', 30)]# 解壓
zipped = zip(names, ages)
n, a = zip(*zipped)
print(n)  # 輸出: ('Alice', 'Bob')

6.8 高階函數類

6.8.1 map(function, iterable, *iterables)

  1. 功能:對可迭代對象的每個元素應用函數,返回迭代器。
  2. 示例:
nums = [1, 2, 3]
squared = map(lambda x: x**2, nums)
print(list(squared))  # 輸出: [1, 4, 9]# 多個可迭代對象
a = [1, 2, 3]
b = [4, 5, 6]
sums = map(lambda x, y: x + y, a, b)
print(list(sums))  # 輸出: [5, 7, 9]

6.8.2 filter(function, iterable)

  1. 功能:過濾可迭代對象中的元素,返回符合條件的元素迭代器。
  2. 示例:
nums = [1, 2, 3, 4, 5]
even = filter(lambda x: x % 2 == 0, nums)
print(list(even))  # 輸出: [2, 4]

6.8.3 reduce(function, iterable[, initializer])

  1. 功能:對可迭代對象的元素進行累積計算(需從functools導入)。
  2. 示例:
from functools import reduce
nums = [1, 2, 3, 4]
product = reduce(lambda x, y: x * y, nums)
print(product)  # 輸出: 24(1×2×3×4)

6.9 其他常用函數

6.9.1 help([object])

  1. 功能:查看對象的幫助文檔(交互式環境中常用)。
  2. 示例:
help(len)  # 查看len函數的幫助信息

6.9.2 id(object)

  1. 功能:返回對象的唯一標識符(內存地址)。
  2. 示例:
x = [1, 2, 3]
print(id(x))  # 輸出: 140123456789012(具體值因環境而異)

6.9.3 dir([object])

  1. 功能:返回對象的所有屬性和方法名(默認返回當前作用域的所有名稱)。
  2. 示例:
print(dir(list))  # 列出列表類的所有屬性和方法

6.9.4 globals()

  1. 功能:返回當前全局符號表的字典。
  2. 示例:
x = 42
print(globals()['x'])  # 輸出: 42

6.9.5 locals()

  1. 功能:返回當前局部符號表的字典。
  2. 示例:
def test():y = 99print(locals())  # 輸出: {'y': 99}test()

6.10 不常用但有用的函數

6.10.1 eval(expression[, globals[, locals]])

  1. 功能:執行字符串表達式并返回結果。
  2. 示例:
result = eval('2 + 3 * 4')
print(result)  # 輸出: 14

6.10.2 exec(object[, globals[, locals]])

  1. 功能:執行Python代碼(如字符串或代碼對象)。
  2. 示例:
code = """
for i in range(3):print(i)
"""
exec(code)  # 輸出: 0 1 2

6.10.3 ord(c)

  1. 功能:返回單個字符的Unicode碼點。
  2. 示例:
print(ord('A'))  # 輸出: 65
print(ord('中'))  # 輸出: 20013

6.10.4 chr(i)

  1. 功能:返回Unicode碼點對應的字符。
  2. 示例:
print(chr(65))   # 輸出: 'A'
print(chr(20013)) # 輸出: '中'

微語錄:人是為了救贖自己而活著的。

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

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

相關文章

linux安裝Mysql后添加mysql的用戶和密碼

在 MySQL 中創建用戶并設置密碼的完整指南如下&#xff1a; 方法 1&#xff1a;使用 CREATE USER 語句&#xff08;推薦&#xff09; -- 創建新用戶并設置密碼 CREATE USER newuserlocalhost IDENTIFIED BY your_password;-- 授予權限&#xff08;示例&#xff1a;授予所有數據…

React hooks——memo

一、簡介React.memo 是 React 提供的一個高階組件&#xff08;Higher-Order Component&#xff09;&#xff0c;用于優化函數組件的渲染性能&#xff0c;它通過淺比較&#xff08;shallow compare&#xff09;props 的變化來決定是否重新渲染組件。1.1 基本用法const MyCompone…

leetcode15.三數之和題解:邏輯清晰帶你分析

介紹 題源 分析 1.雙指針固定一個數 首先明白一點&#xff0c;我們有三個數&#xff0c;我們想使用雙指針&#xff0c;那就必須固定一個數。 2.二分 本題還涉及二分&#xff0c;雙指針經常和二分結合使用&#xff08;二分本質就是雙指針&#xff0c;仔細思考這思考這句話&…

exports使用 package.json字段控制如何訪問你的 npm 包

目錄 想象一下你正在開發一個 npm 包…… 術語 什么是exports領域&#xff1f; exports好處 保護內部文件 多格式包 將子路徑映射到dist目錄 子路徑導出 單一入口點 多個入口點 公開軟件包文件的子集 有條件出口 設置使用條件 默認條件 句法 針對 Node.js 和瀏…

AngularJS 安裝使用教程

一、AngularJS 簡介 AngularJS 是 Google 開發的一款前端 JavaScript 框架&#xff0c;采用 MVVM 架構&#xff0c;提供了數據雙向綁定、依賴注入、模塊化、路由管理等強大功能&#xff0c;適合構建單頁面應用&#xff08;SPA&#xff09;。注意&#xff1a;AngularJS&#xf…

基于python和neo4j構建知識圖譜醫藥問答系統

一、pyahocorasick1.安裝 pyahocorasick 包&#xff1a; pip install pyahocorasick -i https://pypi.tuna.tsinghua.edu.cn/simple/pip install pyahocorasick &#xff1a;安裝名為 pyahocorasick 的第三方庫&#x1f449; 這個庫是一個 Aho-Corasick 多模匹配算法 的 Python…

片上網絡(NoC)拓撲結構比較

1. 拓撲結構拓撲結構延遲吞吐量跳數功耗面積開銷可擴展性容錯性布線復雜度適合通信模式Mesh&#xff08;網格&#xff09;低&#xff08;O(√N)&#xff09;高&#xff08;多路徑并行&#xff09;O(√N)中高&#xff08;路由器多&#xff09;中高&#xff08;規則布線&#xff…

git merge 命令有什么作用?具體如何使用?

回答重點git merge 命令主要用于將兩個分支的歷史和內容合并在一起。簡而言之&#xff0c;它會將一個分支的更改引入到當前分支中。常見的使用場景是將功能分支&#xff08;feature branch&#xff09;的修改合并回主分支&#xff08;main branch&#xff09;或者開發分支&…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - jieba庫分詞簡介及使用

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程&#xff0c;持續更新中&#xff0c;計劃月底更新完&#xff0c;感謝支持。今天講解 jieba庫分詞簡介及使用 視頻在線地址&…

大模型的后訓練與邏輯能力

《DeepSeek原生應用與智能體開發實踐》【摘要 書評 試讀】- 京東圖書 在人工智能與機器學習領域&#xff0c;模型的后訓練階段不僅是技術流程中的關鍵環節&#xff0c;更是提升模型性能&#xff0c;尤其是數學邏輯能力的“黃金時期”。這一階段&#xff0c;通過對已初步訓練好…

pycharm安裝教程-PyCharm2025安裝步驟【MAC版】附帶安裝包

pycharm安裝教程-PyCharm2025安裝詳細步驟【MAC版】安裝安裝包獲取&#xff08;文章末尾&#xff09;今天來給大家分享 Mac 系統安裝 PyCharm&#xff0c;附帶安裝包資源安裝&#xff0c; PyCharm 相關就不敘述了&#xff0c;直接開始安裝&#xff01; 安裝 2024版本、2025年…

【React Native】路由跳轉

Link 跳轉的路徑&#xff0c;就在href里寫/details。路徑都是相對于app目錄來寫的&#xff0c;也就是說app目錄就是/。很多時候&#xff0c;需要跳轉的組件比較復雜。比方說&#xff0c;要在里面要嵌套按鈕&#xff0c;或者其他東西。這種情況下&#xff0c;就可以在Link組件里…

使用 Spring Boot + AbstractRoutingDataSource 實現動態切換數據源

1. 動態切換數據源的原理AbstractRoutingDataSource 是 Spring 提供的一個抽象類&#xff0c;它通過實現 determineCurrentLookupKey 方法&#xff0c;根據上下文信息決定當前使用的數據源。核心流程如下&#xff1a;定義多數據源配置&#xff1a;注冊多個數據源。實現動態數據…

Kubernetes (K8S)知識詳解

Kubernetes (K8S) 是什么&#xff1f; Kubernetes 是 Google 在 2014 年開源的生產級別的容器編排技術&#xff08;編排也可以簡單理解為調度、管理&#xff09;&#xff0c;用于容器化應用的自動化部署、擴展和管理。它的前身是 Google 內部的 Borg 項目&#xff0c;Borg 是 …

在github上傳python項目,然后在另外一臺電腦下載下來后如何保障成功運行

如何在 GitHub 上傳并在另一臺電腦成功運行 Python 項目? 一、上傳前&#xff08;本地準備&#xff09; 在你的項目文件夾中進行以下準備&#xff1a; 1. 確保結構清晰 my_project/ ├── main.py ├── utils.py ├── config.yaml ├── requirements.txt └── README…

詳解Mysql Order by排序底層原理

MySQL 的 ORDER BY 子句實現排序是一個涉及查詢優化、內存管理和磁盤 I/O 的復雜過程。其核心目標是高效地將結果集按照指定列和順序排列。一、確定排序模式 (Sort Mode)MySQL 根據查詢特性和系統變量決定采用哪種排序策略&#xff1a;1.1 Rowid 排序<sort_key, rowid> 模…

SpringBoot的介紹和項目搭建

SpringBoot是簡化Spring應用開發的一個框架&#xff0c;他是Spring技術棧的整合。優點&#xff1a;能夠快速創建獨立運行的Spring項目以及與主流框架集成使用嵌入式的Servlet容器&#xff0c;應用無需打成war包&#xff0c;內嵌tomcatStarters自動依賴和版本控制大量的自動裝配…

Selenium 攻略:從元素操作到 WebDriver 實戰

在自動化測試、網頁數據爬取、批量操作網頁等場景中&#xff0c;Selenium 無疑是最受歡迎的工具之一。作為一款強大的 Web 自動化工具&#xff0c;它能模擬人類操作瀏覽器的行為&#xff0c;實現點擊、輸入、跳轉等一系列動作。本文將從基礎到進階&#xff0c;全面解析 Seleniu…

【算法訓練營Day14】二叉樹part4

文章目錄找樹左下角的值路徑總和總結&#xff1a;遞歸函數的返回值路徑總和 II總結&#xff1a;二叉樹遞歸的思考從中序與后序遍歷序列構造二叉樹找樹左下角的值 題目鏈接&#xff1a;513. 找樹左下角的值 解題邏輯&#xff1a; 使用層序遍歷&#xff0c;將最后一層的第一個元…

工資系統如何計算工資

工資系統計算工資是一個集成數據收集、規則應用、自動核算和合規審核的自動化過程&#xff0c;以下是其核心原理和步驟&#xff0c;結合技術實現與法規要求進行說明&#xff1a;?? 一、工資系統的基本框架與數據準備系統初始化與規則配置企業信息設置&#xff1a;錄入公司名稱…