이 기사의 내용은 Python의 일부 기능에 대한 것입니다. 특정 참고 가치가 있으므로 도움이 될 수 있습니다.
파이썬에서 변수에는 유형이 없으며 객체에 대한 참조이며 유형은 객체에 속합니다
변수는 본질적으로 자리 표시자입니다! 변수 이름은 일반적으로 소문자로 지정됩니다.
(3) 키워드 매개변수: 함수 호출은 키워드 매개변수를 사용하여 전달된 매개변수 값을 결정합니다.
② **args의 모든 변수는 사전에 패킹됩니다
(5) 함수를 선언할 때 매개변수의 별표 *는 단독으로 나타날 수 있으며 * 뒤에 하나가 나타날 수 있습니다. 매개변수는 키워드를 사용하여 전달되어야 합니다
(6) 익명 함수, 익명 함수를 만들려면 람다 함수를 사용하세요①lambda는 표현식일 뿐이고 함수 본문은 def보다 훨씬 간단합니다②람다의 본체는 표현식입니다. 코드가 아님 블록
③ 함수에는 자체 네임스페이스가 있으며 자체 매개변수 목록 외부 또는 전역 네임스페이스에 있는 매개변수에 액세스할 수 없습니다.
3: Python 함수의 매개변수 전달:
fun(a)와 같이 a의 값만 전달되며 a 객체 자체에는 영향을 주지 않습니다.
예를 들어 내부 fun(a)의 값을 수정하면 복사된 다른 객체만 수정되고 a 자체에는 영향을 주지 않습니다.
파이썬에는 일반적으로 4가지 유형의 범위가 있습니다:
E(인클로징) 클로저 함수 외부
G (글로벌) 글로벌 스코프B (내장) 내장 스코프
검색 규칙은 L->E->G->B
모듈, 클래스, Python의 함수(def, 람다)는 새로운 범위를 도입하지만, 다른 코드 블록(예: if/elif/else/, try/제외, for/while 등)은 새로운 범위를 도입하지 않습니다. 내부적으로 정의된 변수는 외부에서도 접근이 가능합니다.
다섯: 전역 변수와 지역 변수
함수 내부에 정의된 변수는 지역 범위를 가지며, 함수 외부에서 정의된 변수는 전역 범위를 갖습니다.
내부 범위가 외부 범위의 변수를 수정하려는 경우 전역 및 비지역 키워드가 사용됩니다.
map
Reducefilter
# --------------------------------------------------------------------------# # 函数的语法及调用 # --------------------------------------------------------------------------# def func(func_name, number): # 函数的定义 """打印输入的任何字符串""" print(func_name, number) return 'Done' func('func_1', 'faith') # 函数的调用 # --------------------------------------------------------------------------# # 不定长参数函数,封装成元组 # --------------------------------------------------------------------------# def func_1(func_name, *number): """ 打印输入的任何字符串 """ print(type(number)) print(func_name, number) return 'Done' func_1('func_1', 1, 2, 2, 3) def func_2(func_name, number): # print(type(number)) print(func_name, number) return 'Done' func_2('func_2', (1, 2, 2, 3)) def func_3(func_name, *number): print(func_name) print(number[3]) # 根据元组index中一部分变量 print(number[4]) return 'Done' func_3('func_3', 1, 2, 2, 3, 'aaa', 'abc') # get out question: the number of index isn't known in most case! # --------------------------------------------------------------------------# # 不定长参数函数,封装成字典 # --------------------------------------------------------------------------# def func_4(func_name, **number): # 可变参数必须在函数参数的最后 # print(type(number)) print(func_name, number) return 'Done' func_4('func_4', name='faith') # --------------------------------------------------------------------------# # 命名关键字函数 # --------------------------------------------------------------------------# def func_5(a, x, c, *, china, uk): print('func_5:', china, uk) print(a, x, c) func_5(1, 2, 3, china='bJ', uk='rs') # 调用时必须加上关键字 # func_5(1, 2, 3, 'bJ', 'rs') # --------------------------------------------------------------------------# # 函数应用之-递归 # --------------------------------------------------------------------------# def my_sum(i): if i < 0: raise ValueError # 抛出错误 elif i <= 1: return i else: return i + my_sum(i - 1) print(my_sum(1.4)) # --------------------------------------------------------------------------# # 传递不可变对象实例 # --------------------------------------------------------------------------# def change_int(a): a = 10 b = 2 change_int(b) print(b) # 结果是2 # --------------------------------------------------------------------------# # 传递可变对象实例 # --------------------------------------------------------------------------# def change_me(mylist): mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) return myList = [10, 20, 30] change_me(myList) print("函数外取值: ", myList) # --------------------------------------------------------------------------# # 函数内修改全局变量的值 # --------------------------------------------------------------------------# money = 200 # 模块里面的全局变量 def add_money(): global money money = money + 1 return money print("修改后的值money = ", add_money()) # --------------------------------------------------------------------------# # 匿名函数 # --------------------------------------------------------------------------# sum_1 = lambda arg1, arg2: arg1 + arg2 # 调用sum函数 print("相加后的值为 : ", sum_1(10, 20)) print("相加后的值为 : ", sum_1(20, 20)) # 单独编译一个文件时候输出结果 if __name__ == "__main__": pass를 참조하세요.
위 내용은 Python의 함수 일부 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!