• 【Python全栈笔记】03 [模块二] 16-17 Oct 函数


    定义一个函数

    def function_name(形式参数):

      代码块

      return 'Value' #如果没有写return,则默认返回None

      # 一个函数到return这一行就结束执行了,在return后面写的东西不执行

    function_name(实际参数)  # 只有call这个函数的时候才会执行函数里面的代码

    函数把功能提取了出来,提高效率减少代码量

    定义函数的时候,参数可以有不止一个,可以是普通参数,默认参数,动态参数。默认参数放在普通参数后面,动态参数放在最后面。

    输入实际参数的时候按照形式参数顺序依次写入,如果不按照顺序,则需要把参数名加上写入。

    默认参数可以有默认值,输入实际参数的时候可以覆盖默认值。

    动态参数通常写为'*args'和'**kwargs'两颗星号的放在后面,一颗星的参数算作一个tuple, 两颗星的算作一个dict。

    函数外部的变量为全局变量,函数里面是局部变量,python内置的为内置变量。遵循local > global> built-in 的变量查找顺序。

    为了便于区分,全局变量用全大写。在函数内如果需要使用全局变量,需要在变量前加上global。 

     1 def top_movies(num=5, *args, **kwargs):
     2     print(num)
     3     print(args)
     4     print(kwargs)
     5 
     6 rank = (0, 1, 2, 3, 4, 5)
     7 keywords = { '1': 'The Shawshank Redemption', '2':'Fight Club', '3':'Toy Stories', '4':'Radio Rock', '5':'Fantastic Mr. Fox'}
     8 
     9 top_movies(*rank, **keywords)
    10 
    11 '''
    12 运行后得到结果:
    13  0
    14 (1, 2, 3, 4, 5)
    15 {'1': 'The Shawshank Redemption', '5': 'Fantastic Mr. Fox', '2': 'Fight Club', '3': 'Toy Stories', '4': 'Radio Rock'}
    16 参数第一个数字默认为num, 虽然是在rank这个tuple里面,剩余的几位为args,最后为kwargs。可见是严格按照指定参数顺序来的。
    17 如果不在实参前加上'*'和'**',输入的参数会默认为实际参数的第一个值。 
    18 '''

    Reference:

    想不起来讲了什么内容的时候,参考一下老师的教学笔记 

    http://www.cnblogs.com/wupeiqi/articles/5453708.html

  • 相关阅读:
    nsis打包
    学习记录:ST表
    学习记录:快速幂
    学习记录:哈夫曼树
    学习记录:二叉树
    学习记录:康托展开 与 逆康托展开
    堆排序简介
    动态规划水题集
    lower_bound( ) 与 upper_bound( )
    琐碎的一点技巧
  • 原文地址:https://www.cnblogs.com/doble-bern/p/5972028.html
Copyright © 2020-2023  润新知