重温Python基础——函数

哈喽兄弟们,今天来重温一下Python基础中的函数,看看你还记得多少!

定义函数

下面是一个打印问候语的简单函数

def greet_user():
    print("hello")
greet_user()

本例示例了一个非常简单的函数结构。第一行代码使用def告诉python,你要定义一个函数。这是函数定义,提出函数名,还可能在圆括号内指出函数需要完成任务需要的信息。在这里函数名为greet_user(),它不需要任何信息就能完成工作,因此括号是空的。

最后,定义以冒号结尾。

要使用这个函数,可以调用它人 要调用函数,可依次指定函数名以及用圆括号括起的必要信息。由于这个函数不需要任何信息,调用它只需要输入greet_user()即可。他会打印hello

向函数传递信息

def greet_user(name):
    print(f"hello,{
      
      name.title()}!")
greet_user("jack")

运行结果

hello,Jack!

代码greet_user(“jack”)调用函数greet_user(),并向它提供提供执行函数调用print()所需要的信息。

实参和形参

在函数 greet_user()的定义中,变量name是一个形参,即函数完成工作所需要的信息,在代码greet_user(“jack”)中,jack是一个实参,即调用函数时传递给函数的信息。调用函数时,将要让函数使用的信息放在圆括号内。在greet_user(“jack”)中,将实参“jack”传递给了函数greet_user(),这个值被赋给了形参name了。

传递实参

函数定义中可能包含多个形参,因此在调用函数时会包含多个实参。向函数传递实参的方式很多:可以使用位置实参,这要求实参的顺序和形参相同 ;也可使用关键词实参,其中每一个实参都由变量名和值组成。

在调用函数时,最简单的关联方式是基于实参的顺序,这种关联方式成为位置实参。
如果对于顺序理顺困难,可以使用关键词实参,它是传递给函数的名称对值。实参将名称和值相关联。所以向函数传递实参时不易混淆,关键词实参让你无需考虑函数调用中的实参顺序。

位置实参示例

def stu_name(name,score):
    print(f"\n{
      
      name} is a good student")
    print(f'a one {
      
      score}')

stu_name('张三','20200409')

运行结果

张三 is a good student
a one 20200409

关键字实参示例

def stu_name(name,score):
    print(f"\n{
      
      name} is a good student")
    print(f'a one {
      
      score}')

stu_name(score='20200409',name='张三')

运行结果

张三 is a good student
a one 20200409

可见,关键字实参相 对应的形参顺序不符,但依然可以达成我们想要的效果。

返回值

函数并非总是直接显示输出,它还可以处理一些数据,并返回一个或者一组值。函数返回的值称为返回值。在函数中,可使用return来返回值到调用函数的代码行。返回值让你将程序的大部分繁重工作移动到函数之中去完成,从而简化程序。

在函数外,使用result接收return所返回的值。

def fun1(lista):
    a=sum(lista)/len(lista)
    print("平均值:",a)
    return a
result=fun1([46,89,45,2,6,551,8,56])
print(result)

运行结果

平均值: 100.375
100.375

如果说不返回值,在函数外可以正常使用函数内的参数吗

def fun1(lista):
    a=sum(lista)/len(lista)
    print("平均值:",a)
#   return a
result=fun1([46,89,45,2,6,551,8,56])
print(result)

运行结果

平均值: 100.375
None

可见其结果在函数外并不能取得所值!
再如果说,不使用result接收返回值的话,直接打印a,将会出现1什么情况呢?
示例:

def fun1(lista):
    a=sum(lista)/len(lista)
    print("平均值:",a)
    return a
fun1([46,89,45,2,6,551,8,56])
print(a)

运行结果

平均值: 100.375
Traceback (most recent call last):
  File "C:\UsersDesktop\python\03.py", line 185, in <module>
    print(a)
NameError: name 'a' is not defined

函数外实参正常赋值给函数内形参,因此函数内可正常运行,但是函数外显示a并未被定义,出现报错。

将函数存储在模块中

使用函数的优点之一就是可以将代码块与主程序分离。通过给函数指定描述性名称,可让主程序容易理解的多。还可以更进一步,将函数存储在称为模块的独立文件中,在将模块导入到主程序中。import语句允许在当前运行的程序文件中使用模块中的代码。
通过将函数存储在独立的文件中,可隐藏代码的细节,将重点放在程序的高级逻辑层上,在还可以让你在众多的不同程序中重用函数,将程序存储在独立的文件中去,可与其他程序员1共享这些文件,而不是这些程序。知道如何导入函数还能让你使用其他程序员编写的数据库。

导入整个模块

要让函数是可导入的,得先创建模块,模块是扩展名以.py的文件,包含要导入到程序中的代码。

最后

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!直接在文末名片自取就好啦!
还会有大佬解答!

好了,今天的分享到这里差不多就结束了,如果对你有帮助的话,记得点赞收藏鸭~

猜你喜欢

转载自blog.csdn.net/ooowwq/article/details/127875342