函数(function):在一个程序中可重复使用的程序段
我们可以给一段程序起一个名字,之后我们可以通过这个名字来调用这个函数使用这一段程序,并且反复使用 (调用函数)
用关键字 ‘def'(define的简写) 来定义,identifier标识符(参数)identifier
参数list
return statement
局部变量 vs 全局变量
例:
#没有参数和返回值的函数
def say_hi(): #依据函数本身的意义创建函数名
print(" hi!") #Python是一门完全依赖缩进的语言,他没有“;”作为每一句的结尾,所以函数部分需要使用tab键缩进一行
say_hi() #通过函数的名称来调用函数,使用它的内容
say_hi() #通过函数名称反复调用函数段
# 有参数但无返回值的函数
def print_sum_two(a, b): #传入两个数字型的参数并求和
c = a + b
print(c)
print_sum_two(3, 6)
def hello_some(str): #传入字符串类型的参数
print("hello " + str + "!")
hello_some("China")
hello_some("Python")
#有参数且有返回值的函数
def repeat_str(str, times):
repeated_strs = str * times
return repeated_strs
repeated_strings = repeat_str("Happy Birthday!", 4)
print(repeated_strings)
#全局变量与局部变量
x = 60 #全局变量,在整个程序所有的范围内都可以使用
def foo(x):
print("x is: " + str(x)) #打印结果为60
x = 3 #局部变量,仅在程序段内可以使用
print("change local x to " + str(x)) #打印结果为3
foo(x)
print('x is still', str(x)) #打印结果为60
x = 60
def foo():
global x #利用关键词global在函数内部定义一个全局变量
print("x is: " + str(x)) #打印结果为60
x = 3
print("change local x to " + str(x)) #打印结果为3
foo()
print('value of x is', str(x)) #打印结果为3,注意和上面结果的对比