码迷,mamicode.com
首页 > 编程语言 > 详细

python的函数(二)

时间:2018-01-03 17:23:15      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:log   函数   必须   条件   env   number   else   blog   外部   

1,函数的变量

 

2,函数的返回值

 

1,函数的变量

函数的变量分为局部变量和全局变量。

def fun():
	x = 100
	print x 

这个x是局部变量,函数执行完后,x的变量就会销毁,只能在函数内部有效。

x = 100
def fun():
	print x 
print x  

这里的x = 100‘是全局变量,函数内部也可以调用。但是调用的只能用于print,做其他操作都会报错。比如:

x = 100
def fun():
	print x 
	x+=1

像这个执行了 x+=1 的动作就会报错。

当然,可以通过global关键字在函数内部声明为全局变量,这样声明后,就可以做其他操作。

x = 100
def fun():
	global x
	x +=1
	print x

1.1,在函数内部定义的变量在函数外部也可以使用,也使用关键字global关键字。

def fun():
    global y
    y = 1
fun()
print y

这样y也就可以输出了,但前提条件是你必须先调用函数。

 

1.2,函数locals,输出脚本执行中有哪些变量。如果写到函数内部,返回的则是函数内部的所有变量。如果是写的是程序里面,则输出的程序所有的变量。

def fun():
	x = 1
	y = 2
	print locals()

 

查看程序的所有变量,以字典形式输出。

#!/usr/bin/env python
print ‘hello,world‘
pritn locals()

 

2,函数返回值(return)

 函数如果默认没有return语句,则函数默认return None.函数遇到return结束运行。

def test():
    print ‘test‘

print test()

 

上述代码返回:test和None.为什么会有None呢?因为函数如果没有retun语句,默认会return None。

 

def test2(var):
    if str(var).isdigit():
        return ‘this is  number‘
    return ‘thisi is not number‘

test2(1) 

 

可以发现,if 后面没用else。上面写到了,执行到return的时候代码,函数就会停止运行。所以只要上面的if执行了,后面的return就不会执行。

 

小结:

1,变量分为全局变量和局部变量。如果定义一个全局变量,函数内部如果调用这个局部变量,只能使用print 的关键字输出(换句话说函数内部其实是知道全局变量的,只是不能操作全局变量),所以如果你在函数内部
使用global 关键字,就是在告诉程序,我要操作全局变量了。此时,函数才可以正式的操作全局变量。

 

2,局部定义的变量如果想变为全局变量,可以使用global关键字。这样这个局部变量就可以称为全局变量了,但前提条件是你要执行该函数。

python的函数(二)

标签:log   函数   必须   条件   env   number   else   blog   外部   

原文地址:https://www.cnblogs.com/lin1/p/8184344.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!