189 8069 5689

python3.7函数基础知识有哪些

本篇内容介绍了“python3.7函数基础知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联主营阿拉尔网站建设的网络公司,主营网站建设方案,重庆APP开发公司,阿拉尔h5重庆小程序开发搭建,阿拉尔网站营销推广欢迎阿拉尔等地区企业咨询

一、函数

从开始接触python就接触了函数。 例如 input()函数用于获取用户键盘输入、print()函数用于输出结果、range()函数用于生成整数序列、len()函数用于获取序列的长度。不仅如此python还为我们提供了自定义函数。即将有规律,可重复使用的代码封装成函数,从而达到一次编写多次调用的结果。由此可见我们可以简单的认为函数是可以实现特定功能的代码块。

二、函数的定义

假如我们要求0-100之间的和应该怎么将其写成函数呢?

def sun():

a = 0

for i in list(range(101)):

a += i

print(a)

sun()

--------------------

5050

上述代码我们定义了一个函数实现0-100的求和。 而且得到了准确的结果。 首先用def关键字用来定义一个函数。后面跟一个函数名。 函数名顾名思义就是函数的名字。 这个名字是我们自定义的同样遵循命名规范。函数名后面的"()"表示参数列表。 具体会在下一个列子中讲到。 括号后面的是函数体即我们的求和功能。 程序的最后一行sun()称之为函数的调用。 定义了函数如果不调用就相当于不执行。简而言之也就无法生成求和的功能。

同时我们思考另一个问题。 不是说函数是可以重复利用的嘛。 很明显上述函数只能完成0-100的求和。 假如说要完成1-1000,或者0-300之间的求和,难道要继续写嘛。显然不是。

def sun(mag):

a = 0

for i in list(range(mag)):

a += i

print(a)

sun(1002)

sun(301)

501501

-----------------

45150

通过上述代码我们发现我们在示例1 的基础上在参数列表假如mag,这个成为参数。 关于参数后面还会具体讲到。 一个参数可以有多个参数。 参数与参数之间用逗号隔开。 与此同时我们吧range里原先的100换成了我们的参数。 此时不难发现我们在调用函数的时候分别在括号里填上了1001和301。 这样就实现了我们提出的求0-1000和0-300求个的功能。

那么我们有提出新的疑问。假如说我们不仅要实现求和。 然后还要将求出来的和参与别的运算。此时我们又应该怎么做呢?

def sun(mag):

a = 0

for i in list(range(mag)):

a += i

return a

b = sun(1002)

print(b)

c = b - 10000

print(c)

501501

------------------

491501

我们在示例2 的基础上又添加了return a 这句话的意思是把计算结果返回到函数调用的地方。这样我们就可以用个计算结果去做别的事了。

小结:

函数名:其实就是一个符合 Python 语法的标识符,但不建议读者使用 a、b、c 这类简单的标识符作为函数名,函数名最好能够体现出该函数的功能。

形参列表:即上面括号里的函数列表,设置该函数可以接收多少个参数,多个参数之间用逗号( , )分隔。

[return [返回值] ]:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定

三、函数的调用

到目前为止对函数的调用已经比较熟悉。 即 函数名(形参值),函数名即指的是要调用的函数的名称;形参值指的是当初创建函数时要求传入的各个形参的值,需要注意的是,创建函数有多少个形参,那么调用时就需要传入多少个值,且顺序必须和创建函数时一致。即便该函数没有参数,函数名后的小括号也不能省略。

四、pass语句

如果想定义一个什么事也不做的空函数,可以用pass语句.pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

def sun():

pass

五、为函数添加说明文档

函数不仅仅是给自己用的。 在一个团队中很可能其他人也要用到。 这时如果他不知道函数的功能就没法准确的调用。或者时隔很久要做维护和修改或者新员工要接手项目。 如果没写注释不仅效率低。而且有可能回成为吐槽的对象。 因此添加说明文档必不可少。例如

"""

功能:求指定序列的和

mag 要生成的序列的最大值

"""

def sun(mag):

a = 0

# 通过循环求和并返回结果

for i in list(range(mag)):

a += i

return a

b = sun(1002)

print(b)

六、参数检查

函数调用时如果参数的个数不对。python的解释器会自动检查出来

"""

功能:求指定序列的和

mag 要生成的序列的最大值

"""

def sun(mag):

a = 0

# 通过循环求和并返回结果

for i in list(range(mag)):

a += i

return a

b = sun()

print(b)

Traceback (most recent call last):

File "/Users/apple/Documents/重要文件/python3/python20.py", line 12, in

b = sun()

TypeError: sun() missing 1 required positional argument: 'mag'

但是参数的类型不对那么解释器就无能为力了。

def my_list(number):

print(list(range(number)))

my_list("10")

Traceback (most recent call last):

File "/Users/apple/Documents/重要文件/python3/python20.py", line 5, in

my_list("10")郑州正规人流医院 www.zykdrl120.com

File "/Users/apple/Documents/重要文件/python3/python20.py", line 3, in my_list

print(list(range(number)))

TypeError: 'str' object cannot be interpreted as an integer

显然我们要生成0-9的列表。而我们偏偏传入了字符串这时就会报错。此时内置函数isinstance()就派上用场了

def my_list(number):

if isinstance(number, int):

print(list(range(number)))

else:

print("只接受整型的数值")

my_list("10")

my_list(10)

只接受整型的数值

---------------

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

那么可不可以一个参数满足两个或者以上类型呢?当然可以

def my_list(number):

if isinstance(number, (int, float, str)):

print("我满足了条件")

else:

print("我不满足条件")

my_list("10")

my_list(10)

my_list((1, 2))

我满足了条件

我满足了条件

我不满足条件

七、函数返回多个值

def my_list():

return 10, 20, [1, 3]

a = my_list()

print(a)

(10, 20, [1, 3])

由上述例子可知函数是可以一次性返回多个值的。但是这个返回值是tuple

“python3.7函数基础知识有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站栏目:python3.7函数基础知识有哪些
分享地址:http://cdxtjz.cn/article/jedsop.html

其他资讯