函数能提高代码的重复利用率以及降低冗余。那么定义一个函数时要注意什么?print和return有什么区别?定义函数时不确定参数的数量怎么办?局部变量和全局变量重名时会有什么影响?
定义函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(),任何传入参数和自变量必须放在圆括号中间。
def hello(name): #name是形式参数,没有实际的值
print('hello',name)
该函数将一个字符串作为传入参数,再打印到屏幕上。
定义函数时,return和 print有什么区别?
def function_that_prints():
print ('I printed')
def function_that_returns():
return 'I returned'
f1 = function_that_prints()
f2 = function_that_returns()
print ('Now let us see what the values of f1 and f2 are')
print (f1)
print (f2)
return会返回一个值给系统,使系统能够利用该返回值,但是print只会打印一个值,系统无法利用。因此 “I printed” 无法赋值给 f1。
调用函数
定义一个函数时,我们只给了函数一个名称,指定了函数里包含的参数,和代码块结构。当函数的基本结构完成以后,我们可以通过另一个函数调用执行,也可以直接从Python提示符执行。
def welcome(name):
print('Welcome,',name)
def hello(name):
print('hello,',name)
def helloworld(name,age):
if age>=30:
welcome(name)
if age <