精华内容
下载资源
问答
  • 这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法: def 函数名(参数1,参数2,参数…): 函数体(语句...
  • 今天,我们来学习如何在Python创建自定义函数。 在前面的章节学习中,我们接触到了Python的一些内置函数,如sort,print,append等等。 1.定义函数 现在,我们来看看自定义函数的格式: def 函数名(参数1, 参数2, ...

    今天,我们来学习如何在Python里创建自定义函数。
    在前面的章节学习中,我们接触到了Python的一些内置函数,如sort,print,append等等。

    1.定义函数

    现在,我们来看看自定义函数的格式:

    def 函数名(参数1, 参数2, ·····, 参数n)
    	执行语句
    

    2.普通函数

    定义一个打招呼的函数:

    def greet_user(username):
    	print("你好!" + username)
    greet_user("John")
    

    输出:

    你好!John

    上述代码中,我们定义了一个带有一个形参username的greet_user函数,并传递了一个实参进行调用。
    形参是什么?
    函数完成其工作所需的信息。

    实参是什么?
    用户传递给函数的信息。

    在调用函数时,要将传递的信息放在括号内。在 greet_user(“John”) 中,我们把实参"John"传递给了形参username。

    2.1 位置实参

    意思讲,就是我们要根据函数定义中形参的顺序,再以同样的顺序传入实参,就比如:

    # 这是一个测试函数 仅仅为示例
    def test(num1, num2, num3):
    	print(num1 / num3 + num1 / num2)
    test(10, 20, 30)
    

    输出:
    0.8333333333333

    但如果顺序颠倒:

    test(20, 30, 10)
    

    输出:
    2.6666666666666
    与上一次的结果天差地别,这更说明了参数顺序的重要性。

    2.2 关键字实参

    还是刚才那个函数,只不过可以这样调用它:

    test(num3=30,num1=10,num2=20)
    

    结果为:
    0.833333333333
    和 test(10, 20, 30) 的调用结果一样。
    这是为什么呢?
    这是因为我们指定了形参名来与之传递的实参匹配。
    注意:指定形参名传递实参必须写在函数括弧内的尾部!

    2.3 默认值

    又双叒叕是刚才的函数,只不过要做一些改动:

    def test(num1, num2, num3=30):
    	print(num1 / num3 + num1 / num2)
    

    注意到了吗?num3后方有个等于号和数字30,这是给形参num3设置了默认值——30,即使在调用时,不指定num3参数,它也会默认给予它一个实参30。
    注意:有默认值的形参在函数参数定义括弧里要放到最末尾!

    3.返回值的函数

    照此格式,定义一个超级简单的摄氏度转华氏度的函数:
    华氏度 = 摄氏度*1.8 + 32

    def fahrenheit(Celsius):
    	return Celsius*1.8+32
    print(fahrenheit(20))
    

    输出:
    68
    上述代码中,我们定义fahrenheit返回值函数,并指定了一个名为Celsius的参数,经过计算,得出结果68。
    这其中,return是Python关键字,主要用来返回函数的运算结果。

    最后说一下,return关键字可以返回任何数据类型,而函数的参数可以为字典,列表等等,也可以运用循环来使用函数。这些就等读者们慢慢探究了。

    展开全文
  • Python 提供了很多内置函数如 set(), print() 等,用户也可以自己创建函数,这类函数被称为自定义函数。 函数由关键字 def 开头,函数名字后面在括号里面传入参数,函数里面用 return 关键字返回值,如果没有 ...

    目录

    1. 自定义函数

     2. 参数

    (1)必备参数

    (2)关键字参数

    (3)默认参数

    (4)不定长参数


    1. 自定义函数

            Python 提供了很多内置函数如 set(),  print() 等,用户也可以自己创建函数,这类函数被称为自定义函数。

           函数由关键字 def 开头,函数名字后面在括号里面传入参数,函数里面用 return  关键字返回值,如果没有 return 就代表没有返回值。如:

    def Sum(a, b):
        return a + b

    函数的调用:

    def Sum(m, n):
            return m + n      #定义一个求和函数
    a = Sum(2, 4)             #计算 2 + 4
    print(a)
    

     2. 参数

    (1)必备参数

    函数调用时的参数数量、位置、类型必须与定义时的参数一致

    def Printname(name):
        print('My name is ' + name)

    调用类似于 Printname() 这样的函数中,必须在相应的位置输入参数 name ,否则容易出现语法错误。

    (2)关键字参数

    函数调用时,使用形参的名字=输入的参数值,此时位置可与定义时不一致,如:

    def PrintInfo(name, location):
    
          print('My name is ' + name)
    
          print('I live in' + location)

    调用 PrintInfo() 函数时,即便调用方式为:

    def PrintInfo(name, location):
    
          print('My name is ' + name)
    
          print('I live in ' + location)
    PrintInfo(location = 'sichuan', name = 'xiaoma')

    也不会出现错误。

    (3)默认参数

    函数定义时,为参数设置一个默认值,当函数调用时,没有传入这个参数值,直接使用这个默认的值。注意:定义函数时,默认参数必须指向不可变对象;如果指向可变对象,多次调用,可能得到的不是意料之内的结果。

    def PrintInfo(name, location = 'sichuan'):
        print('my name is ' + name)
        print('I live in ' + location)
    PrintInfo('xiaoma')

    (4)不定长参数

    可以传入不定长度的参数,声明时可以不用命名,加了 * 的参数可以代表所有没有声明的参数。

    def SUM(*number):
        a = 0
        for i in number:
            a = a + i
        print(a)
    SUM(1, 2, 3)       #计算 1 + 2 +3
    

    展开全文
  • 近期有朋友提问,在学习Python自定义函数时有些费解,主要是不能透彻的理解自定义函数中的可变参数和关键字参数,它们的区别和应用场景是什么?那在此借助自己的公众号跟大家...

    近期有朋友提问,在学习Python的自定义函数时有些费解,主要是不能透彻的理解自定义函数中的可变参数和关键字参数,它们的区别和应用场景是什么?那在此借助自己的公众号跟大家聊聊Python中自定义函数的那点常识。

    一、自定义函数的语法


           自定义函数,顾名思义就是根据用户自己的需求做一个DIY,通过这个DIY就可以解决特定场景下的问题了。同时,这个被各种表达式封装的DIY还可以重复利用,从而可以避免代码的大量重复,我举个例子也许就能明白了。首先,我们来看一下构造自定义函数的语法:

    # 自定义函数语法def func_name(parameters):
        expression        return(res)
    • def为创建自定义函数的关键字,即告诉Python,我要准备构造函数了;

    • func_name是用户为自己的函数起的一个名称,最好能够做到见名如见意;

    • parameters为该函数需要使用到的形参,当然你也可以不使用参数;

    • expression就是你的函数实体了,即需要这个实体做什么;

    • return也是个关键字,目的是将最终的结果进行输出;


    例子:

           小明今天刚上完等差数列相关的知识点,晚上老师布置了关于求解等差数列an = 3 + 5n的前5项、前10项、前50项和前100项的和。换着是现在,你完全可以通过Python写一段循环完成累加,具体如下:

    s = 0i = 1while(i<=N):
        s += 3 + 5*i
        i += 1print(s)

           基于上面的这个循环,只需要将N换成5、10、50和100跑4次就可以得到结果。但你会发现,每次运行的时候都是这7行代码一起运行,会显得不是那么简介而高大上。如果,你把这个7行代码封装到一个函数体内,那将是一劳永逸。具体看下方的代码:

    # 等差数列的前N项和def sn(N):    s = 0    i = 1    while(i <= N):
           s += 3 + 5*i
           i += 1    return(s)# 求和sn(5)
    sn(10)
    sn(50)
    sn(100)

    求等差数列的任意前N项和的话,我只需要调用这个自定义函数sn,然后将参数N换着不同的值即可。

           从上面的例子我们也确实感受到了函数的威力,既可以完成特定的需求,又可以将这个封装的函数随时进行重复调用,避免了多行代码的重复编写与运行。


    自定义函数的参数


           自定义函数有个parameters参数,如上面讲的sn函数,其中的N就叫参数,每次运行函数的时候,只需要将一个实参传递给这个形参N即可。在Python中,有关自定义函数的参数一共有4种定义,他们分别是:

    • 必选参数

    • 默认参数

    • 可变参数

    • 关键字参数

    接下来我们对这四种参数进行举例说明。

    1、必选参数

           必选参数,顾名思义就是当你在调用一个自定义函数时,必选给函数中的一些参数赋值,否则程序将会报错,并提醒用户“缺少一些必选的位置参数”。就拿上面的sn函数,如果不给该函数的参数N提供一个值,结果就是这样的:

    def sn(N):
        s = 0
        i = 1
        while(i <= N):
            s += 3 + 5*i
            i += 1
        return(s)# 求和sn()

    0?wx_fmt=png


    2、默认参数

           我们还是以老师布置给小明的等差数列为例,小明就在想,这次老师布置的是an=3+5n的前N项和,那么下次的作业很可能就不是这个通项公式了,但有一条不变的规则就是通项公式中的3和5会变。那在自定义函数的时候,只需要再增加两个参数分别代表3和5。

    def sn(a, d, N = 10):
        s = 0
        i = 1
        while(i <= N):
            s += a + d*i
            i += 1
        return(s)

           上面这个自定义函数一共有3个参数,其中a和d就是必须参数,因为在函数定义时并没有给他一个初始值,而N参数就是一个默认参数,并假定初始值为10,即默认求解通项公式的前10项和。如果你需要改变前10项和的话,只需要给参数N重新赋值即可,举例如下:

    # 求解通项公式为an=8+5n的前100项和sn(a = 8, d = 5, N = 100)

    0?wx_fmt=png

    3、可变参数

           上面讲解的必选参数和默认参数,都是在已知这个自定义函数需要多少个形参的情况下构建的。那如果我不确定该给这个函数传入多少个参数的时候,该怎样自定义函数呢?这么说可能有点抽象,我们举个对比的例子来说明。小明的弟弟小亮刚读一年级,老师布置了一些关于两个数的求和运算,针对这个问题,我们可以构建如下的自定义函数:

    def add(a,b):
        s = sum([a,b])        return(s)# 求和add(10,13)

           这个问题很简单的利用自定义函数就可以解决了。但要求比较严格的爸爸对小亮的智商提出了挑战,即不单单是两个数之和,还可能是三个数、四个数、五个数的和...那这个时候,是不确定老爸会要求计算几个数的和,这个add函数似乎就不能使用了。好在Python给自定义函数提供了可变参数,目的就是解决这类问题的。举例如下:

    def adds(*args):
        s = sum(args)        return(s)# 求和adds(10,13,7,8,2)

           看见了吧,这个可变参数就可以接受任意多个数值,需要注意的是,用一颗星“*”放在参数的前面,就代表了该参数为可变参数。一个可变参数之所以可以接受多个数值,起背后的原理是将这些输入的数值进行了一次捆绑,即组装到元组中。看下面这个打印的例子就能明白了:

    def adds(*args):
        print(args)# 打印参数值adds(10,13,7,8,2)

    0?wx_fmt=png


    4、关键字参数

           虽然可变参数可以接受多个实参,但其背后运行的原理是将这些实参存到到一个元组中,然后将捆绑的元素传递给表达式,这是一个捆绑打包的概念,但无法实现某个实参指定给某个形参。那你会问,我用必选参数就好啦,问题是当你又不确定该给自定义函数设置多少个形参,那必选参数是不是就不能使用了。所以就诞生了关键字参数,我们仍然举例说明这个关键字参数的使用:

           如果用户注册某个平台,手机号及出生日期为必填,其他信息可以选填。那可以根据用户填写的内容来判断其年龄、性别等,这里的选填项就可以使用关键字参数了,因为你不知道用户回填多少项信息:

    def info(tel, birthday, **args):
        import re
        user = {}
        user['tel'] = str(tel)        if args.get('id') == None:
           user['birthday']=''.join(re.findall('\d+',str(birthday)))           else:
           user['birthday']=str(args.get('id'))[6:14]
        user['name'] = args.setdefault('name',None)
        user['gender'] = args.setdefault('gender',0)
        user['income'] = args.setdefault('income',5000)
        user['edu'] = args.setdefault('edu','大专')
        print(user)

    0?wx_fmt=png

    这段代码的含义是,用户注册时必需填写手机号和出生日期,如果除此还填写了身份证号,则以身份证号里面的出生日期为准;如果用户没有填写姓名,则为空(None表示),否则以填写的内容为准;如果用户没有填写性别,则默认为女性(0表示),否则以填写的为准;如果用户没有填写收入状况,则默认为5000,否则以填写的为准;如果用户没有填写学历,则默认为大专,否则以填写内容为准....以此类推,可以填写其他更多的信息,而且还可以将实参与形参一一配对。

           需要注意的是,用两颗星“*”放在参数的前面,就表示该参数为关键字参数。之所以能够将形参与实参对应,是因为传递给函数的实参最终以字典的形式捆绑起来,而字典就是用键值对组成的。同样,我们通过打印的方式来看看字典式的捆绑:

    def info(**args):
        print(args)# 打印参数值info(name = 'Sim', age = 28, gender = '男')

           OK,到此,关于Pyhton自定义函数的四种参数就介绍这些,希望对各位看官有帮助。最后需要说明一点的是,如果你的自定义函数写的非常复杂而庞大,可能会同时使用到这四种参数,则四种参数就必须按照这样的顺序排列:必须参数、默认参数、可变参数和关键字参数。

    关于本文的文章内容和脚本可以从下面的,便于您的操作和保存:

    链接: https://pan.baidu.com/s/1slr0UHB 密码: va3n


    每天进步一点点2015

    学习与分享,取长补短,关注小号!

    640?wx_fmt=jpeg
    长按识别二维码 马上关注


    展开全文
  • Python函数-关键字参数

    2017-06-29 14:38:34
    关键字参数允许传入0个或任意个参数,这些关键字参数在函数自动组装成一个dictdef car(branch,price,**kw): print 'branch:',branch,',price:',price,',other',kwcar('Audi',89435) # 只传入必选参数 car('DusAuto',...

    关键字参数允许传入0个或任意个参数,这些关键字参数在函数自动组装成一个dict

    def car(branch,price,**kw):
        print 'branch:',branch,',price:',price,',other',kw
    
    car('Audi',89435) # 只传入必选参数
    car('DusAuto',234434,wheel=4,maxSpeed =150)    #传入关键字参数

    结果:

    branch: Audi ,price: 89435 ,other {}
    branch: DusAuto ,price: 234434 ,other {'wheel': 4, 'maxSpeed': 150}
    

    函数中的参数有着一定的顺序,分别是:必选参数,默认参数,可变参数,关键字参数

    展开全文
  • 需要把文件做成包的形式常见放置在,python主目录的 \Lib\site-packages下__init__.py好处是:适合大规模的开发,包有多人负责,分模块开发,无限扩展文件数量缺点是:统一归档相对麻烦2、导入文件,直接自定义一个...
  • def python中不可或缺的一个关键字,emmm他有什么神奇之处,让我们来细细品读!!!
  • python自定义函数

    2021-03-30 13:23:41
    python中,自定义函数使用def关键字,后面加函数名和参数列表,如下: def 函数名(参数列表): 函数体 如果不需要传参,括号里就不用填,注意,python中不需要定义变量类型。自定义函数除了函数的功能是我们自己...
  • python——自定义函数

    万次阅读 2019-04-17 11:35:46
    一、概述 在编写脚本的过程中,对于要重复完成的工作,我们可以提取...二、自定义函数 2.1 函数声明、调用 在python中使用def可以声明一个函数。完整的函数是由函数名、参数以及函数实现语句组成的,在函数...
  • 函数 1.定义 函数是组织好的,可重复使用的,用来实现单一...自定义函数 1.3语法: def functionname(parameters): "函数_文档字符串" function_suite return [expression] 1.4函数的返回值 ...
  • 自定义函数 ,将自定义函数 封装为函数模块,然后导入模块,再调用里面的函数装为函数模块,然后导入模块,再调用里面的函数 原理:将python模块文件的全局作用域变成了新模块对象的局部作用域。 ...
  • python 自定义函数

    2018-11-19 10:06:19
    定义一个函数 规则: def 关键词开头,后接函数标识符名称和圆括号()。 圆括号中间放传入参数和自变量。圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数...
  • 了解Python自定义函数的定义与使用 学习内容: 1、 函数的定义 # 新建Python文件输入以下代码 # 定义 def my_function(这是形式参数): print(这是形式参数) # 使用 my_function('这里是形式实参数(后期会讲解实际...
  • Python自定义函数的参数

    千次阅读 2018-07-06 10:24:34
    python函数的参数根据类型特点分成四个:必选参数、默认参数、可变参数、关键字参数定义示例代码结果必选参数普通参数,必传def power(x): s = 1 while x &gt; 1: x -= 1 s *= x  return sprint(power(5))24...
  • Python基础:自定义函数及函数基本使用

    千次阅读 多人点赞 2019-02-04 00:09:34
    文章目录自定义函数及函数基本使用语法函数的调用与注释及小知识点函数的参数必须参数关键字参数默认参数混合使用递归 自定义函数及函数基本使用 函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建...
  • 第八讲 python自定义函数返回值

    千次阅读 2017-11-09 14:31:00
    注意自定义函数:统一文件内函数名称不能相同。 单返回值 语法结构: def function_name([para1,para2...]): code... code... ... return value--------------可以返回一个值 eg: def test_c(n1...
  • python自定义函数课后习题

    千次阅读 2018-07-30 16:54:00
    1、编写一个函数,判断传入的字符参数是否为“回文联” def ishw(str1): if str1==str1[::-1]: print('是回文联') else: print('不是回文联')  用[::-1]或者reversed实现字符串反转操作。sorted方法...
  • python自定义函数

    千次阅读 2018-06-01 16:33:57
    也可以创建用户自定义函数。 函数定义 函数定义的简单规则: 函数代码块以def关键词开头,后接函数标识符名称和圆括号(),任何传入参数和自变量必须放在圆括号中间 函数内容以冒号起始,并且缩进 若有返回值...
  • 键盘侦听器是一个模块,允许您创建自定义热键(组合)或自定义关键字,并将其绑定到Python中的自定义函数。 组合是绑定到功能的自定义热键。当按下组合键时,将执行该功能。组合真的很容易设置,可以在下面的示例中...
  • python 自定义函数的属性

    千次阅读 2019-01-09 15:15:04
    名称 类型 说明 __annotions __ dict 参数和返回值的注解 ...函数闭包,即自由变量的绑定(通常是None) ...编译成字节码的函数元数据和函数定义体 __defaults __ tuple 形式参数的默认...
  • 函数 函数的概念: 函数就是实现某一特定功能的代码的封装。 函数的分类 系统函数:系统已经定义好的函数,程序根据需求直接使用 自定函数:程序员自己定义的函数。(自己造的机器) 自定函数语法: def 函数名(形参...
  • Python笔记之自定义函数

    千次阅读 多人点赞 2018-02-23 00:47:31
    Python3 定义函数 Python3 定义函数 定义一个函数 语法 实例求解二元一次方程 函数调用 参数传递 可更改mutable与不可更改immutable对象 python 传不可变对象实例 传可变对象实例 参数 必选参数 关键字参数 ...
  • 1、python自定义函数 Python中用户自己编写的用于实现特定功能的函数代码块,就是自定义函数。 如: def是关键字,saa是自定义函数名,括号用于传参,可以不写参数,冒号后面是函数代码块,这里只写了一条print...
  • Python学习:自定义函数,不可或缺

    千次阅读 2020-09-03 17:26:46
    但你也可以自己创建函数,这被叫做用户自定义函数。 一、函数基础 说白了,函数就是为了实现某一功能的代码段,只要写好以后,就可以重复利用。 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码...
  • 主要介绍了简单讲解Python中内置函数的使用,函数的使用是Python学习当中的基本功,需要的朋友可以参考下
  • 自定义函数 print("===================================================") print("********************自定义函数**********************") print("========打印函数=================") def MyFunction(): ...
  • 自定义函数1.函数解析2. 函数返回值 return3. 数据从何而来?–参数3.1 可更改(mutable)与不可更改(immutable)对象3,2 必备参数3.3 关键字参数3.4 默认参数3.5 不定长参数4. 变量作用域 函数使用 参数 作用域 year =...
  • 但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:· 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。· 任何...
  • python学习笔记 函数作为在汇编语言中就出现的东西,在python里一定也少不了。python函数进行了功能的拓展,可以实现很多强大的功能
  • 前面介绍了如何使用函数,这一节我们就来学习怎么创建自己的函数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,874
精华内容 17,949
关键字:

创建python自定义函数的关键字

python 订阅