一.函数的定义
"""
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,
然后,在缩进块中编写函数体,函数的返回值用return语句返回。
"""
def say_hello ( ) :
print ( 'hello tony' )
print ( 'hello bob' )
print ( 'hello harry' )
def sum_2 ( x1, x2) :
result = x1 + x2
print ( '%d + %d = %d ' % ( x1, x2, result) )
def say_o ( name) :
print ( 'hello %s ...' % name)
def say_t ( name) :
print ( 'by! %s' % name )
say_t( name)
二.函数的返回值
"""
返回值:函数运行的结果,还需要进一步操作时,给一个返回值
return用来返回函数执行结果,如果没有返回值,默认为None
python可以间接返回多个值(返回了一个元组)
一旦遇到return,函数执行结束,后面的代码不会执行
"""
def sum2 ( x, y) :
return x- y, x+ y, x* y
print ( 'hello' )
print ( sum2( 2 , 3 ) )
三.函数的四种参数
"""
参数:形参 实参
形参:位置参数 默认参数 可变参数 关键字参数
"""
def say_hello2 ( name) :
print ( 'hello %s' % name)
say_hello2( 'westos' )
def getInfo ( name, age) :
print ( name, age)
getInfo( 'westos' , 11 )
getInfo( 11 , 'westos' )
getInfo( age= 11 , name= 'westos' )
def mypow ( x, y= 2 ) :
print ( x ** y)
mypow( 4 , 3 )
def print_hello ( * name) :
"""
:param name:
:return:
*name:可变参数
name:是元组数据类型
"""
print ( 'hello %s' % name[ 0 ] )
print ( 'hello %s' % name[ 1 ] )
print ( 'hello %s' % name[ 2 ] )
print_hello( 'tony' , 'bob' , 'harry' )
def getStuInfo ( name, age, ** kwargs) :
"""
**kwargs是一个字典,可以传递任意多的key-value
:param name:
:param age:
:param kwargs:
:return:
"""
print ( name, age)
print ( kwargs)
getStuInfo( 'westos' , '19' , hobbies= [ 'coding' , 'running' ] , gender= 'female' )
四.变量的作用域
"""
局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行结束
变量会自动删除
全局变量
"""
a = 1
print ( 'outside:' , id ( a) )
def fun ( ) :
global a
a = 5
print ( 'inside:' , id ( a) )
fun( )
print ( a)
print ( id ( a) )