網站首頁 編程語言 正文
一、函數
1.位置參數
???格式:
def 函數名(參數1,參數2):
代碼塊
函數名(值1,值2)
? 代碼案例:
def f(a,b):
print("a:",a)
print("b:",b)
f(2,3)
2.關鍵字參數
?格式:
def 函數名(參數1,參數2):
代碼塊
函數名(參數1=值1,參數2,=值2)
代碼案例:
def aa(c,d):
print("c:",c)
print("d:",d)
aa(c=2,d=3)
注意:參數調用時,可以改變傳參順序,如果有位置參數需要位置參數放在關鍵字參數前面。
def aa(w,c,d):
print("c:",c)
print("d:",d)
print("w:",w)
aa(2,c=2,d=3)
3、缺省參數
定義:在形參中默認有值參數,稱之為缺省參數。
代碼案例:調用函數時,缺省參數的值沒有傳入
def pp(name,age=20):
print("name:",name)
print("age:",age)
pp(name="rose")
代碼案例:調用函數時,缺省參數的值傳入
def pp(name,age=10):
print("name:",name)
print("age:",age)
pp(name="jack",age=18)
4、不定長參數
定義:有時候需要一個函數能處理比當初聲明時更多的參數,這些參數叫作不定參數,聲明時不會命名
注意:加*的變量args會放在所有未命名的變量參數,args為元組
而加**的變量kwargs會存放在命名參數,即形如key=value的參數,kwargs為字典
格式:
def p(*agrs,**kwargs):
print("args:",args)
print("kargs:",kwargs)
p(參數)
代碼案例:
不定長參數* args:
def p(*args):
print("args:",args)
p(100,200)
不定長參數** args:
def pp(**kwargs):
print("kwargs:",kwargs)
pp(a=3,b=4)
5、參數位置順序
格式:
def fun(位置參數,*args,缺省參數,**kwargs):
代碼塊
fun(參數值)
代碼案例:
def s(a,*args,b=2,**kwargs):
print("a:",a)
print("args:",args)
print("b:",b)
print("**kwargs",kwargs)
s(1,4,6,b=7,m=2,n=5)
6.函數返回值
格式:
def sum():
代碼塊
return 值
sum()
代碼案例:
def sum(a,b):
return a+b
result=sum(1,2) #保存函數的返回值
print(result)
7.多個return
注意:一個函數中可以有多個return語句,但是只要有一個return語句被執行到,那么這個函數就會結束了,因此后面的return沒有什么用處
代碼案例:
def cr(n):
print("---1---")
if n==100:
print("---2---")
# 函數中下面的代碼不會執行,因為return除了能夠將數據返回之外,還有一個隱藏的功能:結束函數
return n+1
print("return執行之后不會繼續執行")
print("231223")
else:
print("---3---")
return n+2
print("---4---")
result1 = cr(100)
print(result1) # 打印101
result2 = cr(200)
print(result2) # 打印202
8.返回多個數據
總結:return后面可以是元組,列表、字典等,只要是能夠存儲多個數據的類型,就可以一次性返回多個數據
代碼案例:
def dd(a,b):
sh=a//b #取模
ch=a%b #取余
return sh,ch #默認元組
result=dd(5,2)
print(result)
9.函數類型
9.1?無參數,無返回值的函數
def rr():
print("-------")
print('點點點')
print('')
print('1')
print('2')
print('3')
print('-------')
9.2?無參數,有返回值的函數
此類函數,不能接收參數,但是可以返回某個數據,一般情況下,像采集數據,用此類函數
def rr():
return 2
9.3?有參數,無返回值的函數
此類函數,能接收參數,但不可以返回數據,一般情況下,對某些變量設置數據而不需結果時,用此類函數
9.4?有參數,有返回值的函數
此類函數,不僅能接收參數,還可以返回某個數據,一般情況下,像數據處理并需要結果的應用,用此類函數
# 計算1~num的累積和
def cc(num):
result = 0
i=1
while i<=num:
result=result+i
i+=1
return result
print(cc(4))
10.函數嵌套
代碼案例:
def test():
print("testa start")
print("testb testb 執行")
print("testb end")
def testa():
print("testa start")
test()
print("testa end")
11.匿名函數
定義:lambda函數也叫匿名函數,即函數沒有具體的名稱
注意:lambda函數可以賦值給變量,默認是返回的,所以不用再加return關鍵字
注釋:例如g = lambda x:x+1,可以看成如下函數,冒號前是參數,可以有多個,用逗號隔開,冒號右邊的 返回值
代碼案例:
g = lambda x :x+1
print(g(1))
def g(x):
return x + 1
print(g(1))
二、變量
1.局部變量
定義:局部變量,就是在函數內部定義的變量
約束:其作用范圍是這個函數內部,即只能在這個函數中使用,在函數的外部是不能使用的
代碼案例:
def test1():
a=2
print("我是局部變量啊a:",a)
a=20
print("修改之后的局部變量a:",a)
def test2():
a=30
print("我是test02函數中的局部變量a",a)
test1()
test2()
2.全局變量
定義:在函數外邊定義的變量叫做全局變量
約束:全局變量能夠在所有的函數中進行訪問
代碼案例:
a=100
def test1(): # 雖然沒有定義變量a但是依然可以獲取其數據
print(a)
def test2(): # 雖然沒有定義變量a但是依然可以獲取其數據
print(a)
# 調用函數
test1()
test2()
原文鏈接:https://blog.csdn.net/weixin_65219914/article/details/126409913
相關推薦
- 2023-02-10 python中的list?查找與過濾方法整合_python
- 2023-03-29 C++中字符串全排列算法及next_permutation原理詳解_C 語言
- 2022-01-04 iframe父子頁面互相調用方法、獲取變量、獲取元素
- 2022-07-24 Golang?CSP并發機制及使用模型_Golang
- 2022-07-12 CSS樣式:less語言的用法
- 2023-04-27 Redisson分布式限流的實現原理解析_Redis
- 2022-03-31 詳解C語言實現猜數字游戲_C 語言
- 2022-10-24 Android性能優化之ViewPagers?+?Fragment緩存優化_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支