初识函数,函数定义,变量,作用域

########################定义一个函数############################
#def 函数名(形参列表):
#   函数体
#   retunrn 返回值
######向函数中传递参数是时有位置参数和关键字参数两种方式#######
######两种方式可以混用,但位置参数必须在关键字参数前面,并且一一对应#######
######在定义函数是时,可以通过对形参赋值实现对参数指定默认值#######
######参数组/非固定长度参数,*args可向函数中传递一个列表,**agrs可向函数传递一个字典

# def v_family(*args):
#     print(args)
#
# v_family(*['miku','ran'])
# v_family(['miku','ran'])
# # ('miku', 'ran')
# # (['miku', 'ran'],)

################################全局变量与局部变量#######################
#全局变量:在主程序中定义的变量
#局部变量:在子程序中定义的变量
#局部变量与全局变量同名时,在子程序中,局部变量起作用
#在子程序中,可以使用global关键字调用并修改全局变量值
#在编程中,全局变量通常采用大写,局部变量通常小写,易与区分

# NAME='miku'
# print(NAME)
# def print_name():
#     name='rin'
#     global NAME
#     NAME='MIKU'
#     print(name,NAME)
#
#
# print_name()
# print(NAME)
#
# # miku
# # rin MIKU
# # MIKU
# #当定义的函数有多层的时候,还可以采用ninlocal关键字调用上一级函数的变量
# def print_name():
#     name='miku'
#     def change_name():
#         nonlocal name
#         name='MIKU'
#     change_name()
#     print(name)
#
# print_name()


#############################函数的前向引用#######################
# #函数的前向引用:函数及即"变量",先定义在引用.
# def print_name(name):
#     print(name)
#     name=change_name(name)
#     print(name)
# def change_name(name):
#     return name.upper()
# print_name('miku')
# ###正常调用
# def change_name(name):
#     return name.upper()
# def print_name(name):
#     print(name)
#     name=change_name(name)
#     print(name)
#
# print_name('miku')
######正常调用


def print_name(name):
    print(name)
    name=change_name(name)
    print(name)

print_name('miku')

def change_name(name):
    return name.upper()

####运行错误,change_name()未定义,

 

posted @ 2020-06-07 12:37  雑音未来  阅读(165)  评论(0编辑  收藏  举报