19-Python3 函数

def area(width,heigh):
    return width*heigh
def print_wecome(name):
    print('welcome',name)

print('Runoob')

w=4
h=6
print('width=',w,'heigh=',h,'area=',area(w,h))

def printme(str):
    print(str)
    return
printme('调用自己定义的函数')
printme('再次丢调用自己的函数')


print('传不可变对象实例****************************************************************************************************')
def ChangeInt(a):
    a = 10
b = 2
ChangeInt(b)
print(b)

print('传可变对象实例****************************************************************************************************')
def Changeme(mylist):
    mylist.append([1,2,3,4])
    print('函数内取值:',mylist)
    return
mylist = [10,20,30]
Changeme(mylist)
print('函数外取值:',mylist)

print('调用函数时可使用的正式参数类型:必须参数*****************************************************************************')
def printme1(str):
    print(str)
    return
printme1('google')

print('调用函数时可使用的正式参数类型:关键字参数******************************************************************************')
def printme2(name,age):
    print('姓名:',name)
    print('年龄:',age)
    return
printme2(name='runoob',age=6)

print('调用函数时可使用的正式参数类型:默认参数******************************************************************************')
def printme3(name,age=6):
    print('姓名为:',name)
    print('年龄为:',age)
    return

printme3(name='runoob',age=60)
print()
printme3(name='google')


print('调用函数时可使用的正式参数类型:不定长参数******************************************************************************')
pass

print('匿名函数******************************************************************************')
sum = lambda arg1,arg2:arg1+arg2
print('相加后的值为:',sum(20,30))
print('相加后的值为',sum(11,22))

print('return语句******************************************************************************')
def sum(agr11,arg22):
    total=arg11=arg22
    print('函数内;',total)
    return total

total = sum(33,44)
print('函数外:',total)

print('变量作用域******************************************************************************')
'''
Local:局部作用域
Enclosing:必包函数外的函数中
Glogal:全局作用域
Build-in:内建作用域
'''
x = int(8) #内建作用域

g_count= 0 #全局作用域

def outer():
    b_count=1 #闭包函数外作用域
    def inner():
        l_count=2 # 局部作用域

print('全局变化和局部变量******************************************************************************')
total2 = 88
def sum(arg01,arg02):
    total2 = arg01+arg02
    print('函数内是局部变量:',total2)
    return total2
sum(1,2)
print('函数外是局部变量:',total2)

2018-11-29  10:07:22

print('global和nonlocal关键字******************************************************************************')
num = 1
def fun1():
    global num
    print(num)
    num = 123
    print(num)
fun1()
print(num)

#以下代码运行会报错
# a = 10
# def test():
#     a = a+1
#     print(a)
# test()

#修改后可以正确运行
a = 9
def test(a):
    a = a+2
    print(a)
test(a)
原文地址:https://www.cnblogs.com/jpr-ok/p/9987913.html