網(wǎng)站服務(wù)器異常是什么意思云南seo網(wǎng)站關(guān)鍵詞優(yōu)化軟件
💝💝💝歡迎來(lái)到我的博客,很高興能夠在這里和您見(jiàn)面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內(nèi)容和知識(shí),也可以暢所欲言、分享您的想法和見(jiàn)解。
- 推薦:kwan 的首頁(yè),持續(xù)學(xué)習(xí),不斷總結(jié),共同進(jìn)步,活到老學(xué)到老
- 導(dǎo)航
- 檀越劍指大廠系列:全面總結(jié) java 核心技術(shù)點(diǎn),如集合,jvm,并發(fā)編程 redis,kafka,Spring,微服務(wù),Netty 等
- 常用開(kāi)發(fā)工具系列:羅列常用的開(kāi)發(fā)工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
- 數(shù)據(jù)庫(kù)系列:詳細(xì)總結(jié)了常用數(shù)據(jù)庫(kù) mysql 技術(shù)點(diǎn),以及工作中遇到的 mysql 問(wèn)題等
- 懶人運(yùn)維系列:總結(jié)好用的命令,解放雙手不香嗎?能用一個(gè)命令完成絕不用兩個(gè)操作
- 數(shù)據(jù)結(jié)構(gòu)與算法系列:總結(jié)數(shù)據(jù)結(jié)構(gòu)和算法,不同類(lèi)型針對(duì)性訓(xùn)練,提升編程思維,劍指大廠
非常期待和您一起在這個(gè)小小的網(wǎng)絡(luò)世界里共同探索、學(xué)習(xí)和成長(zhǎng)。💝💝💝 ?? 歡迎訂閱本專(zhuān)欄 ??
博客目錄
- 一.簡(jiǎn)單介紹
- 1.什么是 python 函數(shù)?
- 2.python 函數(shù)組成?
- 二.基本函數(shù)
- 1.print()
- 2.len()
- 3.input()
- 4.range()
- 5.type()
- 6.str()
- 7.int()
- 8.float()
- 9.max()
- 10.min()
- 11.pow()
- 12.divmod()
- 三.進(jìn)階函數(shù)
- 1.文檔說(shuō)明
- 2.函數(shù)嵌套
- 3.變量作用域
- 4.global
- 5.多返回值
- 6.函數(shù)參數(shù)
- 7.關(guān)鍵字參數(shù)
- 8.默認(rèn)參數(shù)
- 9.不定長(zhǎng)參數(shù)
- 10.關(guān)鍵字不定長(zhǎng)
- 11.函數(shù)作為參數(shù)
- 12.lambda 匿名函數(shù)
- 13.range 函數(shù)
- 14.all()函數(shù)
- 15.遞歸函數(shù)
- 四.實(shí)戰(zhàn)演練
- 1.定義函數(shù)
- 2.list 列表循環(huán)
- 3.帶參數(shù)
- 4.返回值
- 5.None
- 6.綜合練習(xí)
一.簡(jiǎn)單介紹
1.什么是 python 函數(shù)?
在 Python 中,函數(shù)是一組用于執(zhí)行特定任務(wù)或操作的可重復(fù)、可調(diào)用的代碼塊。函數(shù)允許你將代碼模塊化,提高代碼的可讀性和可維護(hù)性。
2.python 函數(shù)組成?
在 Python 中,函數(shù)通常由以下幾個(gè)組成部分:
-
函數(shù)定義: 定義函數(shù)的關(guān)鍵字是
def
,后面跟著函數(shù)的名稱(chēng)和一對(duì)圓括號(hào),括號(hào)里是函數(shù)的參數(shù)列表。def my_function(parameter1, parameter2):# 函數(shù)體# 可以包含一系列語(yǔ)句來(lái)執(zhí)行特定的任務(wù)
-
參數(shù): 函數(shù)可以接受零個(gè)或多個(gè)參數(shù),這些參數(shù)是在調(diào)用函數(shù)時(shí)傳遞給函數(shù)的值。參數(shù)是可選的,函數(shù)可以沒(méi)有參數(shù)。
def greet(name):print("Hello, " + name + "!")
-
返回值: 函數(shù)可以返回一個(gè)值給調(diào)用者。使用
return
語(yǔ)句來(lái)指定函數(shù)的返回值。def add(a, b):result = a + breturn result
調(diào)用
add(2, 3)
將返回5
。 -
函數(shù)調(diào)用: 要執(zhí)行函數(shù)中的代碼,需要調(diào)用函數(shù)。調(diào)用函數(shù)時(shí),提供函數(shù)所需的參數(shù)。
greet("Alice")
這將輸出 “Hello, Alice!”。
函數(shù)使得代碼結(jié)構(gòu)更加清晰,也提高了代碼的可復(fù)用性。在 Python 中,有許多內(nèi)置函數(shù),同時(shí)你也可以自定義函數(shù)來(lái)執(zhí)行你特定的任務(wù)。函數(shù)是 Python 編程中非常基礎(chǔ)和重要的概念。
二.基本函數(shù)
1.print()
print(): 用于輸出信息到控制臺(tái)。
print("Hello, World!")
2.len()
len(): 用于獲取序列(字符串、列表、元組等)的長(zhǎng)度。
my_list = [1, 2, 3, 4, 5]
length = len(my_list)
3.input()
input(): 用于從用戶(hù)獲取輸入。
user_input = input("Enter something: ")
4.range()
range(): 用于生成一個(gè)指定范圍的數(shù)字序列。
numbers = list(range(5))
5.type()
type(): 用于獲取對(duì)象的類(lèi)型。
x = 10
data_type = type(x)
6.str()
str(): 將其他類(lèi)型轉(zhuǎn)換為字符串類(lèi)型。
num = 42
str_num = str(num)
7.int()
int(): 將其他類(lèi)型轉(zhuǎn)換為整數(shù)類(lèi)型。
num_str = "42"
num = int(num_str)
8.float()
float(): 將其他類(lèi)型轉(zhuǎn)換為浮點(diǎn)數(shù)類(lèi)型。
num_str = "3.14"
num = float(num_str)
9.max()
max(): 返回可迭代對(duì)象中的最大值。
max_value = max([1, 2, 3, 4, 5])
10.min()
min(): 返回可迭代對(duì)象中的最小值。
min_value = min([1, 2, 3, 4, 5])
11.pow()
在 Python 中,可以使用冪運(yùn)算符 **
或內(nèi)置函數(shù) pow()
來(lái)計(jì)算一個(gè)數(shù)的立方。
使用冪運(yùn)算符的示例:
x = 2
cube = x ** 3
print(cube) # 輸出: 8
使用內(nèi)置函數(shù) pow()
的示例:
x = 2
cube = pow(x, 3)
print(cube) # 輸出: 8
這兩種方法都可以用來(lái)計(jì)算一個(gè)數(shù)的立方。你可以將 x
替換為任何你想要計(jì)算立方的數(shù)字。
12.divmod()
divmod()是 Python 內(nèi)置函數(shù)之一,用于進(jìn)行除法運(yùn)算并同時(shí)返回商和余數(shù)。
divmod(x, y)
其中 x 和 y 是兩個(gè)數(shù)字參數(shù),函數(shù)將 x 除以 y,返回一個(gè)元組,元組中第一個(gè)元素是 x 除以 y 的商,第二個(gè)元素是余數(shù)。例如:
>>> divmod(10, 3)
(3, 1)
這里 10 除以 3,商為 3,余數(shù)為 1,所以返回元組(3, 1)。
三.進(jìn)階函數(shù)
1.文檔說(shuō)明
在函數(shù)名稱(chēng)下面“”“”“”然后直接 enter 鍵,可以補(bǔ)充參數(shù)和返回值.
# 定義函數(shù),進(jìn)行文檔說(shuō)明
def add(x, y):"""add函數(shù)可以接收2個(gè)參數(shù),進(jìn)行2數(shù)相加的功能:param x: 形參x表示相加的其中一個(gè)數(shù)字:param y: 形參y表示相加的另一個(gè)數(shù)字:return: 返回值是2數(shù)相加的結(jié)果"""result = x + yprint(f"2數(shù)相加的結(jié)果是:{result}")return resultadd(5, 6)
2.函數(shù)嵌套
# 定義函數(shù)func_b
def func_b():print("---2---")
# 定義函數(shù)func_a,并在內(nèi)部調(diào)用func_b
def func_a():print("---1---")# 嵌套調(diào)用func_bfunc_b()print("---3---")
# 調(diào)用函數(shù)func_a
func_a()
3.變量作用域
num 的最終值還是 200,不會(huì)變?yōu)?500
num = 200def test_a():print(f"test_a: {num}")def test_b():num = 500print(f"test_b: {num}")test_a()
test_b()
print(num)
4.global
num 的最終值是 500
# global關(guān)鍵字,在函數(shù)內(nèi)聲明變量為全局變量
num = 200def test_a():print(f"test_a: {num}")def test_b():global num # 設(shè)置內(nèi)部定義的變量為全局變量num = 500print(f"test_b: {num}")test_a()
test_b()
print(num)
5.多返回值
# 演示使用多個(gè)變量,接收多個(gè)返回值
def test_return():return 1, "hello", Truex, y, z = test_return()
print(x)
print(y)
print(z)
6.函數(shù)參數(shù)
def user_info(name, age, gender):print(f"姓名是:{name}, 年齡是:{age}, 性別是:{gender}")
# 位置參數(shù) - 默認(rèn)使用形式
user_info('小明', 20, '男')
7.關(guān)鍵字參數(shù)
def user_info(name, age, gender):print(f"姓名是:{name}, 年齡是:{age}, 性別是:{gender}")
# 關(guān)鍵字參數(shù)
user_info(name='小王', age=11, gender='女')
user_info(age=10, gender='女', name='瀟瀟') # 可以不按照參數(shù)的定義順序傳參def add(x, y):return x + yresult = add(y=2, x=1)
print(result) # 輸出3
8.默認(rèn)參數(shù)
請(qǐng)求參數(shù)默認(rèn):
def user_info(name, age, gender):print(f"姓名是:{name}, 年齡是:{age}, 性別是:{gender}")# 缺省參數(shù)(默認(rèn)值)
def user_info(name, age, gender):print(f"姓名是:{name}, 年齡是:{age}, 性別是:{gender}")user_info('甜甜', gender='女', age=9)
方法上默認(rèn):
def add(x=0, y=0):return x + yresult = add()
print(result) # 輸出0
9.不定長(zhǎng)參數(shù)
# 不定長(zhǎng) - 位置不定長(zhǎng), *號(hào)
# 不定長(zhǎng)定義的形式參數(shù)會(huì)作為元組存在,接收不定長(zhǎng)數(shù)量的參數(shù)傳入
def user_info(*args):print(f"args參數(shù)的類(lèi)型是:{type(args)},內(nèi)容是:{args}")user_info(1, 2, 3, '小明', '男孩')
10.關(guān)鍵字不定長(zhǎng)
不定長(zhǎng)關(guān)鍵字參數(shù)指的是函數(shù)可以接受任意數(shù)量的關(guān)鍵字參數(shù),這些參數(shù)將被收集到一個(gè)字典中,并作為一個(gè)參數(shù)傳遞給函數(shù)。不定長(zhǎng)關(guān)鍵字參數(shù)用兩個(gè)星號(hào) **
來(lái)表示。
# 不定長(zhǎng) - 關(guān)鍵字不定長(zhǎng), **號(hào)
def user_info(**kwargs):print(f"args參數(shù)的類(lèi)型是:{type(kwargs)},內(nèi)容是:{kwargs}")user_info(name='小王', age=11, gender='男孩')#args參數(shù)的類(lèi)型是:<class 'dict'>,內(nèi)容是:{'name': '小王', 'age': 11, 'gender': '男孩'}
11.函數(shù)作為參數(shù)
# 定義一個(gè)函數(shù),接收另一個(gè)函數(shù)作為傳入?yún)?shù)
def test_func(compute):result = compute(1, 2) # 確定compute是函數(shù)print(f"compute參數(shù)的類(lèi)型是:{type(compute)}")print(f"計(jì)算結(jié)果:{result}")# 定義一個(gè)函數(shù),準(zhǔn)備作為參數(shù)傳入另一個(gè)函數(shù)
def compute(x, y):return x + y
# 調(diào)用,并傳入函數(shù)
test_func(compute)
12.lambda 匿名函數(shù)
# 定義一個(gè)函數(shù),接受其它函數(shù)輸入
def test_func(compute):result = compute(1, 2)print(f"結(jié)果是:{result}")# 通過(guò)lambda匿名函數(shù)的形式,將匿名函數(shù)作為參數(shù)傳入
def add(x, y):return x + ytest_func(add)
test_func(lambda x, y: x + y)
Lambda函數(shù):
# 使用Lambda函數(shù)
f = lambda x, y: x + yprint(f(2, 3)) # 輸出 5
13.range 函數(shù)
for i in range(n):
range(start, stop, step) #分別是起始、終止和步長(zhǎng)
range(3) #即:從0到3,不包含3,即0,1,2
range(1,3) #即:從1到3,不包含3,即1,2
range(1,3,2) #即:從1到3,每次增加2,因?yàn)?+2=3,所以輸出只有1
#如果改成range(1,5,2),就會(huì)輸出1和3
matrix = [0 for i in range(4)] #[0, 0, 0, 0]
for j in range(i + 1, n + 1): #從i+1到n+1,不包含n+1
14.all()函數(shù)
any()實(shí)現(xiàn)了或(OR)運(yùn)算
all()實(shí)現(xiàn)了與(AND)運(yùn)算#對(duì)于any(iterables),如果可迭代對(duì)象iterables中任意存在每一個(gè)元素為T(mén)rue則返回True。
特例:若可迭代對(duì)象為空,比如空列表[],則返回False。
15.遞歸函數(shù)
def factorial(n):if n == 0:return 1else:return n * factorial(n - 1)result = factorial(4)
print(result) # 輸出24
四.實(shí)戰(zhàn)演練
1.定義函數(shù)
# 定義一個(gè)函數(shù),輸出相關(guān)信息
def say_hi():print("Hi 我是黑馬程序員,學(xué)Python來(lái)黑馬")# 調(diào)用函數(shù),讓定義的函數(shù)開(kāi)始工作
say_hi()
2.list 列表循環(huán)
def list_while_func():"""使用while循環(huán)遍歷列表的演示函數(shù):return: None"""my_list = ["傳智教育", "黑馬程序員", "Python"]# 循環(huán)控制變量通過(guò)下標(biāo)索引來(lái)控制,默認(rèn)0# 每一次循環(huán)將下標(biāo)索引變量+1# 循環(huán)條件:下標(biāo)索引變量 < 列表的元素?cái)?shù)量# 定義一個(gè)變量用來(lái)標(biāo)記列表的下標(biāo)index = 0 # 初始值為0while index < len(my_list):# 通過(guò)index變量取出對(duì)應(yīng)下標(biāo)的元素element = my_list[index]print(f"列表的元素:{element}")# 至關(guān)重要 將循環(huán)變量(index)每一次循環(huán)都+1index += 1def list_for_func():"""使用for循環(huán)遍歷列表的演示函數(shù):return: None"""my_list = [1, 2, 3, 4, 5]# for 臨時(shí)變量 in 數(shù)據(jù)容器:for element in my_list:print(f"列表的元素有:{element}")# list_while_func()
list_for_func()
3.帶參數(shù)
# 定義2數(shù)相加的函數(shù),通過(guò)參數(shù)接收被計(jì)算的2個(gè)數(shù)字
def add(x, y, z):result = x + y + zprint(f"{x} + {y} + {z}的計(jì)算結(jié)果是:{result}")# 調(diào)用函數(shù),傳入被計(jì)算的2個(gè)數(shù)字
add(5, 6, 7)
4.返回值
# 定義一個(gè)函數(shù),完成2數(shù)相加功能
def add(a, b):result = a + b# 通過(guò)返回值,將相加的結(jié)果返回給調(diào)用者return result# 返回結(jié)果后,還想輸出一句話print("我完事了")# 函數(shù)的返回值,可以通過(guò)變量去接收
r = add(5, 6)
print(r)
5.None
# 主動(dòng)返回None的函數(shù)
def say_hi2():print("你好呀")return Noneresult = say_hi2()
print(f"無(wú)返回值函數(shù),返回的內(nèi)容是:{result}")
print(f"無(wú)返回值函數(shù),返回的內(nèi)容類(lèi)型是:{type(result)}")
# None用于if判斷
def check_age(age):if age > 18:return "SUCCESS"else:return Noneresult = check_age(16)
if not result:# 進(jìn)入if表示result是None值 也就是Falseprint("未成年,不可以進(jìn)入")# None用于聲明無(wú)初始內(nèi)容的變量
name = None
6.綜合練習(xí)
"""
演示函數(shù)綜合案例開(kāi)發(fā)
"""
# 定義全局變量money name
money = 5000000
name = None
# 要求客戶(hù)輸入姓名
name = input("請(qǐng)輸入您的姓名:")# 定義查詢(xún)函數(shù)
def query(show_header):if show_header:print("-------------查詢(xún)余額------------")print(f"{name},您好,您的余額剩余:{money}元")# 定義存款函數(shù)
def saving(num):global money # money在函數(shù)內(nèi)部定義為全局變量money += numprint("-------------存款------------")print(f"{name},您好,您存款{num}元成功。")# 調(diào)用query函數(shù)查詢(xún)余額query(False)# 定義取款函數(shù)
def get_money(num):global moneymoney -= numprint("-------------取款------------")print(f"{name},您好,您取款{num}元成功。")# 調(diào)用query函數(shù)查詢(xún)余額query(False)# 定義主菜單函數(shù)
def main():print("-------------主菜單------------")print(f"{name},您好,歡迎來(lái)到黑馬銀行ATM。請(qǐng)選擇操作:")print("查詢(xún)余額\t[輸入1]")print("存款\t\t[輸入2]")print("取款\t\t[輸入3]") # 通過(guò)\t制表符對(duì)齊輸出print("退出\t\t[輸入4]")return input("請(qǐng)輸入您的選擇:")# 設(shè)置無(wú)限循環(huán),確保程序不退出
while True:keyboard_input = main()if keyboard_input == "1":query(True)continue # 通過(guò)continue繼續(xù)下一次循環(huán),一進(jìn)來(lái)就是回到了主菜單elif keyboard_input == "2":num = int(input("您想要存多少錢(qián)?請(qǐng)輸入:"))saving(num)continueelif keyboard_input == "3":num = int(input("您想要取多少錢(qián)?請(qǐng)輸入:"))get_money(num)continueelse:print("程序退出啦")break # 通過(guò)break退出循環(huán)
覺(jué)得有用的話點(diǎn)個(gè)贊
👍🏻
唄。
??????本人水平有限,如有紕漏,歡迎各位大佬評(píng)論批評(píng)指正!😄😄😄💘💘💘如果覺(jué)得這篇文對(duì)你有幫助的話,也請(qǐng)給個(gè)點(diǎn)贊、收藏下吧,非常感謝!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且長(zhǎng),行則將至,讓我們一起加油吧!🌙🌙🌙