来自 澳门金莎娱乐手机版 2019-12-23 06:56 的文章
当前位置: 金沙澳门官网网址 > 澳门金莎娱乐手机版 > 正文

函数成效域,函数和函数式编制程序

Python3 函数作用域,python3函数

 1 # if True:
 2 #     x = 3
 3 #
 4 # print(x)
 5 #
 6 # def test():
 7 #     a = 10
 8 # print(a)    # a未定义
 9 
10 '''
11 Python中的作用域分为四种情况:
12 1.L:local,局部作用域,在函数中定义的变量
13 2.E:enclosing,嵌套的父级函数的局部作用域,包含此函数的上级函数的局部作用域,但不是全局的
14 3.G:global,全局变量,模块级别定义的变量
15 4.B:built-in,系统固定模块里面的变量,如int,bytearray等。
16 
17 搜寻变量优先级:L>E>G>B
18 '''
19 # 顺序例子
20 # x = int(5.8)    # built-in
21 # a = 1   # global
22 # def test1():
23 #     b = 2   # enclosing
24 #
25 #     def test2():
26 #         c = 3   #local
27 #         print(c)
28 #         print(b)
29 # #    print(c)    # 未定义
30 #     test2()
31 # test1()
32 
33 # count = 10
34 # def outer():
35 #     print(count)
36 # #    count +=1  # 不能修改全局变量,除非创建变量
37 # outer()

 

函数作用域,python3函数 1 # if True: 2 # x = 3 3 # 4 # print(x) 5 # 6 # def test(): 7 # a = 10 8 # print(a) # a未定义 9 10 ''' 11 Python中的作用域分为四种...

1.定义函数

def functionname(x,y,z,*args,**kwargs)

2.参数

  • 参数没有类型,python不做类型的检查
  • 不支持重载,python不区分函数的名字和个数;在python中多个同名的函数,后一个会覆盖前面的一个
  • 位置参数和关键字参数的调用

位置参数匹配代码示例:

>>> def funa(x,y,z):
...     print x,y,z
... 
>>> funa(1,2,3)
1 2 3

关键字参数匹配代码示例:

>>> funa(x=1,y=4,z=8)
1 4 8
>>> 
3.任意参数的匹配

格式:def funa(*args,**kyargs):

定义时两个符号的作用:

"*"用元组收集没有匹配到的参数,返回一个元组

示例代码

>>> def funa(x,y,z,*arges):
...     print x,y,z
...     print arges
... 
>>> funa(1,2,3,4,5,6)
1 2 3
(4, 5, 6)
>>> 

在调用的时候“*”会把元组拆开匹配到函数的参数中

In [1]: def funa(x,y,z):
   ...:     print x,y,z
   ...:    

In [2]: x=[1,2,3]

In [3]: funa(*x)
1 2 3

“**”用字典收集没有匹配的参数,返回一个字典

>>> def funa(x,y,z,**kyarges):
...     print x,y,z
...     print kyarges

>>> funa(1,2,3,a=3,b='hello')
1 2 3
{'a': 3, 'b': 'hello'}
>>> 
在“**”的调用中会把字典拆开,匹配到函数的参数中

In [9]: def funa(x,y,z):
   ...:     print x,y,z
   ...:    

In [10]: A={"x":1,"y":2,"z":3}

In [11]: funa(**A)
1 2 3

注意调用和定义函数的格式

调用函数 定义函数
   
   

 

参数

以下是调用函数时可使用的正式参数类型:

  • 必备参数
  • 关键字参数
  • 默认参数
  • 不定长参数

必备函数

必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样

本文由金沙澳门官网网址发布于澳门金莎娱乐手机版,转载请注明出处:函数成效域,函数和函数式编制程序

关键词: