python入门之函数调用-python之函数入门
python之函數入門
一. 什么是函數
二. 函數定義, 函數名, 函數體以及函數的調用
三. 函數的返回值
四. 函數的參數
五.函數名->第一類對象
六.閉包
一,什么是函數
函數: 對代碼塊和功能的封裝和定義
二. 函數定義, 函數名, 函數體以及函數的調用
我們使用def關鍵字來定義函數
函數的定義語法: def 函數名()
函數體
如下
def fuc():
lst=[1,2,3,4,5,6,7,8,9] #函數體
fuc() #函數的調用
這里的函數名的命名規則和使用和變量基本一樣
函數體: 就是函數被執行之后要執行的代碼
函數的調用: 使用函數名可以調用函數, 寫法: 函數名(), 這個時候函數的函數體會被執行
三. 函數的返回值
執行完函數之后. 我們可以使用return來返回結果.
如下:
def fuc():
ls= []
lst= [1,2,3,4,5,6,7,8,9]
for i in range(len(lst)):
if int(i) % 2 ==0:
ls.append(lst[i])
return ls #返回值
ls_1=fuc()
print(ls_1)
函數中return的使用:
1. 函數中遇到return, 此函數結束, 不再繼續執?.
2. 關于返回值:
如果return什么都不寫 或者 干脆不寫return .那么返回的就是None
如果return后面寫了一個值. 則調用者可以接收一個結果
如果return后面寫了多個結果, 則調用者可以接收一個tuple, 調用者可以直接解構成多個變量
四. 函數的參數
參數, 函數在調用的時候指定具體的一個變量的值. 就是參數
參數語法: def 函數名(參數列表):
函數體
def func(形參)
a = 10
ret=func(實參)
關于參數:
1. 形參
寫在函數聲明的位置的變量叫形參. 形式上的一個完整. 表示這個函數需要xxx
2. 實參
在函數調用的時候給函數傳遞的值. 叫實參, 實際執行的時候給函數傳遞的信息. 表示給函數xxx
3. 傳參
給函數傳遞信息的時候將實際參數交給形式參數的過程被稱為傳參.
參數的分類:
在實參的角度來看. 分為三種:
1. 位置參數
2. 關鍵字參數
3. 混合參數, 位置參數必須在關鍵字參數前面
在形參的?角度來看,
1. 位置參數
2. 默認值參數(大多數傳進來的參數都是一樣的, 一般用默認參數)
五.第一類對象-> 函數名 -> 變量名
函數名可以像變量一樣進行賦值
還可以作為列表的元素進行使用
還可以作為返回值返回
還可以作為參數進行傳遞
例子1.
def func1():
print("字符串")
def func2():
print("列表")
def func3():
print("字典")
def func4():
print("元組")
lst = [func1, func2, func3, func4] # 函數+() 就是調用.
print(lst)
for el in lst: # el是列表中的每一項.
el() # 拿到函數. 執行函數
例子2.
def wrapper():
def inner():
print("哈哈哈")
return inner # 函數名可以像返回值一樣返回
ret = wrapper()#這里的ret就是inner
ret() # 在函數外面訪問了函數內部的函數
例子3代理proxy.
# 函數可以作為參數進行傳遞
def func1():
print("字符串")
def func2():
print("列表")
def func3():
print("字典")
def func4():
print("元組")
# proxy即代理. 裝飾器的雛形
def proxy(a): # a就是變量. 形參
a()
proxy(func1)#把func1賦值給a
proxy(func3)#把func2賦值給a
proxy(func4)#把func3賦值給a
六.閉包
閉包 -> 函數的嵌套
內層函數對外層函數中的變量的使用
閉包的優點:
1, 可以保護變量不被其他人侵害
2, 保持一個變量常駐內存
def wrapper():
name = "周杰倫" # 局部變量常駐與內存
def inner():
print(name) # 在內層函數中使用了外層函數的局部變量
return inner # 返回函數名
ret = wrapper() # ret是一個內層函數
ret() # ret是inner, 執行的時機是不確定的, 必須保證里面的name必須存在
如何通過代碼查看一個閉包
__closure__: 有東西就是閉包. 沒東西就不是閉包
總結
以上是生活随笔為你收集整理的python入门之函数调用-python之函数入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java io 视频 下载_Java下载
- 下一篇: 先学python还是ros_ROS入门学