def func(a1,a2,a3):
print(a1,a2,a3)
func(1,3,4)#a1=1,a2=3,a3=4
def func(a1, a2):
print(a1, a2)
func(a2=99,a1=2)
# 關鍵字傳引數和位置傳參可以混合使用(位置傳入的引數 > 關鍵字引數在後 = 總引數個數)
def func1(a1, a2, a3):
print(a1, a2, a3)
# func(1, 2, a3=9)
# func(1, a2=2, a3=9)
# func(a1=1, a2=2, a3=9)
# func(a1=1, 2,3) # 錯誤
def func(a1,a2,a3=9,a4=10):
print(a1,a2,a3,a4)
func(11,22)
func(11,22,10)
func(11,22,10,100)
func(11,22,10,a4=100)
func(11,22,a3=10,a4=100)
func(11,a2=22,a3=10,a4=100)
func(a1=11,a2=22,a3=10,a4=100)
- 可以接受任意個數的關鍵字引數,並將引數轉換成字典。
- 呼叫函式無 **
def func(**kwargs):
print(kwargs)
func(k1=1,k2="alex")
- 呼叫函式有**
def func(**kwargs):
print(kwargs)
func(**) # kwargs=
1.定義函式
def func1(a1,a2):
pass
def func2(a1,a2=none):
pass
def func3(*args,**kwargs):
pass
2.呼叫函式
位置引數》關鍵字引數
命名空間
作用域5.5函式的巢狀
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# x = 10
# def func():
# x = 9
# print(x)
# def x1():
# x = 999
# print(x)
## func()
# x = 10
# def func():
# x = 9
# print(x)
# def x1():
# x = 999
# print(x)
# x1()
## func()
# x = 10
# def func():
# x = 9
# print(x)
# def x1():
# x = 999
# print(x)
# print(x)
# x1()
## func()
# x = 10
# def func():
# x = 8
# print(x)
# def x1():
# x = 999
# print(x)
# x1()
# print(x)
## func()
# x = 10
# def func():
# x = 8
# print(x)
# def x1():
# print(x)
# x1()
# print(x)
## func()
# x = 10
# def func():
# x = 8
# print(x)
# def x1():
# print(x)
# x = 9
# x1()
# x = 10
# print(x)
## func()
## x = 10
# def func():
# x = 8
# print(x)
# def x1():
# print(x)
## x1()
# x = 9
# x1()
# x = 10
# print(x)
## func()
函式的高階
目錄命名空間 在python直譯器開始執 之後,就會在記憶體中開闢乙個空間,每當遇到乙個變 的時候,就把變 名和值之間的關係記錄下來,但是當遇到函式定義的時候,直譯器只是把函式名讀入記憶體,表示這個函式存在 至於函式內部的變 和邏輯,直譯器是不關心的.也就是說一開始的時候函式只是載入進來,僅此而已,...
函式的高階
函式高階 動態引數 形參 位置引數 動態位置引數 預設引數 動態預設引數 實參 位置引數 動態位置引數 關鍵字引數 動態關鍵字引數 函式的注釋 作用域 全域性作用域 內建 全域性 全域性作用域 區域性作用域 函式內的就是區域性作用域 函式的巢狀 global nonlocal global 在區域性...
函式的高階
一 函式引數 動態傳參 1 動態的接收位置引數 引數位置編寫 表示接收任意內容,有多個引數傳進去,收到的內容是元組tuple def func food print food func 面 公尺飯 麵包 饅頭 先位置引數,後動態引數 def chi a,b,food print a,b,food c...