python】【Python基础】Python的函数怎么写

2020-10-21 10:46发布

4条回答
浅浅77
2楼 · 2020-10-21 11:25

定义一个函数,需要用到def语句。我们需要函数名以及参数,函数名就是这个函数的名称,参数就是我们的输入。

如下图所示,alsp就是函数名,a、b、c就是参数。

缩进块都是函数体,通过return语句返回结果。

image.png

我们通过alsp(1,3,6)调用这个函数,并传入了3个值1、3、6,。运行结果如下图所示

image.png

如果我们的函数没有返回值呢?如下图所示,函数明明没有返回值但我们仍然用变量z接收这个函数的返回值

image.png

打印结果如下,为None.也就是说,如果函数没有return语句,那么返回的结果是none

image.png

那么,函数可以返回多个值么?也是可以的。

如下图所示,我想计算a+b+c,又计算a-b-c,那么我return的时候,就返回了两个值。

通过i和n接收返回值。

image.png

看运行成果,成功获取到了返回的2个值。

image.png

那如果我用一个值接收呢,如下图所示

image.png

打印结果如下,用一个值接收也成功的打印出来了。但发现没有, 打印的值旁边有两个括号,这不就是tuple么。

image.png

所以,所谓的return返回多个值,可以理解为还是一个值,只不过这个值是个tuple。不过我们可以省略括号而已。

乐xenia
3楼 · 2020-10-21 16:47

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

我们以自定义一个求绝对值的my_abs函数为例:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。(更多学习内容,请点击python学习网)

如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。

在Python交互环境中定义函数时,注意Python会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下:

>>> def my_abs(x):                                      
...     if x >= 0:                                      
...         return x                                    
...     else:                                           
...         return -x                                   
...                                                     
>>> my_abs(-9)                                          
9                                                       
>>> _

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):

>>> from abstest import my_abs                          
>>> my_abs(-9)                                         
9                                                       
>>> _

总结

定义函数时,需要确定函数名和参数个数;

如果有必要,可以先对参数的数据类型做检查;

函数体内部可以用return随时返回函数结果;

函数执行完毕也没有return语句时,自动return None。

函数可以同时返回多个值,但其实就是一个tuple。


橘子奶茶冻
4楼 · 2020-10-25 14:20

  1. 1、函数命名

    对函数命名时使用描述性名称,这样大概能从函数名称分辨出函数大概内容,对于一个文档中含有多个函数或者大型项目中非常有用。同时函数命名时只使用小写字母及下划线。

    python函数怎么编写?python函数编写格式规范?

  2. 2、多个函数

    如果程序或者模块包含多个函数,可使用两个空行将相邻的函数分开,这样在视觉上能快速定位函数范围。

    python函数怎么编写?python函数编写格式规范?

  3. 3、函数功能描述

    函数应用注释语句描述其功能,放于函数定义后面并采用文档字符串格式。这样使得其它人在使用该函数时通过阅读注释便能快速了解函数的用途。

    python函数怎么编写?python函数编写格式规范?

  4. 4、形参格式

    形参如有默认值,给形参赋值时等号两边不要有空格,函数调用中的关键字实参也是一样。

    python函数怎么编写?python函数编写格式规范?

  5. 5、import语句

    函数中所有的import语句应放在文件的开头,除了在文件的开头使用了注释来描述整个程序外,此时可将import语句放于注释之后。

    python函数怎么编写?python函数编写格式规范?

  6. 6、参数过长

    如果函数的参数过长,可在函数定义中输入左括号后按回车键,并在下一行按两次Tab键,从而将形参列表和只缩进一层的函数体区分开来。

    python函数怎么编写?python函数编写格式规范?


相关问题推荐

  • 回答 1

    可以试下在cmd命令行执行,编辑器中对turtle的支持度不是很好。

  • 回答 6

    人工智能是一门起步晚却发展快速的科学。20 世纪以来科学工作者们不断寻求着赋予机器人类智慧的方法。现代人工智能这一概念是从英国科学家图灵的寻求智能机发展而来,直到1937年图灵发表的论文《理想自动机》给人工智能下了严格的数学定义,现实世界中实际要...

  • 回答 7

    代理ip网址http://www.goubanjia.com/http://www.ip181.com/https://www.kuaidaili.com/python 环境安装requests库安装bs4库proxies设置代理服务器地址proxies = {'http':  'http://61.155.164.110:3128'}http://www.goub......

  • 回答 2

    要求:用户正确输入用户名和密码便成功登陆,分别有三次机会输入用户名和密码,超过3次便锁定分析:用两个while循环即可,代码如下:user_name = Brettpassword = 1314i = 0n = 0Is_exit = False  #进入循环标志while not Is_exit:User_name = input(please ...

  • 回答 2

    MacOS设置环境变量path的完全总结  一、MacOS加载bash shell 环境变量的加载顺序   mac 一般使用bash作为默认shell,Mac系统的环境变量,加载顺序为:1、系统级别的/etc/profile                                              ...

  • 回答 4

    当你运行代码的时候,需要你指定闹钟的时间,然后闹钟就会在指定的时间想起来。电脑pytho加载time模块,获取此时此刻的时间:import timet = time.localtime()print(t)时间是以字典的形式出现的。从字典里面提取时间信息:now = time.strftime(%H %M, t).spli...

  • 回答 5

    在几千条数据中有正负数,筛选出同一供应商下正负数相加为零的数据,正负数相加有可能为一正一负相加为零,也有可能是一正多负,也有可能一负多正,总体是将可以所有正负数相加为零的数据标注颜色出来。excel论坛上说计算量太 ...可以用pandas来处理...

  • 回答 2
    已采纳

    import sqlite3p = sqlite3.connect(file:memDB1?mode=memory&cache=shared, uri=True)p.execute('CREATE TABLE tbTest (fld1, fld2)')p.execute(INSERT INTO tbTest VALUES ('fld1', 'fld2'...

  • 回答 5

    define的东西不一定是function,也可能是generator之类的

  • 回答 4

    不可以所有编程最起码都得学函数,分支,循环之后才可以编写代码

  • 回答 4

    >>> import math>>> setattr(math, random, lambda x: x+1)>>> math.random(2903)2904

  • 回答 5

    count = 0 # 添加1def fib(n):    global count # 添加2    count += 1 # 添加3    if n==0:        return 0    elif n==1:        return 1    else:        return fib(n-1) + fib(n-2)print(fib(5)) # 5

  • 回答 3

    apply

  • 回答 6

    Python Lambda函数是没有任何名称的函数。它们也称为匿名或无名功能。 lambda一词不是名称,而是关键字。此关键字指定后面的函数是匿名的。现在您已经知道这些匿名函数指的是什么,让我们进一步了解一下如何编写这些Python Lambda函数。...

  • 回答 2

    python里动态构造函数可以使用闭包lista = [funca,funcb,funcc]def make_func(val):     def func(name):         print('hello %s from %s' % (name, val))     return funcfuncs = map(make_func, lista)map(lambda...

  • 回答 2

    估计,题主说的是这些东西首先,我也是初学者,只是平时经常用help查看一下函数库,所以经常遇到*arg代表是不固定传参,可以传,列表,单个元素,元组,他会把你传的这些东西形成一个元组**kwargs也代表不固定传参,可以传字典,他会吧你传的东西形成一个字典...

没有解决我的问题,去提问