本节知识点:(1)函数定义格式;(2)五种参数使用

函数定义

基本语法格式

def function_name(  parameter_list  ):

 return values
  • 函数通常为小写英语单词及其组合,以下划线隔开,例如:sum、mean、cost_calculate

  • 埋个坑,记得用pass

    def function_name(  parameter_list  ): pass
  • 没有 return values 的时候,返回值为None

  • 很多教材喜欢写 参数是可变的、不可边的怎么怎么考虑!其实这么啥子必要。

    在Python中所有的变量均是reference,理解这一点,就都ok了

    参考之前的推文:Pyhon中的赋值与参数传递,或许跟你想的不太一样!

  • 函数的简单介绍可以通过, """ 简单的测试函数 """ 这样子实现

    def func():    """ 简单的测试函数 """
    
        passfunc.__doc__
    ' 简单的测试函数 '

函数参数

从左至右位置排序:位置参数、默认参数、可变参数、命名关键字参数、关键字参数

位置参数

代码示例、

def power(x,n):    return x**nprint( power( 10,2) ) print( power( 10,3) )
1001000
  • 比较简单,没啥子好说的,就是注意一哈调用的时候需要一个一个对上号就行

  • 假如怕自己对不上号,就辛苦点,这么调用

    print( power(x= 9,n=3) )
    729

    或者

    print( power(9,n=3) )
    729

    但是不要这样子写

    print( power(n=3,9) )
      File "", line 1    print( power(n=3,9) )                    ^SyntaxError: positional argument follows keyword argument

    原因就不多说了,SyntaxError已经给出解释,SyntaxError: positional argument follows keyword argument

    这样子写也不对

    print( power(3,x=9) )
    ---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last) in ----> 1 print( power(3,x=9) )TypeError: power() got multiple values for argument 'x'

    原因就不多说了,TypeError已经给出解释,TypeError: power() got multiple values for argument 'x'

默认参数

用途:简化调用。出于这个目的,设置默认参数基本原则:

  • 位置参数设置在前,默认参数设置在后
  • 函数有多个参数,变化大的参数放置在前,变化小的参数放置在后面位置,同时为变化小的参数设置默认值

代码示例、

def power(x,n=2):    return  x**n

print( power(10) )print( power(5,3) )
100125
def enroll_func(name, gender, money=60, city='Beijing'):    print( "name:{};gender:{};money:{};city:{}".format(  name, gender, money ,city )  )

enroll_func("xiaole", "male" )enroll_func("Frank", "male", money=1000, city="shanghai" )
name:xiaole;gender:male;money:60;city:Beijingname:Frank;gender:male;money:1000;city:shanghai

可变参数

用途:解决传入参数个数不定的情况,

代码示例、

def simulate_sum( *args ):    result = 0     print( "args: {} ; 数据类型:{}".format( args, type(args)    ) )    for arg in args:        result+=arg

    return result

result =  simulate_sum(  1,2,3,4,5  )print(  result )
args: (1, 2, 3, 4, 5) ; 数据类型:'tuple'>15
result =  simulate_sum(    )print(  result )
args: () ; 数据类型:'tuple'>0

传多了就是一个大的tuple,传少了就是一个小的tuple,不传就是个空tuple

关键字参数

用途:允许传入0个或者多个包含参数名字的参数,这样这些个参数就可以组成一个dict,从dict取参数相较于从tuple取参数,舒服!!

代码示例

def person_info(name,gender, **kwargs):    print( "主要信息:name {},gender {}".format( name, gender  )   )    print( "其他信息:")    for key,value  in kwargs.items():        print( "{} ---> {}".format( key,value  )  )

person_info(  'Bob', 'female', city='Beijing',age=18, height =  168 )
主要信息:name Bob,gender female其他信息:city ---> Beijingage ---> 18height ---> 168

命名关键字参数

用途:指定关键字的名字

def sorted(__iterable: Iterable[_T],           *,           key: Optional[(_T) -> Any] = ...,           reverse: bool = ...) -> List[_T]Return a new list containing all items from the iterable in ascending order.A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order.

此处的key和reverse都是命名关键字参数,说白了,我就只允许你这来关键字来了,其他的我不要,不要

sorted( [-1,4,2,3], reverse=True)
[4, 3, 2, -1]
sorted( [-1,4,2,3], reverse1=True)
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last) in ----> 1 sorted( [-1,4,2,3], reverse1=True)TypeError: 'reverse1' is an invalid keyword argument for sort()

参数组合

所有的参数都能组合使用,但是位置得定好,从左到右依次是:位置参数、默认参数、可变参数、命名关键字参数、关键字参数

常用的几种格式

格式1、只要位置参数

def func(x, y):    pass

格式2、位置参数+默认参数

def func(x, y,m=1,n=2):    pass

格式3、*args + **kwargs

def func(*args, **kwargs):    pass

格式4、位置参数+ 命名关键字参数

def func(x, *,reverse, order   ):     pass

格式5、位置参数+ 命名关键字参数

def func(x, *,reverse =False , order  = 1 ):     pass

References

[1] Runnoob  https://www.runoob.com/python3/python3-function.html

Motto

日拱一卒,功不唐捐

长按下图  关注xiao乐

python中execute函数_Python中的函数定义与参数使用相关推荐

  1. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  2. python中execute函数_python中的函数是如何使用的?

    欢迎关注「issnail」感谢! "一起学习,一起成长!" 1.定义函数与调用函数 定义python函数:依次输入def.函数名.带有函数参数的圆括号,最后紧跟一个冒号(:) 函数 ...

  3. python中pop函数_Python中的Pop函数

    python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...

  4. python local函数_python中的函数

    函数 一.函数的定义 def是可执行的代码.def创建了一个对象并将其赋值给某一变量名.def语句是实时执行的,即:def在运行时才进行评估,而在def之中的代码在函数调用后才会评估.函数本身就是一个 ...

  5. python 高级使用实例_Python中的高级函数map/reduce使用实例

    怎么用Python写mapreduce,请举例说明,初学者,请1.lambda # 匿名函数# 基本用法 lambda x: x**2 # 第一个参数,然后是表达式# 也可以使用如下(lambda x ...

  6. python内置函数调用_Python中函数的基本定义与调用及内置函数详解

    前言 函数function是python编程核心内容之一,也是比较重要的一块.首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有 ...

  7. python中模块和函数_Python中函数和模块的体验与使用

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  8. python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...

    1 classMethodDemo():2 classVar = 'This is a class variable' #类变量,可在类函数或者成员函数中引用,为所有实例共有的 3 def __ini ...

  9. python round函数_python中round函数如何使用

    round函数很简单,对浮点数进行近似取值,保留几位小数.比如 >>> round(10.0/3, 2) 3.33 >>> round(20/7) 3 第一个参数是 ...

  10. python中itemgetter函数_Python中的sorted函数以及operator.itemgetter函数

    operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=op ...

最新文章

  1. R语言构建xgboost模型使用早停法训练模型(early stopping):自定义损失函数(目标函数,loss function)、评估函数(evaluation function)
  2. Android中开发需要的高效助推的命令总结
  3. lightoj 1063 求割点
  4. 理解oauth2.0【转载】
  5. Python 实用技巧之正则表达式查找和替换文本的操作方法
  6. freeCodeCamp 学习记录——初级算法「01」翻转字符串
  7. 音频光端机的必备要素有哪些?
  8. data:image data url 文件上传
  9. docker build 中的上下文路径
  10. 信息学奥赛C++语言:投资收益
  11. 提示框几秒消失比较好_移动设计提示框介绍-《产品日常笔记》
  12. 省级面板数据(1990-2019):能源消费(煤炭、焦炭、石油、原油等)excel或stata版本
  13. Excel 10个高级办公技巧
  14. Vmware中win7联网
  15. Layui文件上传样式在ng-dialog不显示的问题处理
  16. 正交匹配追踪算法OMP(Orthogonal Matching Pursuit)
  17. 资深研发真实编写的骚注释,你学废了么?
  18. R语言 绘图 (ggplot2)
  19. 无公网IP远程黑群晖【内网穿透】
  20. 利用MTurk和Qualtrics发放问卷与数据分析,设置survey code,使用vlookup或python合并csv文件

热门文章

  1. 自己常用的Linux命令总结
  2. vuex 源码分析_Vuex框架原理与源码分析
  3. 第六章 设计程序架构 之 设计实现WebSocket策略
  4. ubuntu下修改mysql编码,使能支持中文
  5. Asp.net 定时任务
  6. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境
  7. python自动化框架测试实操_自动化框架之 python+selenium+pytest
  8. 清零 css,css样式清零及常用类
  9. 为什么将表格的method改为post后就无法工作_用Python将Keras深度学习模型部署为Web应用程序...
  10. TCP解决粘包问题(结构数据封包拆包)