• python函数介绍


    1、向函数传递信息

    1 def greet_user(username):
    2     print('Hello,' + username.title() + '!')
    3 greet_user('jesse')

    2、位置实参

    1 def greet_user(animal_type,pet_name):
    2     print('
    I have a' + animal_type + '.')
    3     print('My' + animal_type + 'name is' + pet_name.title() + '.')
    4 greet_user('hamster','harry')

    调用函数多次,可以根据调用的函数任意次

    def greet_user(animal_type,pet_name):
        print('
    I have a' + animal_type + '.')
        print('My' + animal_type + 'name is' + pet_name.title() + '.')
    greet_user('hamster','harry')
    greet_user('dog','wille')

    3、关键字实参

    关键字实参是传递给函数的名称--值对。因些向函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序。

    def greet_user(animal_type,pet_name):
        print('
    I have a' + animal_type + '.')
        print('My' + animal_type + 'name is' + pet_name.title() + '.')
    greet_user(animal_type='hamster',pet_name='harry')
    greet_user(pet_name='harry',animal_type='hamster')

    注意:使用关键字实参时,务必准确地指定函数定义中的形参名。

    4、返回值

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

    4.1 返回简单值

    def get_formatted(first_name,last_name):
        full_name=first_name + ' ' + last_name
        return full_name.title()
    musician =get_formatted('jimi','hendrix')
    print(musician)

    4.2 让实参变的可选

    def get_formatted(first_name,last_name,midddle_name=''):
        if midddle_name:
            full_name=first_name + ' '+ midddle_name + ' ' + last_name
        else:
            full_name=first_name + ' ' + last_name
            return full_name
    musician=get_formatted('jimi','hendirx')
    print(musician)
    # musician=get_formatted('john','hooker','lee')
    # print(musician)

    4.3 返回字典

    def build_person(first_name,last_name):
        person={'first':first_name,'last':last_name}
        return person
    musician=build_person('jimi','hendrix')
    print(musician)

     可选形参:

    def build_person(first_name,last_name,age=''):
        person={'first':first_name,'last':last_name}
        if age:
            person['age']=age
        return person
    musician=build_person('jimi','hendrix',age=27)
    print(musician)

    5、结合使用函数和while循环

    def get_formatted(first_name,last_name):
        full_name=first_name+ ' ' + last_name
        return full_name.title()
    while True:
        print('
     pls tell me your name:')
        print("(enter 'q' at any time to quit)")
        f_name=input('First name:')
        if f_name=='q':
            break
        l_name=input('Last name:')
        if l_name=='q':
            break
        formatted=get_formatted(f_name,l_name)
        print('
    Hello,' + formatted + '!')

     6、传递列表

    1 usernames=['hannah','ty','margot']
    2 def greet_users(username):
    3     for name in username:
    4         msg='Hello,' + name.title()
    5         print(msg)
    6 greet_users(usernames)

     

     

  • 相关阅读:
    BZOJ 1221 [HNOI2001] 软件开发 费用流_建模
    BZOJ 1180 / 2843 LCT模板题 + 双倍经验
    bzoj 4372: 烁烁的游戏 动态点分治+树链剖分+线段树
    bzoj 3730: 震波 动态点分治+树链剖分+线段树
    luogu P2634 [国家集训队]聪聪可可 点分治
    bzoj 1468: Tree 点分治
    bzoj 1296: [SCOI2009]粉刷匠 动态规划
    bzoj 1293: [SCOI2009]生日礼物 问题转化 + 性质分析 + 滚动数组优化
    BZOJ 1042: [HAOI2008]硬币购物 容斥原理+背包
    matplotlib模块
  • 原文地址:https://www.cnblogs.com/zhangzihong/p/6104690.html
Copyright © 2020-2023  润新知