python语言函数定义 python 函数 定义( 二 )


...print(a)
...
test1()
100
test2()
100
定义了全局变量a之后,在函数test1()和test2()内都可以使用变量a,由此可知,全局变量的作用范围是全局 。
局部变量是在函数内定义的变量,除了用关键字global修饰的变量以外 。例如 , 在函数test1()内定义一个局部变量a,分别在函数外和另一个函数test2()内使用变量a:
def test1():
...a = 100# 局部变量
...print(a)
...
def test2():
...print(a)
...
test1()
100
print(a)
Traceback (most recent call last):
File "stdin", line 1, in module
NameError: name 'a' is not defined
test2()
Traceback (most recent call last):
File "stdin", line 1, in module
File "stdin", line 2, in test2
NameError: name 'a' is not defined
Python解释器提示出错了 。由于局部变量a定义在函数test1()内 , 因此 , 在函数test1()内可以使用变量a,但是在函数外或者另一个函数test2()内使用变量a,都会报错,由此可见,局部变量的作用范围是定义它的函数内部 。
一般情况下 , 在函数内声明的变量都是局部变量,但是采用关键字global修饰的变量却是全局变量:
def test1():
...global a# 全局变量
...a = 100
...print(a)
【python语言函数定义 python 函数 定义】...
def test2():
...print(a)
...
test1()
100
print(a)
100
test2()
100
这个程序与上个程序相比 , 只是在函数test1()中多了一行代码“global a” , 程序便可以正确运行了 。在函数test1()中,采用关键字global修饰了变量a之后 , 变量a就变成了全局变量,不仅可以在该函数内使用,还可以在函数外或者其python语言函数定义他函数内使用 。
如果在某个函数内局部变量与全局变量同名 , 那么在该函数中局部变量会覆盖全局变量:
a = 100# 全局变量
def test1():
...a = 200# 同名局部变量
...print(a)
...
def test2():
...print(a)
...
test1()
200
test2()
100
由于在函数test1()中定义了一个与全局变量同名的局部变量a,因此 , 在函数test1()中全局变量a的值被局部变量覆盖了 , 但是在函数test2()中全局变量a的值没有被覆盖 。
综上所述,在Python中,全局变量保存的数据供整个脚本文件使用;而局部变量只用于临时保存数据,变量仅供局部代码块使用 。
在Python语言案例教程中函数定义有哪几个关键元素?函数分为有参和无参函数,这是从是否带有参数来看的 , 定义格式如下:
从返回角度看,有返回值跟无返回值 , 主要是根据代码中是否有
return 返回值
来判断
综合起来,完整的定义代码如下图:
python怎么定义函数给你两个函数:
## 插入排序
def insertion_sort(sort_list):
iter_len = len(sort_list)
if iter_len2:
return sort_list
for i in range(1, iter_len):
key = sort_list[i]
j = i - 1
while j=0 and sort_list[j]key:
sort_list[j+1] = sort_list[j]
j -= 1
sort_list[j+1] = key
return sort_list
## 计算两点之间的距离
def GetDistance(fPoint1,fPoint2):
x1=fPoint1.X
y1=fPoint1.Y
x2=fPoint2.X
y2=fPoint2.Y
return pow((x1-x2),2)+pow((y1-y2),2)
python里函数的定义定义:
def 函数名(形参1,形参2='初始定义的内容'):
函数中执行的内容
调用:
函数名(实参1)或函数名(形参2=实参2,形参1=实参1)或函数名(实参1,实参2)

推荐阅读