이 글은 Python의 함수에 대한 포괄적인 요약을 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
1. 형식 매개변수의 동적 매개변수: 매개변수가 불확실할 때 사용됩니다.
형식:
def fun (*args) fun(args)
1 동적 매개변수는 위치 매개변수 뒤에 와야 합니다.
목록 예 1. 다음 예와 같이 매개변수가 불확실한 경우에는 사람마다 식욕이 다르고 음식 유형도 다릅니다. 이 경우 동적 매개변수 전송이 사용됩니다.
def fun(*food): #*表示的是不定参数,可以传递任意个信息,参数名称还是food,且接收到的信息为元祖() print("我要吃",food) fun("米饭") #*表示位置参数的动态传参 结果为我要吃 ('米饭',) fun("一锅米饭","一箱辣条","一桶方便面","可口可乐")#我要吃 ('一锅米饭', '一箱辣条', '一桶方便面', '可口可乐') fun ("一碗米饭","辣条","雪碧") #结果为我要吃 ('一碗米饭', '辣条', '雪碧')
예제 2.
def fun (*food,a,b): print("我要吃",food,a,b) fun("苹果","梨子","香蕉") #此时程序会报错,全被food接收了,a和b永远接收不到参数. def fun (a,b,*food): print("我要吃",a,b,food) fun("苹果","梨子","香蕉","橘子") #我要吃 苹果 梨子 ('香蕉', '橘子')
2. 기본값 매개변수는 Time: Sequence: 위치 매개변수, 동적 매개변수*, 기본값 매개변수
def chi(a, b, *food, c="娃哈哈"): print(a, b, food, c) chi("香蕉", "菠萝") #香蕉 菠萝 () 娃哈哈 默认值生效 chi("香蕉", "菠萝", "葫芦娃") #香蕉 菠萝 ('葫芦娃',) 娃哈哈 默认值生效 chi("香蕉", "菠萝", "葫芦娃", "口罩") # 香蕉 菠萝 ('葫芦娃', '口罩') 娃哈哈 默认值生效 chi("香蕉", "菠萝", "葫芦娃", "口罩",c="苹果")#香蕉 菠萝 ('葫芦娃', '口罩') 苹果
이때 키워드를 지정하지 않으면 모든 기본값이 유효한 것으로 확인됩니다. 매개변수를 사용하면 기본값이 항상 유효합니다.
3. 키워드 인수를 동적으로 수신합니다: 최종 순서(*): 위치 매개변수> 이 경우에는 위치 매개변수만 수신할 수 있으며 **를 사용합니다. Python에서 동적 키워드 매개변수를 수신합니다. (형식 매개변수에는 위치 매개변수와 기본값 매개변수 두 가지 유형만 있습니다.)
*args 위치 매개변수 수신은 tuple
**kwargs 키워드의 동적 매개변수이며, 수신되는 내용은 다음과 같습니다. 사전
예를 들어
def func(**kwargs): # key word arguments print(kwargs) #{'a': 10, 'b': 20, 'jay': '周杰伦', 'jj': '林俊杰'} func(a=10, b=20, jay="周杰伦", jj="林俊杰")
def fun(*args, **kwargs): print(args, kwargs) fun("3","2",a="hello") #('3', '2') {'a': 'hello'}
*의 의미는 분산을 의미합니다. broken은 목록 및 문자열과 같은 반복 가능한 객체입니다. 형식 매개변수는 집계를 나타냅니다.
def func(*args): # 여기서는 전달된 매개변수를 튜플로 집계하는 것과 같습니다 print(args)
lst = "Wahaha"
func(*lst) # * 실제 매개변수 위치는 분리를 의미하며, 분리는 Iterable 객체입니다
2. 실제 매개변수 위치**에서는 사전이 분리됩니다
def func(**kwargs ): # ** 수신된 키워드 매개변수를 사전으로 묶음(집계)
print(kwargs) # 사전이어야 함
dic = {"Zhang Wuji": "Master of Mingjiao", "Xie Xun": "골든 리트리버 라이온 킹 ", "Fan Yao": "빛의 우익 사절"}
func(Zhang Wuji=dic['Zhang Wuji'], Xie Xun=dic ['Xie Xun'], Fan Yao=dic['Fan Yao'])
func(**dic) # 여기서 **는 사전을 분리하기 위한 것입니다. 사전의 키를 매개변수의 이름으로 사용하고, 사전의 값을 매개변수의 값으로 사용합니다. 형식 매개변수의 경우 두 결과는 {'Zhang Wuji': 'The Leader of the Ming Cult', 'Xie Xun': 'The Golden Retriever Lion King', 'Fan Yao': 'The Right Envoy of Light'와 동일합니다. '}
2. 네임스페이스:
def fun(): a=10 fun() print(a) #a 此时不存在
2. 로컬 네임스페이스 --> 함수에 선언된 변수는 로컬 네임스페이스에 배치됩니다. 3. 내장 네임스페이스 - -> Python 인터프리터에서 제공하는 이름, list, tuple, str, int를 저장합니다. 이는 내장 네임스페이스입니다
2. 로딩 순서:
1. 내장 네임스페이스 2. 전역 네임스페이스 3. 로컬 네임스페이스(함수 실행 시)
3. 값 순서:
1. 로컬 네임스페이스 2. 글로벌 네임스페이스 3. 내장 네임스페이스
3. 범위
는 범위에 따라 전역 범위로 구분됩니다. 유효 범위 및 로컬 범위
전역 범위: 내장 네임스페이스와 전역 네임스페이스를 포함합니다. 전체 파일 내 어디에서나 사용할 수 있습니다(위에서 아래로 한 줄씩 실행). function. 범위 네임스페이스: 1. 전역 범위: 전역 네임스페이스 + 내장 네임스페이스
2. 로컬 범위: 로컬 네임스페이스
globals()
함수를 통해 전역 범위의 내용을 볼 수 있습니다.
locals()
로컬 범위의 변수 및 함수 정보를 봅니다. locals()는 현재 범위의 내용을 봅니다.
def fun(): a=10 print(locals()) #{'a': 10} fun() print(globals()) #显示的没有a的信息 print(locals()) #此时和globals一样,显示的没有a的信息,因为他显示的是当前作用域中的内容.4. 함수 중첩 주로
두 가지 함수를 사용합니다.
global: 전역 변수를 로컬로 도입 Nonlocal: 로컬로 가장 가까운 레이어에 변수를 도입하므로 첫 번째 레이어 함수에서는 전역 변수를 도입할 수 없습니다.See 아래 그림을 이해하면 중첩의 의미를 이해할 수 있습니다
Python 네트워크 프로그래밍에 일반적으로 사용되는 함수 요약
위 내용은 Python의 함수에 대한 포괄적인 요약(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!