Python中用那个关键字定义函数 python函数以什么关键字定义 您所在的位置:网站首页 python用什么关键字定义函数 Python中用那个关键字定义函数 python函数以什么关键字定义

Python中用那个关键字定义函数 python函数以什么关键字定义

2024-06-29 09:21| 来源: 网络整理| 查看: 265

函数的定义

函数在数学上的定义:y=f(x) ,y是x的函数,x是自变量。y=f(x0, x1, ..., xn) python的函数是由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元, 它能完成一定的功能 。

在Python中,用关键字def关键字来定义函数,如下:

def greet_hello(): print("hello!") greet_hello()

关键字def后面是函数名, 它其实就是一个标识符。后面的括号必须有,里面可以有参数。函数定义,只是声明了一个函数,它不会被执行,需要调用,函数的调用很简单,直接函数名加括号就调用了。定义需要在调用前,也就是说调用时,已经被定义过了,否则抛NameError异常。调用时写的参数是实际参数,是实实在在传入的值,简称实参。

函数名就是标识符,命名要求一样,同时语句块必须缩进,约定4个空格,python中的函数如果没有return语句,隐式会返回一个None值,定义中的参数列表称为形式参数,只是一种符号表达。而调用的时候写的参数是实际参数,是实实在在传入的值,简称实参。

def add(x, y): result = x+y return result out = add(4,5) print(out) 结果为: 9 callable(add) 结果为:True

上面只是一个函数的定义,有一个函数叫做add,接收2个参数,然后计算的结果,通过返回值来返回。

调用的时候通过函数名add加2个参数,同时返回值可使用变量接收。定义需要在调用前,也就是说调用时,已经被定义过了,否则抛NameError异常 函数是可调用的对象,callable() 

上面的代码可以复用,不仅仅是对数字可以相加,也可以对字符串相加。不需要事先声明。

函数的作用功能封装,便于后面复用。减少冗余代码。代码更易读、简洁美观。函数的返回值

首先先来看两个例子:

def showplus(x): print(x) return x+1 showplus(5) def showplus(x): print(x) return x+1 print(x+1) showplus(5) 结果都为: 5 6

上面的例子可以看到,return后,后面的语句就不会再执行了。

函数的返回值一般有四种情况:

没有返回值,默认会返回None。直接一个return,默认返回None。返回一个值。返回多个值,返回多个值其实也相当于返回一个,返回的多个值用元组接收。可以返回任意数据类型的值。可以使用解构来提取值。

返回一个值

def mylen(s1): """计算s1的长度""" length = 0 for i in s1: length = length+1 return length #函数调用 str_len = mylen("abc") print('str_len : %s'%str_len) 结果为3

返回多个值

def ret_demo1(): '''返回多个值''' return 1,2,3,4 def ret_demo2(): '''返回多个任意类型的值''' return 1,['a','b'],3,4 ret1 = ret_demo1() print(ret1) ret2 = ret_demo2() print(ret2) 结果为:(1, 2, 3, 4) (1, ['a', 'b'], 3, 4)

应当注意的是,函数执行时,一旦遇到return,就会结束整个函数。

def ret_demo(): print(111) return print(222) ret = ret_demo() print(ret) 结果为1111 None

可以看到,后面return后面的语句没有执行了。

多条return语句

def showplus(x): print(x) return x + 1 return x + 2 showplus(5) 结果为: 5 6 def guess(x): if x > 3: return "> 3" else: return "{}}".format(" ".join([str(j) for j in range(i,0,-1)]),width)) print(tail) show(11)

结果为:

Python中用那个关键字定义函数 python函数以什么关键字定义_Python函数_03

 

 

def showtail(n): tail = " ".join([str(i) for i in range(n,0,-1)]) print(tail) #无需再次生成列表 for i in range(len(tail)): if tail[i]==" ": print(" "*i,tail[i+1:])#切片,这是个copy,空间复杂度比较大。 showtail(12)

结果为:

Python中用那个关键字定义函数 python函数以什么关键字定义_Python中用那个关键字定义函数_04

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有