Python_函数1

函数?

定义一次,可以多次调用。避免重复写同一个代码段。

例子

#coding=utf-8
def sayHello():
	 print 'Hello World!'

sayHello()
#use parameters
def sayHello2(x):
	 	print 'Good Day!'+x
sayHello2('杰森。斯坦森')

y='Joy'
sayHello2(y)

print("你好") 

 开始未加 #coding=utf-8 导致编译报错

SyntaxError: Non-ASCII character '\xe4' in

解决:需要在文件开头指定中文编码。

二、

局部变量

函数参数的传递都是值的传递。(同Java)

注意到一点:函数参数的命名x与外部传参的变量x相同,可读性不好,不容易查找变量初始定义在哪。

所以建议

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。

例子:

def func(x):
	print 'x is ',x
	x = 2
	print 'changed local x to ',x
x=50
func(50)
print 'x is still',x

 得到结果:

x is  50
changed local x to  2
x is still 50
[Finished in 0.2s]

 如果要改变输入的值呢?

使用global语句

def func():
	global x
	print 'x is ',x
	x = 2
	print 'changed local x to ',x
x=50
func()
print 'x is ',x

 得到结果:

x is  50
changed local x to  2
x is  2
[Finished in 0.2s]

三、

默认参数

#coding=utf-8
def func():
	global x
	print 'x is ',x
	x = 2
	print 'changed local x to ',x
x=50
func()
print 'x is ',x

def say(message='123', times =1):
	print message*times
	#print '函数内'
#print '函数外'
say()
say('Hello')
say('world',3)	

 得到:

changed local x to  2
x is  2
123
Hello
worldworldworld
[Finished in 0.2s]

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2369486
今日推荐