美文网首页
Python3:函数

Python3:函数

作者: ACphart | 来源:发表于2018-07-15 22:32 被阅读1次

示例

def  func_name(para_list):
    func_body
    return object      #可选

位置实参与关键字实参

  • 使用位置实参调用函数,实参的顺序要和形参的顺序一样
  • 关键字实参通过形参名-实参的形式传递实参给函数,实参的顺序没有影响
def  func(name, age):
    print(name, age)

func('tom', 12)        #位置实参
func(age=12, name='tom')    #关键字实参

形参默认值

  • 编写函数时,给形参制定默认值,在函数调用时可省略相应的实参。

返回值

  • 函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。

传递列表(重要)

  • 将列表传递给函数后,在函数中对这个列表所做的任何修改都是永久性的(类似于列表的浅复制)
  • 通过切片法传递列表的副本可以避免原列表被修改,如下
func_name(list_name)  #原列表会被修改
func_name(list_name[:]) #原列表不会被修改

传递任意数量的实参

  • 有时候,预先并不知道函数需要接受多少个实参,可以使用如下形参接收任意数量的实参
def  myfriend(*friends):
    print(friends)

myfriend('tom', 'joe', 'amy', 'jim')

形参名*friends中的星号让Python创建一个名为friends的空元组,并将收到的所有值都封装在这个元组中。

使用任意数量的关键字实参

  • 有时候,需要接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息,在这种情况下,可将函数编写成能够接收任意数量键-值对,如下
def  usr_info(**usr_info):
    info_dict={ }
    for key , value in usr_info.items():
        info_dict[key] = value
    return info_dict

tom_info = usr_info(first_name='tom', last_name='james', location='princeton', age=65)
print(tom_info)

形参**usr_info中的两个星号让Python创建一个名为usr_info的空字典,并将收到的所有键-值对都封装到这个字典中去。

相关文章

网友评论

      本文标题:Python3:函数

      本文链接:https://www.haomeiwen.com/subject/yzlmpftx.html