pythonpython

python(14):函数(1)

2022-04-07  本文已影响0人  Z_bioinfo

1.定义函数

def greet_user():#使用关键字def告诉python定义一个函数,并向python指出函数名greet_user(),它不需要任何信息就能完成其工作,因此括号是空的,最后,定义以冒号结尾
    """显示简单的问候语"""
    print('hello!')#函数体,greet_user()只做一项工作,打印hello!

greet_user()#调用greet_user()函数
hello!

2.向函数传递信息

def greet_user(username):#在greet_user()的括号内添加username,就可让函数接受给username指定的任何值
    """显示简单的问候语"""
    print('hello, ' + username.title() + '!')

greet_user('da ming')#调用greet_user()函数,并向它执行print语句所需的信息,这个函数接受传递给它的名字,并向这个人发出问候
hello, Da Ming!

3.形参和实参

前面定义函数greet_user()时,要求给变量username指定一个值,调用这个函数并提供这种信息(人名)时,它将打印相应的问候语。
在函数greet_user()种,变量username是一个形参,函数完成其工作所需要的一项信息。在代码greet_user('da ming')中,值'da ming'是一个实参。实参时调用函数时传递给函数的信息。
在调用函数时,将要让函数使用的信息放在括号内,在greet_user('da ming')中,将实参'da ming'传递给函数greet_user(),这个值被存贮在形参username中。

4.传递实参

鉴于函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。
向函数传递实参的方式有很多,可使用位置实参,这要求实参的顺序与形参的顺序相同;也可使用关键字实参,其中每个实参都由变量名和值组成;还可以使用列表和字典

###1.位置实参,要求实参的顺序与形参的顺序相同
def describe_pet(animal_type, pet_name):
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet('dog', 'bei bei')
I have a dog.
my dog 's name is bei bei.
#调用函数多次
def describe_pet(animal_type, pet_name):
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet('dog', 'bei bei')
describe_pet('cat', 'ni ni')#再调用一次describe_pet()即可
I have a dog.
my dog 's name is bei bei.

I have a cat.
my cat 's name is ni ni.
=========================================
#2.关键字实参:传递给函数的名称-值对,无需考虑函数调用的实参顺序,还清楚的指出了函数调用中各个值的用途
def describe_pet(animal_type, pet_name):
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet(animal_type = 'dog', pet_name =  'bei bei')
I have a dog.
my dog 's name is bei bei.
=================================
#3.默认值
#编写函数时,可以给每个形参指定默认值,在调用函数中给形参提供了实参时,python将使用指定的实参值;否则,将使用形参的默认值,
def describe_pet(animal_type, pet_name = 'bei bei'):#默认名字叫'bei bei'
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet(animal_type = 'dog')
#或者更简单的语句
def describe_pet(animal_type, pet_name = 'bei bei'):#默认名字叫'bei bei'
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet('dog')
I have a dog.
my dog 's name is bei bei.
#如果要描述的动物名字不叫'bei bei'
def describe_pet(animal_type, pet_name = 'bei bei'):#默认名字叫'bei bei'
    """显示宠物的信息"""
    print('\nI have a ' + animal_type + '.')
    print('my ' + animal_type + " 's name is " + pet_name + '.')
describe_pet(animal_type = 'dog', pet_name =  'ni ni')
I have a dog.
my dog 's name is ni ni.

上一篇下一篇

猜你喜欢

热点阅读