百木园-与人分享,
就是让自己快乐。

python中的函数

函数是带名字的代码块,要执行函数定义的特定任务,可调用该函数。

需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用执行该任务的函数,
通过使用函数,程序的编写、阅读、测试和修复都将更容易。主程序文件的组织更为有序

一、如何定义一个函数

使用关键字 def 来定义一个函数。

def greeting_user():
    print(\"Hello!,Welcome to Python World!\")   
greeting_user()

如上述代码:第一行定义一个函数greeting_user,第二行为函数的功能,即打印字符串 \"Hello!,Welcome to Python World!\"

第三行,即调用函数greeting_user,作用就是打印字符串。

1)向函数传递信息

稍作修改,在函数定义 def greeting_user() 的括号内添加 username ,可让函数接受所给定 username 指定的任何值。

这个函数就可以调用给 username 指定一个值,调用 greeting_user() 时,可将一个名字传递给它,如下所示:

 

def greeting_user(username):
    print(\"Hello!,Welcome \"+ username.title() + \" use Python programing language!\")

greeting_user(\'Bush\')
greeting_user(\'Jack\')
greeting_user(\'Lucy\')

代码 greeting_user(\'Bush\') 调用函数 greeting_user() ,并向它提供执行 print 语句所需的信息。这个函数接受你传递给它的名字

 2)实参和形参

前面定义函数 greeting_user() 时,要求给变量 username 指定一个值。调用这个函数并提供这种信息(人名)时,它将打印相应的问候语。
在函数 greeting_user() 的定义中,变量 username 是一个形参函数完成其工作所需的一项信息

在代码 greeting_user(\'Bush\') 中,值 \'Bush\'、‘Jack’、‘Lucy’ 是一个实参。实参是调用函数时传递给函数的信息

调用函数时,将要让函数使用的信息放在括号内。在greeting_user(\'Bush\') 中,将实参\'Bush\' 传递给了函数 greeting_user() ,这个值被存储在形参 username 中。

  

二、实参

1)位置实参

由于通常函数中,会存在多个形参,调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。为此,最简单的关联方式是基于实参的顺序。这种关联方式被称为位置实参。

def my_pet(animal_type, pet_name): 
    print(\"\\nI have a \" + animal_type + \".\")
    print(\"My \" + animal_type + \"\'s name is \" + pet_name.title() + \".\")

my_pet(\'dog\', \'Wangcai\')

 上述代码中,my_pet()函数中存在两个形参,即animal_type和pet_name,也就是在调用函数my_pet()时,需要2个参数,即在my_pet(\'dog\', \'Wangcai\')中,将‘dog’存入到animal_type中,‘Wangcai’存入到pet_name中,并在my_pet()中的两个print语句中进行调用 。

注意:使用位置实参来调用函数时,如果实参的顺序不正确,结果会出错。

2)关键字实参

关键字实参是传递给函数的名称-值对。直接在实参中将名称和值关联起来,函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。

my_pet(animal_type=\'dog\', pet_name=\'Wangcai\')
my_pet(pet_name=\'Xiaoqiang\',animal_type=\'cockroach\')

函数 my_pet() 还是原来那样,但调用这个函数时,向Python明确地指出了各个实参对应的形参。注意:上述两个形参位置改变,在赋值的情况下,不影响程序运行。

运行结果

I have a dog.
My dog\'s name is Wangcai.

I have a cockroach.
My cockroach\'s name is Xiaoqiang.

  

3)默认值
编写函数时,可给每个形参指定默认值。如果在调用函数中给形参提供了实参,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参

def my_new_pet(new_pet_name,new_animal_type=\'dog\'): 
    print(\"\\nI have a \" + new_animal_type + \".\")
    print(\"My \" + new_animal_type + \"\'s name is \" + new_pet_name.title() + \".\")

my_new_pet(new_pet_name=\'Wangcai\')
my_new_pet(new_pet_name=\'Xiaoqiang\')
my_new_pet(new_pet_name=\'Xiaoqiang\',new_animal_type=\'cockroach\')

运行结果:

I have a dog.
My dog\'s name is Wangcai.

I have a dog.
My dog\'s name is Xiaoqiang.

I have a cockroach.
My cockroach\'s name is Xiaoqiang.

 第一、二个my_new_pet()函数调用只给定了两个名字,没有给定动物类型,则函数采用默认类型‘dog’,第三个函数调用给定的new_animal_type=\'cockroach\',则函数中两个打印调用给定的cockroach类型。

实际运行结果:

 


来源:https://www.cnblogs.com/codingchen/p/16157832.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python中的函数

相关推荐

  • 暂无文章